初心者でもできる!GASでJSONデータをGoogleスプレッドシートに書き込む方法

パソコンパソコン・スマホ教室
スポンサーリンク

スプレッドシートにデータを手動で入力するのは面倒ですよね。特に、外部のAPIから取得したJSONデータをスプレッドシートに反映させたいとき、どうすればいいのか悩む方も多いのではないでしょうか。今回は、Google Apps Script(GAS)を使って、JSONデータをスプレッドシートに自動で書き込む方法を、初心者にもわかりやすく解説します。

スポンサーリンク

JSONデータとは?

Googleスプレッドシートのイメージ

Googleスプレッドシートのイメージ

JSON(JavaScript Object Notation)は、データを保存・送信するための軽量なフォーマットです。人間にも読みやすく、プログラムでも扱いやすいのが特徴です。例えば、以下のようなデータがJSON形式です。

{
  "name": "田中太郎",
  "age": 30,
  "city": "東京"
}

このようなデータを、スプレッドシートに書き込む方法を学びましょう。

GASでJSONデータをスプレッドシートに書き込む手順

スプレッドシートを準備する

まず、Googleスプレッドシートを開きます。シートの1行目に、データの項目名(例name、age、city)を入力します。

スクリプトエディタを開く

スプレッドシートのメニューから「拡張機能」→「Apps Script」を選択し、スクリプトエディタを開きます。

スクリプトを記述する

以下のコードをスクリプトエディタに貼り付けます。

function writeJsonToSheet() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var jsonData = [
    {"name": "田中太郎", "age": 30, "city": "東京"},
    {"name": "山田花子", "age": 25, "city": "大阪"}
  ];

  jsonData.forEach(function(item) {
    sheet.appendRow);
  });
}

このスクリプトは、jsonDataという配列に格納されたデータを、スプレッドシートに1行ずつ追加していきます。

スクリプトを実行する

スクリプトエディタの上部にある再生ボタンをクリックして、スクリプトを実行します。初めて実行する際は、Googleアカウントの認証が求められるので、指示に従って許可してください。

結果を確認する

スプレッドシートに戻ると、jsonDataの内容が1行ずつ書き込まれているのが確認できます。

応用外部APIから取得したJSONデータをスプレッドシートに書き込む

外部のAPIからJSONデータを取得し、それをスプレッドシートに書き込むことも可能です。以下のコードをスクリプトエディタに追加します。

function fetchDataAndWriteToSheet() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var url = 'https://jsonplaceholder.typicode.com/users';
  var response = UrlFetchApp.fetch(url);
  var jsonData = JSON.parse(response.getContentText());

  jsonData.forEach(function(user) {
    sheet.appendRow);
  });
}

このスクリプトは、外部API(ここではjsonplaceholder.typicode.com)からユーザー情報を取得し、名前、メールアドレス、住所をスプレッドシートに書き込みます。

よくある質問や疑問

Q1: JSONデータの形式が複雑な場合、どうすればいいですか?

JSONデータがネストされている場合、データをフラットにする必要があります。再帰的にネストを解消する関数を作成し、各階層のデータを取り出して書き込むことができます。

Q2: スプレッドシートに書き込む際、特定のセルから開始したい場合はどうすればいいですか?

`sheet.getRange(row, col)`を使用して、特定のセルを指定できます。例えば、`sheet.getRange(2, 1)`はセルを指します。

Q3: JSONデータをスプレッドシートに書き込む際、ヘッダー行を自動で作成できますか?

はい、スクリプト内でヘッダー行を追加することができます。最初に`sheet.appendRow);`のようにヘッダーを追加し、その後にデータを書き込むと良いでしょう。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

Google Apps Scriptを使うことで、JSONデータを簡単にGoogleスプレッドシートに書き込むことができます。これにより、外部データの取り込みや自動化が可能になり、業務の効率化が図れます。ぜひ、今回の手順を試してみてください。

他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。

コメント

タイトルとURLをコピーしました