ScriptSpreadSheet

【GAS】スプレッドシートのセルの値を取得する

getValue – スプレッドシートのセルの値を取得する

スプレッドシートのセルの値は、範囲(セル)オブジェクトのgetValueメソッドで取得できます。

つまり、getValueを使うには範囲(セル)を指定する必要があるということです。

どういうことか実際にコードを書いてみます。

下のスプレッドシートのC4のセルにある「このセルの値を取得する」を取得します。

コード

const getCellValue = () => {
  const spreadsheetApp = SpreadsheetApp // スプレッドシートアプリ
  const spreadsheet = spreadsheetApp.openById('スプレッドシートIDが入ります') // スプレッドシート
  const sheet = spreadsheet.getSheetByName('シート1') // シート
  const range = sheet.getRange(4, 3) // 範囲(セル)
  const value = range.getValue() // 値
  console.log(value) // 出力
}

このコードは下のような順番で書かれています。

  1. スプレッドシートアプリをつくる
  2. スプレッドシートをひらく
  3. シートをひらく
  4. 範囲(セル)を特定する
  5. 値を取得する


いちいち面倒くさく見えるかもしれませんが、これって自然な手順じゃないですかね?

人が手で操作するとしても、まずはスプレッドシートをひらいて、次にどのシートかを選択して、値の入ったセルをポチッとクリックして操作しますよね。

実行結果はこうなります。

openById – スプレッドシートをひらく

スプレッドシートをひらくときはopenByIdを使います。

スプレッドシートアプリ.openById(‘スプレッドシートID’)というように使います。

スプレッドシートIDはアドレスバーの赤枠内にあります。

使用するときはコピーしてはりつけます。

getSheetByName – シートをひらく

スプレッドシートをひらいたら次はシートをひらきます。

シートをひらく方法は色々ありますが、ここではシートの名前を指定してひらきます。


シート

上の赤枠内がシートでシート名も書いてあります。

たとえば、シート1をひらきたい場合は、「スプレッドシートオブジェクト.getSheetByName(‘シート1’)」と書きます。

getRange – 範囲(セル)を特定する

スプレッドシート、シートをひらいたら次は範囲(セル)を特定します。

今回であれば赤枠のセルを特定することになります。


このセルは4行目の3列目にあります。このように指定します。

const range = sheet.getRange(4, 3)


このセルはC4のセルなのでこのようにも指定できます。

const range = sheet.getRange('C4')


単一のセルだけではなく、複数のセルを指定するのも可能です。

下の3つのセルを指定します。


コード

const getCellValue = () => {
  const spreadsheetApp = SpreadsheetApp
  const spreadsheet = spreadsheetApp.openById('スプレッドシートIDが入ります')
  const sheet = spreadsheet.getSheetByName('シート1')
  const range = sheet.getRange(4, 3, 1, 3)
  const values = range.getValues()
  console.log(values)
}


4行目、3列目のセルを始点として同一行の3列分を指定しています。

const range = sheet.getRange(4, 3, 1, 3)

このように書くこともできます。

const range = sheet.getRange('C4:E4')


ちなみに単一のセルではないので値を取得するにはgetValueではなく、getValuesとなります。

実行結果

出力結果は入れ子の配列です。つまり、getValuesの返り値は入れ子の配列(2次元配列)になるんですね。

Copied title and URL