【getDataRange】データ値を持つセル範囲をすべて取得する

GoogleAppsScript

【getDataRange】メソッドは

Google スプレッドシートでデータ値を持つセル範囲をRangeオブジェクトとしてすべて取得するメソッド

です。

 

公式リファレンスの該当ページはこちら

 

クラス

【Sheetクラス】

Sheetクラスのオブジェクトから利用することができます。Sheetオブジェクトを取得するメソッドにはgetActiveSheet、openByIdなどがありますね。

記述方法

Sheetクラスのオブジェクトに対してgetDataRangeメソッドを記述するだけです。引数に設定する値などはありません。

getValuesメソッドなどセルに記録された値を取得するメソッドと合わせて利用されることが多いです。

戻り値

【Range】

スプレッドシート上でデータ値のあるセル範囲をすべて含んだRangeオブジェクトを返します。

 

取得できるセルの範囲について以下のサンプルシートを使ってご紹介します。

 

上記のシートでgetDataRangeメソッドを利用した場合に取得されるセルの範囲は以下のようになります。

 

ですので、getDataRangeで得たRangeオブジェクトにgetValuesメソッドなどを利用してセル値を配列形式ですべて取得した場合には、空のデータも含まれた配列が返されるということです!

 

残念ながら、getDataRangeでは以下のようなセル範囲の取得は決してできませんのでご注意ください!

 

あと、これはgetDataRange特有の特徴ではなく、Rangeオブジェクトを返すメソッド全てに当てはまることなのですが、戻り値として取得したRangeオブジェクトをLogger.logなどで出力内容を確認しても…「Range」としか表示されません!

どのセル範囲を取得できたのかはgetValuesメソッドなどを利用するなどして、セルに記録された値を出力してあげる必要がありますので処理内容の確認やデバッグの際にはご注意ください。

使用例

※後日追記予定

関連メソッド

以下のメソッドも確認しておくと、よりgetDataRangeを活用することが可能です。(後日追加予定)

yoshi

JavaScript、Google Apps Scriptがメイン。Pythonもちょっとだけ。Google Apps Script開発、Pythonスクレイピングなどをする機会が多いです。ご依頼なども承っております。 記事内容についてのご意見・ご指摘などいただけますと幸いです。

シェアする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントする