GASで配列を自在に操る方法!2次元配列・要素追加・結合まで一括解説

Google Apps Script(GAS)で配列を上手に扱えると、データ整理や業務自動化の効率が大幅に上がります。単純なリスト管理から、スプレッドシートの行列を操作する2次元配列まで、配列の知識は実務で必須です。この記事では「配列の初期化から要素の追加・取り出し・結合」まで、ビジネス現場で役立つ具体例を交えて解説します。


目次

配列を初期化して格納する方法を理解する

なぜ配列の初期化が大切か

配列とは「複数の値をまとめて管理できる箱」のようなものです。エクセルやスプレッドシートの列や行を扱う際に、データを1つずつ処理するのではなく、まとめて操作できるようになります。特にgas 配列 初期化を正しく行わないと、後から格納や取り出しをするときに思わぬエラーに繋がることがあります。

配列の初期化パターン

  • 空の配列を用意する: let arr = [];
  • 値を入れておく: let arr = [1, 2, 3];
  • 長さだけを指定する: let arr = new Array(5);

このように状況によって初期化方法を使い分けられると便利です。

ビジネス現場での事例

ある営業チームでは、毎日集計される顧客対応ログをGASで処理していました。最初に空の配列を初期化し、日次ログを順次格納することで「新規顧客」「フォロー中顧客」を自動で分類できる仕組みを実現しました。もし初期化を忘れてしまうと、前日のデータが残ってしまい誤集計につながるリスクがありました。

他業種・海外の比較

海外のエンジニアブログでも、初期化の重要性は繰り返し指摘されています。特に金融業界では「不要なデータが残らない」ことが強く求められるため、初期化を徹底するのが常識となっています。

実践手順

  1. 配列を使う目的を整理する
  2. 空配列・値入り配列・長さ指定のどれが適切か選ぶ
  3. 格納する前に必ず初期化する

注意点・失敗事例

新人エンジニアがlet arr;だけで始めてしまい、未定義の配列に値を入れようとしてエラーが頻発しました。必ず[]で初期化する癖をつけましょう。


配列に要素を追加して業務データを広げる方法

背景と必要性

業務では「データが増えていく」ことが日常茶飯事です。新しい顧客リストや最新の売上データを配列に追加する場面は多いでしょう。gas配列 追加の方法を知っておくと、都度データを追加しながら処理できます。

代表的な追加方法

  • push()で末尾に追加
  • unshift()で先頭に追加
  • 指定位置に挿入する場合はsplice()
let arr = [1, 2, 3];
arr.push(4); // [1,2,3,4]
arr.unshift(0); // [0,1,2,3,4]

ビジネス現場での事例

経理部門では毎月の経費データを配列に格納し、月末に一括処理しています。pushを使うことで「その日に発生した経費を追加」し、処理の最後に全体を集計する流れを自動化しました。

メリットとデメリット

  • メリット: データをリアルタイムで積み重ねられる
  • デメリット: 不要なデータまで残してしまうと、後で処理が重くなる

海外の実務での比較

米国のスタートアップでは、顧客のアクションログを常に配列に追加し、ダッシュボードにリアルタイムで反映しています。逆に日本企業では、1日の終わりにまとめて処理することが多い印象です。

実践手順

  1. 空配列を用意
  2. 新しいデータが発生したらpushで追加
  3. 必要に応じてunshiftやspliceを使い分ける

注意点と失敗例

あるチームでpushを使い続けた結果、配列の要素数が数万件に膨らみ、処理が極端に遅くなったことがありました。定期的に古いデータを削除する仕組みを作ると安全です。


配列から要素を取り出して活用する方法

背景と必要性

データを配列に格納しただけでは意味がありません。業務で必要になるのは「必要な要素を正しく取り出す」ことです。gas配列 取り出しを理解すれば、分析やレポート作成がスムーズになります。

基本的な取り出し方

  • インデックスを指定する: arr[0]で最初の要素
  • pop()で末尾を取り出す
  • shift()で先頭を取り出す
let arr = ["A", "B", "C"];
Logger.log(arr[1]); // B
Logger.log(arr.pop()); // C
Logger.log(arr.shift()); // A

ビジネス現場での事例

マーケティング部門では、広告配信データをGASで収集し、最初の要素だけを取り出して「最新の広告効果」をダッシュボードに表示していました。

他業種の比較

製造業では最新のセンサー情報をリアルタイムで取り出すことが重要です。一方、教育業界では過去データを順番に取り出して分析するケースが多く、取り出し方の使い分けが見られます。

メリットとデメリット

  • メリット: 必要な情報をピンポイントで抽出できる
  • デメリット: 誤ったインデックス指定で意図しない値を取得してしまう

実践手順

  1. 配列の要素数を把握する (arr.length)
  2. 必要な位置を確認し、インデックスを指定
  3. 複数取り出す場合はループ処理を活用

注意点と失敗例

ある営業チームでは、配列のインデックスを誤って指定し、顧客リストの「古いデータ」を参照してしまいました。その結果、最新顧客への対応が漏れてクレームにつながったのです。配列 要素数を常にチェックしてから取り出す習慣を持ちましょう。

2次元配列を宣言してスプレッドシートを操作する方法

背景と理由

