📝 概要
Google スプレッドシート上で 指定した範囲のデータを JSON に変換 するカスタム関数を作成します!
例えば、以下のような表を JSON 文字列 に変換できます。
A列 (キー) | B列 (値) |
---|---|
名前 | 山田 |
年齢 | 30 |
性別 | 男性 |
出身地 |
#N/A (エラー) |
職業 | エンジニア |
👇 これをスプレッドシートの セル関数 で一発変換!
{"名前":"山田","年齢":30,"性別":"男性","出身地":"エラー","職業":"エンジニア"}
これにより、スプレッドシートで管理しているデータを API や Web アプリで使いやすい形 に整形できます。
🎯 実装する関数の仕様
-
=convertToJSON(A1:A5, B1:B5)
- 範囲A(キー) → JSON の「キー」になる
- 範囲B(値) → JSON の「値」になる
-
エラー値(
#N/A
など) →"エラー"
に変換 -
JSON 文字列 (
JSON.stringify
) を返す - キーが空の場合は無視する
💻 Google Apps Script(GAS)のコード
Google スプレッドシートの スクリプトエディタ に以下のコードを貼り付けてください。
📌 コード
function convertToJSON(keysRange, valuesRange) {
try {
// キーと値の配列を取得
var keys = keysRange.flat(); // 二次元配列を一次元に変換
var values = valuesRange.flat();
// JSON オブジェクト作成
var jsonObject = {};
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
var value = values[i];
if (key !== "" && key !== null && key !== undefined) { // 空キーは無視
if (typeof value === "object" && value !== null) { // エラー処理
jsonObject[key] = "エラー";
} else {
jsonObject[key] = value;
}
}
}
// JSON 文字列として返す
return JSON.stringify(jsonObject);
} catch (e) {
return "エラー: " + e.message;
}
}
🛠 使い方
- スプレッドシートを開く
- 「拡張機能」 > 「Apps Script」 を開く
- スクリプトエディタに上記コードを貼り付け
- スプレッドシートで関数を実行!
=convertToJSON(A1:A5, B1:B5)
✅ 実行例
📌 入力
A列 (キー) | B列 (値) |
---|---|
名前 | 山田 |
年齢 | 30 |
性別 | 男性 |
出身地 |
#N/A (エラー) |
職業 | エンジニア |
📌 出力
{"名前":"山田","年齢":30,"性別":"男性","出身地":"エラー","職業":"エンジニア"}
📌 ポイント
- キーが空のセルは スキップ
- エラー (
#N/A
,#DIV/0!
など) は"エラー"
に変換 - そのまま JSON API で使えるフォーマット
🎉 まとめ
✅ Google スプレッドシート + GAS で JSON を簡単に生成!
✅ セル関数で JSON に変換できるので、誰でも使いやすい!
✅ エラー処理付きで安全に動作!
この関数を使えば、スプレッドシートで管理しているデータを JSON として扱いやすくなります 🚀
データの整形や API 連携にも役立つので、ぜひ試してみてください! 💡