この記事では、Googleスプレッドシートで管理している階層データを、D3.js を使ってブラウザ上にツリー構造で可視化する方法をご紹介します。
表示イメージ
スプレッドシート
元のデータです。

スプレッドシートの情報を元に階層表示

複数の階層表示にも対応しています。
さらに、ノードをホバーした際に補足情報をツールチップで表示するようカスタマイズしています。
目次
スプレッドシートの作成
まずはスプレッドシートを用意。
たとえば以下のとおり。
グループ名 | nodeId | parentId | ノード名 | 補足情報 |
---|---|---|---|---|
猫カフェにゃんた | sample | 店舗本部 | 住所、責任者、営業時間 | |
猫カフェにゃんた | sample/猫管理 | sample | 猫管理エリア | 名前、年齢、性格 |
猫カフェにゃんた | sample/猫管理/ミケ | sample/猫管理 | ミケ | 3歳、甘えん坊、♀ |
猫カフェにゃんた | sample/猫管理/タマ | sample/猫管理 | タマ | 2歳、活発、♂ |
猫カフェにゃんた | sample/設備管理 | sample | 設備管理 | 空調、清掃、備品 |
猫カフェにゃんた | sample/予約管理 | sample 1 Variant | 予約・顧客管理 | 予約一覧、会員カード |
あとは拡張機能からAPP Scriptを選択してコードを記載するだけです。

以下、やり方です。
GAS│コードの構成
index.html
で<svg>
を配置js.html
に CSSによる描画ロジックを記述js.html
に D3.js による描画ロジックを記述main.gs
で Apps Script 経由でシートを取得

コード全文
※以下のコードを貼り付けてください。