聖也GASを使ってスプレッドシートのセルの値を取得するTwitterFacebookGoogle+はてブPocketGASを使った業務効率改善を検討し始めたものの、スプレッドシートを操作するところで躓いてしまった方もいらっしゃるのではないでしょうか。今回は、GASを使ってスプレッドシートのセルの値を取得する方法について解説していきます。まとめ今回のアウトプットスプレッドシートhttps://docs.google.com/spreadsheets/d/1xBnCcIKPRDG3t6A9Iqa8FiVdaen8ghv_Sq6–9PzZ2I/edit#gid=0A1からC3に、それぞれのセル番地に応じた入力がされています。編集権を限定しておりますので、ご利用になる場合はコピーをお願いいたします。スクリプトエディタhttps://script.google.com/a/macros/meta-reputation.co.jp/d/1ny-iduofC9Xeb5H4IKcKe4vK0y2yrA59yI3LJotzXUUpRbjZ6d65hL8N/edit解説スプレッドシートスプレッドシートは特に仕掛けはありませんスクリプトエディタスクリプトエディタには、スプレッドシートに紐付けて作成されたものと、紐付けられずに独立して作成されたものの2タイプがありますが、今回は前者の紐づけられたタイプです。コードを確認しましょう。//「A1セル」の部分は、getRange(a1Notation)を利用し、セル番地を直接指定してセルを取得しています。後述する方法と比べて、コードを人間の目で見てわかりやすいというメリットがあります。for文による繰り返しを用いたり、setValue()によりセルに値を入力したりの応用の場面では後述のやり方の方が扱いやすいため、慣れておいた方が良いと思います。今回はA1セルを指定していますので、Logger.logで「A1セル」が確認できます。column)を利用して、シートの先頭行を1行目として数えて何行目で、シートの先頭列を1列目として数えて何列目か、という方法でセルを指定してセルを取得しています。numColumns)を利用して、シートの先頭行を1行目として数えて何行目で、シートの先頭列を1列目として数えて何列目のセルを基準に何行何列の範囲なのかという方法で範囲を指定して範囲を取得しています。今回は、A1セルを基準に2行2列、すなわちA1セルからB2セルまでの4セルを指定して二次元配列として取得しています。ここで気をつけていただきたいのは、赤字でも強調している、getValues()です。複数のセルから一括で配列として取得したい場合にはこちらを使わなければなりません。numColumns)を利用していますが、getValue()を使っているため、取得できているのは左上のセルであるA1セルだけとなっています。C3セル]]」の部分では、getDataRange()を利用して、シート内のデータがある範囲を指定して取得しています。シート内のデータがある範囲とは、A1セルを選択した状態で全選択(Windowsの場合はコントール+A、Macの場合はコマンド+A)をして選択される範囲となります。今後、スプレッドシートの情報を利用してWebアプリケーションを開発したり、Gmailやカレンダーとの連携を考える際にはgetDataRange()を多用することになると思いますので、慣れておいた方が良いでしょう。まとめ以上が、GASを使ってスプレッドシートのセルの値を取得する方法になります。シート内のデータがある範囲を指定して取得となります。生産性向上コンサルタントとして、働き方改革に役立つ人事制度設計やプログラミングによる業務効率改善に関する情報を発信。WACA認定上級ウェブ解析士。2019.5.15【関数】Googleスプレッドシートに自動更新される日付を入力するスプレッドシートが更新されたら日付をGASで行ごとに自動入力するスプレッドシートに日付を自動入力する方法4選RECOMMENDこちらの記事も人気です。登録商標であり、同社の許可を得て使用しています。