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);
}

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

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

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

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

コメント

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