Google Apps Scriptを使うときに最もよく出てくるのが、スプレッドシートの行列データです。シートの内容を一括で取得すると、必ず「gas 配列 2次元」として扱われます。これは、行と列が組み合わさった二次元の表形式のデータだからです。正しくgas 二次元配列 宣言を理解しないと、意図しないデータ処理になりやすいので注意が必要です。

宣言方法とサンプルコード

let arr2D = [
  ["名前", "年齢", "部署"],
  ["田中", 30, "営業"],
  ["佐藤", 25, "企画"]
];

このように行ごとに配列をまとめると、スプレッドシートと同じ形式でデータを扱えます。

また、スプレッドシートから直接取得する場合は以下のようになります。

let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let values = sheet.getDataRange().getValues(); // 2次元配列として取得

ビジネス現場での事例

人事部門で「社員名簿」を管理している企業では、GASで全シートのデータを一度に取得し、二次元配列として扱うことで「年齢別の平均値」や「部署ごとの人数」を自動集計しました。手作業で行えば数時間かかる作業が、数秒で完了するようになったのです。

他業種との比較

海外の物流企業では、輸送記録をすべてスプレッドシートに蓄積し、GASで二次元配列を処理して配送ルート最適化に活用しています。一方で国内の中小企業では、まだ手作業で処理しているケースも多く、二次元配列の自動化を導入するだけで大幅な効率化が可能です。

メリットとデメリット

  • メリット: 表形式データを一括で処理できる
  • デメリット: インデックス指定が複雑になり、誤りやすい

実践手順

  1. スプレッドシートからgetValues()でデータを取得
  2. 配列の構造を確認し、行列インデックスを把握
  3. 必要に応じてループ処理で要素を操作

注意点と失敗例

あるチームでは、二次元配列を一行ずつ処理していたため、処理速度が極端に遅くなりました。getValuesでまとめて取得し、一度に処理するほうが圧倒的に効率的です。


配列を結合してデータをまとめる方法

背景と必要性

データ処理をしていると「複数の配列をひとつにまとめたい」という場面がよくあります。例えば「今月の売上データ」と「先月の売上データ」を結合して一度に分析したいケースです。ここで活躍するのがGAS配列 結合の知識です。

代表的な結合方法

  • concat()で配列を結合
  • spread構文でまとめる
let arr1 = [1,2,3];
let arr2 = [4,5,6];
let result = arr1.concat(arr2); // [1,2,3,4,5,6]
let result2 = [...arr1, ...arr2]; // [1,2,3,4,5,6]

ビジネス現場での事例

営業部とマーケティング部がそれぞれ顧客リストを持っていた企業では、配列を結合することで「重複のない統合顧客リスト」を作成しました。その結果、部署間での連絡漏れが減り、対応スピードが上がったといいます。

海外との比較

米国のEC企業では、複数国の売上データを毎日結合し、統合ダッシュボードに反映しています。結合を自動化しているので、担当者は分析に集中できるのが特徴です。

メリットとデメリット

  • メリット: データの一元管理が可能
  • デメリット: 結合する配列に重複があると二重カウントになる可能性がある

実践手順

  1. 結合する配列を用意
  2. concatかspread構文で結合
  3. 必要に応じてSetオブジェクトで重複を排除

注意点と失敗例

ある企業では、顧客データを結合した際に重複がそのまま残ってしまい、メール配信で同じ顧客に二重送信するトラブルが発生しました。結合後の重複チェックは必須です。


配列の要素数を扱うコツ

背景と理由

配列を使うときに欠かせないのが「要素数の把握」です。gas 配列 要素数を正しく管理できないと、ループ処理でエラーが出たり、取り出し位置を間違えたりするリスクがあります。

要素数の取得方法

let arr = [1,2,3,4];
Logger.log(arr.length); // 4

配列のlengthプロパティを使えば、要素数を簡単に取得できます。

ビジネス現場での事例

商品在庫のリストを配列に格納していた小売企業では、lengthを使うことで「在庫が0になったら自動で発注メールを送る」仕組みを構築しました。

他業種の比較

教育機関では、試験結果を配列に入れて要素数で受験者数を把握しています。海外では要素数を使ったエラーチェックが徹底されており、日本企業に比べてバグの発生率が低い傾向があると言われます。

メリットとデメリット

  • メリット: データ処理の正確性が上がる
  • デメリット: lengthの更新を見落とすと、ループの範囲がずれることがある

実践手順

  1. 配列に格納するたびにlengthを確認
  2. ループ処理ではarr.lengthを使う
  3. lengthを条件分岐に活用する(例: if(arr.length === 0)

注意点と失敗例

ある企業では、配列の要素数を固定値で扱ってしまい、後から要素が追加された際にエラーが発生しました。lengthを動的に参照するように書き換えることで、問題が解決しました。


まとめ

配列はGASの中で最も使われる基本構文のひとつです。初期化から追加・取り出し・結合、そして2次元配列を使ったスプレッドシート操作まで、すべてを理解すると業務の自動化レベルが格段に上がります。

特にビジネスでは「毎日の繰り返し作業」を配列で効率化できる場面が多く、エラーを防ぐための注意点も押さえておくことが重要です。国内外の事例を参考にしながら、自社の業務にどう応用できるかを考えると、GAS配列は単なる技術ではなく「業務改善の武器」となりますよ。

今週のベストバイ

おすすめ一覧

資料ダウンロード

弊社のサービスについて詳しく知りたい方はこちらより
サービスご紹介資料をダウンロードしてください