記事内に広告が含まれています。

【GAS】データを別シートに自動転記(追記)する

GAS

Googleスプレッドシートで、あるシートのデータを、別のシートに転記(追記)したいなら、

GASを使えば簡単にできます。

例えば、日々の売り上げデータを、集計シートに毎日追記していきたい場合、GASなら一瞬で転記できちゃいます。

今回は、売上データを例に見ていきましょう。

投稿者
もも

40代・大阪の女性フリーランスSE。
主に業務自動化の仕事をしています。UiPathを中心に、PythonやGAS、生成AIにも挑戦中。実際に作ったツールや、学んだことなど発信しています。

ももをフォローする

毎日の売り上げデータを集計シートに転記してみる

こんな売り上げデータがあるとします。

今日は11/3で、2件の売り上げがありました。

転記先シートが「集計シート」を意味します。

転記先シートには、前日までのデータを手作業で転記されているとします。

11/2までが転記されていますね。

いざ、GASを実行

この状態で、GASを実行してみます。

GASには、転記元のデータを、転記先の一番下から追記するようなコードを書きました。

コードは詳細に見なくて大丈夫です。
こんな感じなのかぁ、でOK。

function copyData() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sourceSheet = ss.getSheetByName("転記元シート")
  const targetSheet = ss.getSheetByName("転記先シート");

  // 転記元のデータを取得  
  const sourceLastRow = sourceSheet.getLastRow(); // 転記元の「最終行」
  const sourceRange = sourceSheet.getRange(2, 1, sourceLastRow - 1, sourceSheet.getLastColumn());  // 最終行列まで全部取得
  
  // 転記先の貼り付け位置(最終行の次の行)
  const targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
  
  // データを追記
  sourceRange.copyTo(targetRange);
}

さて、これを実行してみると・・・

分かりやすく黄色にしてみましたが、

ちゃんと今日11/3の売り上げが追記されています。

しかも、わずか2秒で完了。

まぁ2行しかないので早くて当たり前かもですが、大量に行があっても、わりと早く転記できてしまいます。

※補足

データ転記のとき、appendRow を使うと、元のシートで設定していた色、枠線、フォントなどの「書式」が消えてしまいます。

なので、書式も一緒にコピーしたい場合は、appendRow ではなく、「copyTo」 を使う必要があります。

スプレッドシートの操作はGASが簡単

GASにはタイマー実行の機能もあるので、

例えば、毎日夜に転記するよう設定しておけば、これが毎日自動でできるようになります。

また、今回は、全列を転記しましたが、必要な列だけ選んで転記することも可能。

GASって無料で簡単に使えて素晴らしい!と思いました。