初心者でも安心!GASでスプレッドシートの最終行を取得する方法

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

こんにちは!今日は、Google Apps Script(GAS)を使って、Googleスプレッドシートの「最終行」を取得する方法をご紹介します。特に、パソコンやスマホの操作に不安がある方でも、わかりやすく解説しますので、ぜひ最後までご覧ください。

スポンサーリンク

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

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

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

まずは、最もシンプルな方法から始めましょう。

getLastRowメソッドを使う

GASには、`getLastRow()`という便利なメソッドがあります。これを使うと、データが入力されている最後の行番号を取得できます。

例えば、以下のように書きます

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

このコードを実行すると、スプレッドシートの最終行番号がログに表示されます。

注意すべきポイント

`getLastRow()`は便利ですが、いくつか注意点があります。

ここがポイント!

  • 空白行が途中にある場合でも、その行までを最終行と認識することがあります。例えば、1行目から10行目までデータがあり、12行目にもデータがある場合、11行目が空白でも、最終行は12行目と認識されます。
  • 誤ってデータを入力しただけでも、その行が最終行として認識されるため、意図しない行が最終行として取得されることがあります。

これらの点に注意して、スクリプトを活用してください。

実践!最終行にデータを追加する方法

次に、取得した最終行の次の行にデータを追加する方法をご紹介します。

appendRowメソッドを使う

最も簡単な方法は、`appendRow()`メソッドを使うことです。このメソッドは、シートの最終行に新しい行を追加し、データを書き込みます。

例えば、以下のように書きます

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

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

setValuesメソッドを使う

複数行のデータを一度に追加したい場合は、`setValues()`メソッドを使います。まず、最終行を取得し、その次の行からデータをセットします。

例えば、以下のように書きます

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

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

このコードを実行すると、最終行の次から複数のデータが追加されます。

よくある質問や疑問

Q1: 空白行を除いた最終行を取得するにはどうすればよいですか?

空白行を除いた最終行を取得するには、以下のように書きます

javascript
function getNonEmptyLastRow() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const values = sheet.getRange("A").getValues();
const lastRow = values.filter(String).length;
Logger.log("空白行を除いた最終行" + lastRow);
}

このコードでは、A列の値を取得し、空白でないセルの数を数えています。

Q2: getLastRow()とgetMaxRows()の違いは何ですか?

`getLastRow()`はデータが入力されている最後の行番号を返します。一方、`getMaxRows()`はシートの最大行数を返します。例えば、シートに1000行のデータがあり、`getMaxRows()`は1000を返しますが、`getLastRow()`は1000未満の値を返すことがあります。

Q3: データが途中で途切れている場合、最終行の取得に問題がありますか?

はい、データが途中で途切れている場合、`getLastRow()`はその途切れた行までを最終行と認識します。この場合、空白行を除外する方法を検討してください。

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

LINE公式

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

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

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

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

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

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

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

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

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

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

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

相談しに行く

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

まとめ

今回は、GASを使ってスプレッドシートの最終行を取得し、データを追加する方法をご紹介しました。最初は難しく感じるかもしれませんが、少しずつ覚えていきましょう。

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

コメント

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