Googleスプレッドシートを使っていて、「新しいデータをどんどん追加していきたいけど、手動で入力するのは面倒だな」と感じたことはありませんか?そんなときに便利なのが、Google Apps Script(GAS)を使った自動化です。
今回は、GASを使ってスプレッドシートの最終行にデータを自動で追記する方法を、初心者の方にもわかりやすく解説します。パソコンやスマホの操作に不安がある方でも安心して取り組める内容になっていますので、ぜひ最後までご覧ください。
目次
GASでスプレッドシートの最終行にデータを追記する方法
appendRowメソッドを使ってデータを追加する
GASには、スプレッドシートの最終行にデータを追加するための便利なメソッド「appendRow」があります。これを使うと、簡単に新しい行を追加できます。
例えば、以下のようなコードでデータを追加できます。
javascript
function addData() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート1");
const newData = ;
sheet.appendRow(newData);
}
このコードを実行すると、「シート1」の最終行に新しいデータが追加されます。
getLastRowメソッドを使って最終行を取得する
「appendRow」メソッドは便利ですが、複数のデータを一度に追加したい場合には、「getLastRow」メソッドと「setValues」メソッドを組み合わせると効率的です。
まず、「getLastRow」メソッドを使って最終行の番号を取得します。
javascript
const lastRow = sheet.getLastRow();
次に、「setValues」メソッドを使って、指定した範囲にデータを一括で書き込みます。
javascript
sheet.getRange(lastRow + 1, 1, 3, 3).setValues[
,
,
]);
このようにすることで、3行分のデータを一度に追加できます。
pushメソッドを使って配列にデータを追加する
さらに、配列の「push」メソッドを使って、既存のデータに新しいデータを追加する方法もあります。
まず、シートの全データを取得して、配列に格納します。
javascript
const values = sheet.getDataRange().getValues();
次に、「push」メソッドを使って、新しいデータを追加します。
javascript
values.push);
最後に、「setValues」メソッドを使って、更新した配列のデータをシートに書き込みます。
javascript
sheet.getRange(1, 1, values.length, values.length).setValues(values);
この方法を使うと、既存のデータを保持したまま、新しいデータを追加できます。
よくある質問や疑問
Q1: appendRowメソッドとsetValuesメソッドの違いは何ですか?
「appendRow」メソッドは、1行分のデータを最終行に追加するのに対し、「setValues」メソッドは、指定した範囲に複数行・複数列のデータを一括で書き込むことができます。大量のデータを追加する場合は、「setValues」メソッドの方が効率的です。
Q2: データを追加する際に、日付や名前などの項目を自動で入力することはできますか?
はい、可能です。例えば、日付を自動で入力するには、JavaScriptの「new Date()」を使って現在の日付を取得し、それをデータに組み込むことができます。
javascript
const currentDate = new Date();
const newData = ;
sheet.appendRow(newData);
Q3: スプレッドシートにデータを追加する際に、特定の条件を満たすデータのみを追加することはできますか?
はい、可能です。例えば、他のシートからデータを取得し、条件に一致するデータのみを追加することができます。
javascript
const sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート2");
const sourceData = sourceSheet.getDataRange().getValues();
const filteredData = sourceData.filter(row => row === "営業部");
filteredData.forEach(row => {
sheet.appendRow(row);
});
このコードでは、「シート2」から「営業部」のデータのみを抽出し、「シート1」に追加しています。
まとめ
今回は、Google Apps Script(GAS)を使って、スプレッドシートの最終行にデータを自動で追記する方法を解説しました。手動での入力が面倒な場合や、定期的にデータを追加したい場合に、GASを活用することで作業の効率化が図れます。
もし、今回の内容でわからない点や、さらに詳しい情報が必要な場合は、お気軽にLINEからお声掛けください。



コメント