GASでスプレッドシートからの値取得には1つの方法で問題なし!【初心者向き】

GASでスプレッドシートから、値を取得する方法を知りたい!

今回はこのような悩みを抱えている方にむけて、記事を書いています。

GASでスプレッドシートと連携するのは、必須かと思います!

この記事では、GASでスプレッドシートから値を取得するときに、一番使うやり方、使いやすいやり方、を紹介していきます。

私は、700名規模の会社の業務自動化を行っています。その中でGASはとても重宝しています。

今回はその中で「この方法がつかいやすい!」と思った内容をもとに紹介していきます。

ぜひ、最後まで読んでいってください!

値を取得するには、この方法! 〜単一セル〜

まず、一番基本的な、一つのセルから値を取得する方法について解説していきます。

今回は、以下のような(1行目1列目)に書かれているセルの値を取得するとします。

GASに、スプレッドシートを指定するコードを書きましょう。

function myfunction() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet.getSheetByName("テスト");
}
あべべ

スプレッドシートの指定の方法を詳しく知りたい方は、以下の記事を参考にしてください!

GoogleAppsScript スプレッドシート連携するたった2つの方法 - プロラブ (abyblog.online)

スプレッドシートを指定したら、値を取得しましょう。

単一セルの値を取得するときは、次のように書きます。

let result = sheet.getRange(1,1).getValue();

getRangeの指定の仕方

getRangeの()の中は、(行、列)の順番で書きます。

3行1列目 = getRange( 3, 1 )

1行3列目 = getRange( 1, 3 )

あべべ

「縦、横」の順番で覚えておくと、覚えやすいですよ!

あべべ

これで、単一セルの値を取得することはできるようになりました!

次は、複数セルから値を取得する方法を見てきましょう!!

値を取得するには、この方法! 〜複数セル〜

複数セルを取得する方法を解説していきます。

今回は、次のような複数セルがあるデータを取得します。

まず、先ほどと同じように、シートを指定しておいてください。

次に、複数セルを取得していきます。

let result = sheet.getRange(2,1,3,3).getValues();

getRange() 複数セルを指定する

getRange() の()のなかは次のような値を入れます。

getRange( スタートのセルの行 , スタートのセルの列 , 何行分あるか , 何列分あるか )

今回は、3行、3列分の範囲なので、getRange( 2, 1, 3, 3 ) の表記となっている。

実行結果は、次のようになります!

あべべ

.getValues() だと、行ごとに取得がされます。

for文などを使用することで、データに処理を施すことができるようになるでしょう!

【知ったら得】2次元配列を1次元配列にする方法

getValues() で値を取得すると、2次元配列になります。

例えば、1列のみで取得したい場合に、2次元配列を1次元配列にしたいということがあるかと思います。

そのときには、flat() メソッドを使いましょう。

flat() メソッドを使うことで、全て一つの配列に格納してくれます。

あべべ

状況に合わせて使ってみてください!!

まとめ

今回は、GASでスプレッドシートから値を取得する方法について解説していきました。

値を取得するためには、スプレッドシートを指定することが不可欠です。

今回紹介した方法以外にも、スプレッドシートを指定する方法はあります。知っておくととっても得なので、ぜひ以下の記事を読んでみてください。

(Visited 11 times, 1 visits today)