Google Apps Script(GAS)を使ってスプレッドシートを操作するとき、選択した範囲の行数を取得する方法として getHeight()
メソッドがあるとばい。この記事では getHeight()
の基本的な使い方から応用テクニックまで、分かりやすく解説していくけんね!
getHeight() ってなんね?
getHeight()
メソッドは、指定したセル範囲の「縦の長さ」、つまり 行数 を取得するためのものばい。例えば、 B2:D4
という範囲を指定した場合、 2行目から4行目までの3行分 を含むけん、戻り値は 3
になるとさ。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getRange("B2:D4");
Logger.log(range.getHeight()); // 3 を出力
getHeight() の類似メソッドとの違い
メソッド名 | 取得できる内容 | 主な用途 |
---|---|---|
getHeight() | 指定範囲の行数 | 範囲のサイズ確認 |
getWidth() | 指定範囲の列数 | 横幅の確認 |
getNumRows() | シート全体の行数 | データがある範囲の取得 |
getRowHeight() | 指定行の高さ(ピクセル) | 行の見た目の調整 |
getHeight() の基本的な使い方
スプレッドシートの行数を取得する基本的な流れは以下の通りばい!
① シンプルな範囲指定
function sampleGetHeight() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const dataRange = sheet.getRange("A2:C10");
Logger.log(`選択範囲の行数: ${dataRange.getHeight()}`);
}
このスクリプトを実行すると、 A2:C10
の行数(9行)がログに表示されるとばい!
② データがある範囲の行数を取得する
getLastRow()
を使えば、データがある最終行までの行数を取得できるばい。
function dynamicRangeHeight() {
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
const range = sheet.getRange(2, 1, lastRow - 1, 3);
Logger.log(`データ範囲の行数: ${range.getHeight()}`);
}
この方法なら、 データの増減に対応 できるばい!
getHeight() を応用する!
① 複数データセットの行数を比較
function compareDatasets() {
const sheet = SpreadsheetApp.getActiveSheet();
const range2023 = sheet.getRange("A2:A100");
const range2024 = sheet.getRange("B2:B150");
const height2023 = range2023.getHeight();
const height2024 = range2024.getHeight();
Logger.log(`2023年データ行数: ${height2023}`);
Logger.log(`2024年データ行数: ${height2024}`);
}
② データの行数に応じてセルの色を変える
function applyConditionalFormatting() {
const sheet = SpreadsheetApp.getActiveSheet();
const dataRange = sheet.getDataRange();
const rowCount = dataRange.getHeight();
if (rowCount > 100) {
dataRange.setBackground("#FFEBEE"); // 赤っぽい色
} else {
dataRange.setBackground("#E8F5E9"); // 緑っぽい色
}
}
これで、データが100行を超えたら警告色にできるばい!
getHeight() の注意点
① 結合セルがあるときの挙動
セルが結合されとる場合、 結合された全体の行数 が返ってくるばい。例えば、 B2:B4
を1つのセルに結合しとると、 getHeight()
は 3
を返すとさ。
② 空白範囲の扱い
空白の範囲を指定した場合でも、 1行としてカウントされる ことがあるばい。
const emptyRange = sheet.getRange("A1000:B1000");
Logger.log(emptyRange.getHeight()); // 1 が出力される
まとめ
getHeight()
は スプレッドシートの範囲内の行数を取得する便利なメソッド ばい!
getHeight()
を使うと、指定範囲の行数が簡単に分かるgetLastRow()
と組み合わせると データの増減に対応できる- 行数に応じて 色を変えたり、データ分析に活用したり できる
- 結合セルや空白範囲に注意が必要
GAS を使ってスプレッドシートを操作するなら、 getHeight()
を活用して 効率的なスクリプト を作っていこうばい!

Class Range | Apps Script | Google for Developers

GoogleAppsScriptとは?開発に役立つ使い方、トレンド記事やtips - Qiita
Google Apps Scriptの概要・特徴概要:Google Apps Scriptは、Googleのクラウドベースのスクリプト言語であり、Google Workspace(旧称G Suite)のサービスを自動化、カスタマイズするため...
セル範囲の高さ(行数)を取得する:getHeight()【GAS】 | G Suite ガイド - G Suite ガイド:G Suite の導入方法や使い方を徹底解説!
セル範囲の高さ(行数)を取得する。 サンプルコード // 現在アクティブなスプレッドシートを取得 var ss = SpreadsheetApp.getActiveSpreadsheet(); // そのスプレッドシートにある最初のシートを...
コメント