当サイトの記事にはプロモーションが含まれています。

Google Apps Scriptでスプレッドシートの最終行を取得する方法(初心者向け)

パソコンパソコン・スマホ教室
スポンサーリンク

スプレッドシートを使っていると、「最後の行ってどこだろう?」と迷うこと、ありますよね。特に、たくさんのデータが入っているシートでは、最終行を見つけるのが大変です。でも、心配いりません!Google Apps Script(GAS)を使えば、簡単に最終行を取得することができます。

今回は、初心者の方にもわかりやすく、GASでスプレッドシートの最終行を取得する方法を解説します。これを覚えれば、データの追加や処理がぐっと楽になりますよ。

スポンサーリンク

目次

Googleスプレッドシートのイメージ

Googleスプレッドシートのイメージ

最終行を取得する基本の方法

まずは、最も基本的な方法からご紹介します。

getLastRowメソッドを使う

javascript
function getLastRow() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const lastRow = sheet.getLastRow();
Logger.log("最終行は: " + lastRow);
}

このコードを実行すると、データが入っている最後の行番号がログに表示されます。例えば、A列からD列までデータが入っている場合、最終行は「6」と表示されます。

getMaxRowsメソッドを使う

javascript
function getMaxRows() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const maxRows = sheet.getMaxRows();
Logger.log("シートの最大行数は: " + maxRows);
}

こちらは、シートの最大行数を取得する方法です。データが入っていなくても、シートの設定で決められた行数が返されます。

最終行を取得する際の注意点

空白セルや数式に注意

getLastRowメソッドは、空白セルや数式があると、それらも最終行として認識してしまうことがあります。例えば、からまで数式が入っていると、実際にはデータが入っていなくても1000行目が最終行として返されてしまいます。

特定の列で最終行を取得したい場合

javascript
function getLastRowInColumn() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const lastRow = sheet.getRange("A").getLastRow();
Logger.log("A列の最終行は: " + lastRow);
}

このコードでは、A列のデータが入っている最終行を取得しています。特定の列で最終行を知りたい場合に便利です。

最終行を利用したデータの追加方法

appendRowメソッドでデータを追加

javascript
function appendData() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = ;
sheet.appendRow(data);
}

このコードを実行すると、データが入っている最終行の次の行に、新しいデータが追加されます。

setValuesメソッドで複数行を一度に追加

javascript
function setMultipleRows() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = [
,

];
const lastRow = sheet.getLastRow();
sheet.getRange(lastRow + 1, 1, data.length, data.length).setValues(data);
}

このコードでは、複数行のデータを一度に最終行の次から追加しています。大量のデータを追加する際に効率的です。

よくある質問や疑問

Q1: getLastRowメソッドはどのように動作しますか?

からまで数式が入っている場合、getLastRowメソッドは1000を返します。実際にデータが入っていない行でも、数式があると最終行として認識されてしまうため、注意が必要です。

Q2: 複数のシートがある場合、最終行はどう取得すればよいですか?

javascript
function getLastRowInSheet() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート名");
const lastRow = sheet.getLastRow();
Logger.log("指定したシートの最終行は: " + lastRow);
}

このコードでは、指定したシートの最終行を取得しています。複数のシートがある場合に便利です。

Q3: データが空白の行を除外して最終行を取得する方法はありますか?

javascript
function getLastRowWithoutEmpty() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = sheet.getDataRange().getValues();
let lastRow = data.length;
while (lastRow > 0 && data.join("") === "") {
lastRow--;
}
Logger.log("空白行を除いた最終行は: " + lastRow);
}

このコードでは、空白行を除外して最終行を取得しています。データが途中で途切れている場合に有効です。

まとめ

Google Apps Scriptを使えば、スプレッドシートの最終行を簡単に取得することができます。これを活用すれば、データの追加や処理がスムーズに行えます。最初は難しく感じるかもしれませんが、少しずつ覚えていきましょう。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました