マークダウンプラグインと計算式プラグインの連携で、ガントチャートを表示してみます。
概要
マークダウンプラグインは、Mermaid ライブラリの書式でチャートやグラフを表示できます。
計算式プラグインで、テーブルデータからガントチャートを表示してみます。
レコード追加時に、計算式プラグインでテーブルにガントチャートの初期設定を行います。
- セクション: ガントチャートの左に表示
- タスクID: タスクにつけるユニークID
- 依存ID: 先行するタスクIDを指定。複数のタスクIDを空白で区切って指定可能
- タスク名
- 開始日: タスクの開始日
- 期間: タスクの期間(日)
- 重要: チェックでタスクを赤表示
- マイルストーン
- 状態: Active, Done
操作例
テーブルの変更が即ガントチャートに反映されます。
アプリ設定
マークダウンプラグイン設定
計算式プラグイン設定
OPTION: 非同期計算
// テーブル SUBTABLE (editable)
"[
{'セクション':'企画','タスクID':'a1','タスク名':'プロジェクト計画','開始日':'"&DATE_FORMAT("TODAY","YYYY-MM-DD")&"','期間':'14','依存ID':'','重要': ['Y'
],'マイルストーン': [],'状態':''
},
{'セクション':'要件定義','タスクID':'b1','タスク名':'要件定義','開始日':'','期間':'7','依存ID':'a1','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'設計','タスクID':'c1','タスク名':'基本設計','開始日':'','期間':'7','依存ID':'b1','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'設計','タスクID':'c2','タスク名':'詳細設計','開始日':'','期間':'14','依存ID':'c1','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'開発','タスクID':'d1','タスク名':'実装','開始日':'','期間':'14','依存ID':'c2','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'テスト','タスクID':'e1','タスク名':'単体テスト','開始日':'','期間':'14','依存ID':'d1','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'テスト','タスクID':'e2','タスク名':'結合テスト','開始日':'','期間':'14','依存ID':'e1','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'リハーサル','タスクID':'f1','タスク名':'運用リハーサル計画','開始日':'','期間':'7','依存ID':'e1','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'リハーサル','タスクID':'f2','タスク名':'運用リハーサル','開始日':'','期間':'7','依存ID':'e2 f1','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'リリース','タスクID':'g1','タスク名':'本番リリース','開始日':'"&DATE_ADD("TODAY",105,"day","YYYY-MM-DD")&"','期間':'1','依存ID':'e2 f2','重要': ['Y'
],'マイルストーン': ['Y'
],'状態':''
},
{'セクション':'保守','タスクID':'h1','タスク名':'運用・サポート','開始日':'"&DATE_ADD("TODAY",105,"day","YYYY-MM-DD")&"','期間':'14','依存ID':'e2 f2','重要': [],'マイルストーン': [],'状態':''
}
]"
// 文字列複数行1 MULTI_LINE_TEXT
LET(
sec,"",
tasks, ARRAY(),
dummy, TARRAYIF(セクション,
ARRAY(IF(sec!=セクション,
ARRAY(FSET(sec, セクション),FSET(tasks, ARRAY(tasks," section "&セクション)))
),
FSET(tasks, ARRAY(tasks,
" "&タスク名 & " :"&
IF(重要="Y","crit, ")&
IF(マイルストーン="Y","milestone, ")&
SWITCH(状態,"Active","active, ","Done","done, ","")&
タスクID &", " & NVL(DATE_FORMAT(開始日,"YYYY-MM-DD"),"after" & " " & 依存ID) &
", " & 期間 & "d" )
)
)
),
JOIN(ARRAY(
"### 🏢 ガントチャート(Gantt Chart)",
"",
"```mermaid",
"gantt",
" title "&NVL(タイトル,"ガントチャート(Gantt Chart)"),
" dateFormat YYYY-MM-DD",
tasks,
"```"
),NEWLINE())
)
テーブル初期設定の作成
あらかじめ、テンプレートになる計画をテーブルに設定します。
計算式プラグインの計算式ツールで、テーブルから JSON 文字列を取得して、テーブルの計算式にセットします。
※日付等は、当日等の計算式に置き換えます。
- 計算式
REPLACEALL(OTVAL(テーブル),DQUOTE(),"'")
- 計算結果
[
{'セクション':'企画','タスクID':'a1','タスク名':'プロジェクト計画','開始日':'2025-10-11','期間':'14','依存ID':'','重要': ['Y'
],'マイルストーン': [],'状態':''
},
{'セクション':'要件定義','タスクID':'b1','タスク名':'要件定義','開始日':'','期間':'7','依存ID':'a1','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'設計','タスクID':'c1','タスク名':'基本設計','開始日':'','期間':'7','依存ID':'b1','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'設計','タスクID':'c2','タスク名':'詳細設計','開始日':'','期間':'14','依存ID':'c1','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'開発','タスクID':'d1','タスク名':'実装','開始日':'','期間':'14','依存ID':'c2','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'テスト','タスクID':'e1','タスク名':'単体テスト','開始日':'','期間':'14','依存ID':'d1','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'テスト','タスクID':'e2','タスク名':'結合テスト','開始日':'','期間':'14','依存ID':'e1','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'リハーサル','タスクID':'f1','タスク名':'運用リハーサル計画','開始日':'','期間':'7','依存ID':'e1','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'リハーサル','タスクID':'f2','タスク名':'運用リハーサル','開始日':'','期間':'7','依存ID':'e2 f1','重要': [],'マイルストーン': [],'状態':''
},
{'セクション':'リリース','タスクID':'g1','タスク名':'本番リリース','開始日':'2026-01-24','期間':'1','依存ID':'e2 f2','重要': ['Y'
],'マイルストーン': ['Y'
],'状態':''
},
{'セクション':'保守','タスクID':'h1','タスク名':'運用・サポート','開始日':'2026-01-24','期間':'14','依存ID':'e2 f2','重要': [],'マイルストーン': [],'状態':''
}
]