スプレッドシートを使っていると、「次のデータはどこに書き込めばいいんだろう?」と迷うこと、ありますよね。特に、たくさんのデータが入っているシートでは、最終行を見つけるのが大変です。でも、心配いりません!Google Apps Script(GAS)を使えば、簡単に最終行を取得して、データを追加することができます。今回は、初心者の方にもわかりやすく、GASでスプレッドシートの最終行を取得し、データを書き込む方法を解説します。これを覚えれば、データの追加や処理がぐっと楽になりますよ。
GASでスプレッドシートの最終行を取得する方法
まずは、スプレッドシートの最終行を取得する方法から見ていきましょう。
getLastRowメソッドを使う
GASには、`getLastRow()`というメソッドがあります。これを使うと、シート内でデータが入っている最終行の番号を取得できます。
例えば、次のように書きます。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const lastRow = sheet.getLastRow();
これで、`lastRow`に最終行の番号が入ります。
注意点
`getLastRow()`は、データが入っている最後の行を取得しますが、空白行が途中にある場合、その行までを最終行と認識してしまうことがあります。例えば、1行目から10行目までデータがあり、12行目にもデータがある場合、11行目が空白でも、最終行は12行目と認識されます。これを避けるためには、空白行を除外する工夫が必要です。
最終行にデータを書き込む方法
次に、取得した最終行の次の行にデータを書き込む方法を見ていきましょう。
appendRowメソッドを使う
最も簡単な方法は、`appendRow()`メソッドを使うことです。このメソッドは、シートの最終行に新しい行を追加し、データを書き込みます。
例えば、次のように書きます。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.appendRow);
これで、最終行に新しいデータが追加されます。
setValuesメソッドを使う
複数行のデータを一度に追加したい場合は、`setValues()`メソッドを使います。まず、最終行を取得し、その次の行からデータをセットします。
例えば、次のように書きます。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const lastRow = sheet.getLastRow();
const data = [
,
];
sheet.getRange(lastRow + 1, 1, data.length, data.length).setValues(data);
これで、最終行の次からデータが追加されます。
注意点
`setValues()`を使う際は、指定する範囲とデータの行列数が一致している必要があります。例えば、データが2行3列の場合、範囲も2行3列で指定しなければなりません。
今すぐ解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
今回は、GASを使ってスプレッドシートの最終行を取得し、データを書き込む方法を解説しました。最初は難しく感じるかもしれませんが、少しずつ覚えていきましょう。
他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。
コメント