「AIがExcelも読めるなら、わざわざJSON化する意味ある?」
そう思いながらも、スプレッドシートからJSONデータを生成するウェブアプリ(Google Apps Script製)を作りました。
実は作ってみて気づいたんです。JSONには、Excelにはない「使い道」があることに。
作ったもの:スプレッドシート→JSON変換ツール
機能はシンプルです。スプレッドシートのデータを読み込んで、ヘッダー行と任意の行数(デフォルト5行)をJSON形式に変換。ボタン一つでコピーできます。
なぜ作ったのか。ClaudeやChatGPTにコード生成を依頼するとき、いつもスプレッドシートの構造を説明するのが面倒でした。
「列Aが顧客名で、列Bが会員番号で、列Cが...」
これを毎回説明するのは非効率。JSONなら構造が一目瞭然なので、会話がスムーズになると思ったんです。
でも作ってから疑問が湧いた
「そもそもAIってExcelも読めるよね?」
調べてみると、ClaudeもChatGPTも、Excelファイルを直接読み込めます。CSVも画像も読める。つまり、わざわざJSON化する必要ないのでは...?
一瞬、作ったツールが無駄に思えました。
でも、実際に使ってみたら違った
JSON化ツールを使い続けてみて、Excelにはない明確なメリットがあることに気づきました。
メリット1:会話がスムーズ
Excelファイルを渡した場合、AIとのやり取りはこうなります。
私「このファイルの構造を理解して、GASコードを書いて」とExcelを添付。
AI「列Aが顧客名、列Bが年齢ですね」
私「いや、列Bは会員番号です」
AI「失礼しました。修正します...」
何往復か必要です。
一方、JSONで構造を渡した場合はこうです。
私「以下の構造のデータがあります」とJSON(顧客名、会員番号、登録日のサンプル)を貼り付けて「これを処理するGASコードを書いてください」
AI「了解です。このコードで処理できます...」
一発で完璧なコードが生成されます。
なぜこんなに差が出るのか。JSONはキー名がそのまま項目名で、値の型も分かります。Excelだと、AIが列の意味を「推測」する必要があるんです。
メリット2:個人情報を守れる
実際の顧客データを扱うとき、全データをAIに渡すのは危険です。
JSON化ツールなら、構造だけ抽出(5行サンプル)して、実際の個人情報は含めません。でも必要なコードは書いてもらえる。
これは予想外の副次効果でした。
メリット3:トークン効率が圧倒的
1000行のスプレッドシートの場合、Excel全体だと約50,000トークン使います。JSON 5行サンプルなら約500トークン。100分の1です。
API利用時、この差は料金に直結します。無料枠も節約できるし、レスポンスも速い。
メリット4:チーム共有が楽
JSONはテキストなので、Slackに貼り付けられる、ドキュメントに記載できる、メールで送信できる、Gitで差分管理できる。
Excelファイルだと、いちいち添付が必要で面倒です。
実際の使用例:5つのケース
作ったツールを実際に使ってみて、特に便利だったケースを紹介します。
ケース1:GASコードの生成
1000行の顧客データを処理するGASが欲しいとき。ツールで5行サンプルをJSON化して、ClaudeにJSON と依頼内容を送信。完璧なコードが初回で生成されます。
試行錯誤なしで正確なコードが得られるし、個人情報を渡さずに済みます。
ケース2:API連携の実装
スプレッドシートのデータを外部APIに送信したいとき。「スプレッドシートのデータはこれ」とツールで生成したJSONを見せて、「送信先APIの仕様はこれ」とAPI仕様のJSONを見せる。「この変換を行うGASコードを書いてください」
両方JSON形式なので、対応関係が一目瞭然です。
ケース3:データ構造のドキュメント化
チームで開発中、スプレッドシートの構造を共有したいとき。NotionやドキュメントにJSONを貼り付けます。
「顧客マスタの構造」というタイトルで、顧客ID、顧客名、担当者、メールアドレスのJSONを記載。
検索可能で、バージョン管理(Git)で差分が見えて、Slackで気軽に共有できます。
ケース4:エラーのデバッグ
10,000行のCSVの特定行でエラーが出たとき。エラー行だけをツールでJSON化して質問します。
「5000行目でエラーです」と該当行のJSONを見せて「金額に文字列が入っていますが、他にも同様のエラーがないか確認してください」
ピンポイントでデバッグできます。
ケース5:定期的に構造が変わるデータ
毎月フォーマットが微妙に変わるデータを扱うとき。
先月は「先月のデータ構造です」とJSONを見せる。今月は「今月は備考列が追加されました」と新しいJSONを見せる。
会話の流れで柔軟に対応できます。Excelだと毎回ファイル添付が必要。
ツールの実装ポイント
参考までに、実装で工夫したポイントを共有します。
ポイント1:行数を選択可能に
デフォルトは5行ですが、変更可能にしました。複雑なデータなら10行、シンプルなら3行など調整できます。
ポイント2:型の自動判定
数値、日付、文字列を自動判定します。AIが正確に型を理解できるように。
ポイント3:コピーボタン
ボタン一つでClaudeに貼り付けられるようにしました。
使ってみてわかった「JSONの使い道」
作る前は「AIにコード生成してもらうだけ」だと思っていました。
でも実際には、もっと広い使い道がありました。
◇使い道1:AIとの対話
構造を正確に伝えられる。トークンを節約できる。会話がスムーズになる。
◇使い道2:ドキュメント化
仕様書に記載できる。チーム内で共有しやすい。バージョン管理できる。
◇使い道3:セキュリティ
個人情報を含めない。構造だけ共有できる。社外への説明にも使える。
◇使い道4:API連携
JSON同士で対応関係が明確。実装がスムーズ。
◇使い道5:デバッグ
エラー箇所だけ抽出できる。ピンポイントで原因特定できる。
結論:JSONにしかできないことがある
「AIが全部読めるから、JSON化は不要」
これは半分正しくて、半分間違いでした。
Excelが最適な場面もあります。データ分析で全データが必要なとき。集計やグラフ生成。複雑な計算。
JSONが最適な場面もあります。コード生成で構造だけで十分なとき。チーム共有でテキストで扱いやすいとき。個人情報保護でサンプルだけで済むとき。トークン節約でAPI料金を削減したいとき。ドキュメント化で検索・管理しやすくしたいとき。
つまり、使い分けが重要なんです。
まとめ:作ってよかった
最初は「本当に必要?」と疑問でしたが、使ってみて確信しました。
スプレッドシートからJSON変換ツールには、確実に価値がある。
特にAIにコード生成を頼む機会が多い人、チームで開発している人、個人情報を扱う人、API料金を節約したい人。こういった人には、間違いなく役立つツールです。