お仕事おつにゃッス🐈
文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!
今回はGoogle Apps Scriptで二次元配列内の配列から要素を取り出す方法を紹介します。
JavaScript のとあるコードを使うだけで、簡単に二次元配列から要素を取り出すことができます。
こんな人におすすめ!
- getValuesメソッドを頻繁に使っている
- 二次元配列の処理を楽にしたい
- JavaScriptを学んだけど何を作ればいいかわからない
コピペOKなので気軽に学んでいきましょう。
そもそも二次元配列とは?
二次元配列とは、「配列の中にある配列」です。
GASではgetValuesメソッドでスプレッドシートのセル複数から値を取りだすのによく現れます。
例えば、画像のようなスプレッドシートを作成して赤で囲んだ範囲の値を取得します。
Apps Scriptに複数のセルから値を取得するコードを貼り付けて実行します。
getValuesメソッドを使ってセル内のデータを得ます。
function getValuesSheet() {
const sheet = SpreadsheetApp.getActiveSheet();
const values = sheet.getRange("A2:A6").getValues();
Logger.log(values);
}
関数を実行して実行ログをみると配列の中に5つの配列が格納されています。
このように、配列内の要素も配列の状態を二次元配列といいます。
普通の配列と違うので要素を取り出す処理方法も変わってくるッス!
二次元配列から要素を取り出す準備
Google Apps Script で二次元配列内の要素を操作する準備をします。
ファイルは1つ必要です。
必要なファイル
- Google スプレッドシート…リストの作成&サンプルコードの貼り付け
スプレッドシートの作成
二次元配列を取り出す スプレッドシートを作成します。
この記事では、以下のようにシートを作成します。
スプレッドシートの準備は以上です。
サンプルコードを貼り付ける場所
サンプルコードはGoogle スプレッドシートにコピペ。
上バーの「拡張機能」の中にある「Apps Script」をクリックしてコードを貼り付けます。
二次元配列を処理するサンプルコード
GASで二次元配列を操作するサンプルコードの公開と解説を行います。
解説の項目
- サンプルコード
- A, 使用するスプレッドシートの定義
- B,二次元配列内の配列から要素を取り出し
サンプルコード
右上にあるマークを押すとコードのコピペを一瞬でできます。
また、コード内で文頭にアルファベットが付いているコメントごとに詳細を説明していきます。
function editArray(){
//A, 使用するスプレッドシートの定義
const sheet = SpreadsheetApp.getActiveSpreadsheet();
const nameArray = sheet.getRange("A2:E11").getValues(); //セルの値を二次元配列で取得
const nameArrayLen = nameArray.length;
//B,二次元配列内の配列から要素を取り出し
for(var a=0; a<nameArrayLen; a++){
const valueArray = nameArray[a];
const valueArrayLen = valueArray.length;
for(var b=0; b<valueArrayLen; b++){
Logger.log(valueArray[b]);
}
}
}
A, 使用するスプレッドシートの定義
//A, 使用するスプレッドシートの定義
const sheet = SpreadsheetApp.getActiveSpreadsheet();
const nameArray = sheet.getRange("A2:E11").getValues(); //セルの値を二次元配列で取得
const nameArrayLen = nameArray.length;
スプレッドシートと取り出す値を定義していきます。
定数nameArrayでシートのA2からE11までのセルの値を二次元配列で取り出します。
B,二次元配列内の配列から要素を取り出し
//B,二次元配列内の配列から要素を取り出し
for(var a=0; a<nameArrayLen; a++){
const valueArray = nameArray[a]; //二次元配列内の配列
const valueArrayLen = valueArray.length;
for(var b=0; b<valueArrayLen; b++){
Logger.log(valueArray[b]);
}//内側のfor
}
二次元配列内の配列を取得してその配列内の要素を取り出していきます。
定数valueArrayで二次元配列内の要素を取得し、内側のforで配列内の要素を1つずつ取り出します。
コードの説明は以上です。
二次元配列から要素を取り出すテスト
実際に、二次元配列内の配列の要素を取り出します。
Apps Scriptの上バーの文字が「editArray」になっていたら「実行」を押します。
「このアプリはGoogleで確認されていません」と表示した場合はこちら。
下の画像のようにログ結果がでたら完了です。
二次元配列内の配列の要素を1つずつ取り出すことに成功しました。
【基礎】GASで二次元配列を処理するコード一覧
この記事ではGASで二次元配列内の配列から要素を取り出す方法を紹介しました。
デイコーでは二次元配列を普通の配列に変換する方法を紹介しています。
誰でも簡単に無料でできるのでぜひご活用ください。
もちろん、コピペOKです。
おわりに | GASでさらにスキルアップするには
以上、GASで二次元配列から要素を取り出す方法でした。
- 配列内の要素も配列のものを二次元配列という
- GASではgetValuesメソッドで頻繁に二次元配列を処理する
- プログラミングすれば二次元配列でも要素の取り出しができる
そのままコピペして日常業務で使ったり、プログラミングの練習や動作確認用に使ってみましょう。
事務や営業などの文系職がGASでスキルアップするなら日頃の学習と実践的なアプリ開発が必須。
というのも、学んでいかないとすぐに使い方を忘れるからです。
GASを効率的に学ぶなら以下の2つの方法が多いです。
- 参考書やオンライン教材で独学
- プログラミングスクールを利用
正しく学ぶことで非エンジニアでも実用的な業務効率化のスキルが身に付きます。
デイコーでは、GASのサンプルコードからおすすめのプログラミングまで幅広く紹介。
初心者にもわかりやすく解説しています。
プログラミングスクールは82社を分析したッス!
次回の記事もご期待ください!
それでは、よいプログラミングライフを!