セル範囲を操作する

【GAS】スプレッドシートで基準セルから指定の行・列数分移動して任意の行・列範囲を取得する

GASでスプレッドシートで基準セルから指定の行・列数分移動して任意の行・列範囲を取得するには「offset(rowOffset, columnOffset, numRows, numColumns)」を利用する。

offset(rowOffset, columnOffset, numRows, numColumns)

現在の範囲を基準として新しい範囲を返します。その範囲の左上ポイントは、現在の行から特定の行と列だけオフセットされ、セルに指定された高さと幅が含まれます。

https://developers.google.com/apps-script/reference/spreadsheet/range#offsetrowoffset,-columnoffset,-numrows,-numcolumns

スプレッドシートで基準セルから指定の行・列数分移動して任意の行・列範囲を取得するGAS実行の様子

offset(rowOffset, columnOffset, numRows, numColumns)メソッドを利用して、スプレッドシートで基準セルから指定の行・列数分移動して任意の行・列範囲を取得するGASを実行してみました。

offset(rowOffset, columnOffset, numRows, numColumns)を実行したことで、基準セルを元に移動したことが分かります。

  • numRows
  • numColumns

を指定することで、移動後のセルを基準に、下へ指定した行数分・横に指定した列のセル範囲を取得できるのが「offset(rowOffset, columnOffset, numRows, numColumns)」の特徴でしょう。

スプレッドシートで任意セルから指定した行数・列数分移動する場合は、以下記事を御覧ください。

参照記事:【GAS】スプレッドシートで任意セルから指定した行数・列数分移動する

スプレッドシートで基準セルから指定の行・列数分移動して任意の行・列範囲を取得するGAS

function offset03(){
  //SpreadsheetAppを起動
  let ss = SpreadsheetApp.getActiveSpreadsheet();
  //0番目のシートを取得
  let sht = ss.getSheets()[0];
  //シート全体をクリア
  sht.clear();

 //基準セルを設定
  const start = Browser.inputBox("基準セルを入力してください(A1形式)");
  //■offsetで基準セルから1行下に1列右にそこから10行分・5列分のセルを取得)
  const cell = start.offset(1,1,10,5);
  //取得セルをA1形式でゲットしてrngへ格納
  const rng = cell.getA1Notation();
 //rngセルの背景を黄色にしてアクティブに
  sht.getRange(rng)
  .setBackground("yellow")
  .activate();
 //アクティブセルを掲載
  Browser.msgBox("現在のアクティブセルは「"+rng+"」です");
}

offset(rowOffset, columnOffset, numRows, numColumns)のパラメーター

名前説明
rowOffsetInteger範囲の左上セルから下方向にある行数。負の値は、範囲の左上セルから上方にある行を表します。
columnOffsetInteger範囲内のセルの左から右の列の数。負の値は、範囲内のセルの左にある列を表します。
numRowsInteger新しい範囲の行の高さ。
numColumnsInteger新しい範囲の列の幅。
offset(rowOffset, columnOffset, numRows, numColumns)のパラメーター

offset(rowOffset, columnOffset, numRows, numColumns)の戻り値

Range - チェーン用の範囲。

スプレッドシートで基準セルから指定の行・列数分移動して任意の行・列範囲を取得するまとめ

GAS×スプレッドシートで基準セルから指定の行・列数分移動して任意の行・列範囲を取得するならoffset(rowOffset, columnOffset, numRows, numColumns)メソッドを利用しましょう。

関連記事:【GAS】スプレッドシートの範囲をセル結合する

関連記事:【GAS】スプレッドシートにチェックボックスを挿入する

関連記事:【GAS】スプレッドシートに検証がオン状態のチェックボックスを挿入する

関連記事:【GAS】スプレッドシートにオン / オフ値があるチェックボックスを挿入する

関連記事:【GAS】スプレッドシートのチェックボックスがチェック済みか確認する

-セル範囲を操作する