0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

スプレッドシート内でBig Queryで抽出したデータをGASを使って、他のページに貼り付ける

Posted at


こちらのGASは、スプレッドシート上でBig Queryのデータを抽出後に、別シートにデータをコピー、貼り付けする時に用いていました。

スプレッドシートでは、Big Queryに接続して抽出したデータを表示することができますが
例えば直近のデータだけを抽出して、そのデータを別のシートに貼り付けデータをためることができれば、クエリ費を節約することに繋がります。

GASの利用方法については、こちらの記事では割愛いたします。
参考に、公式ページだけ貼っておきます。
https://developers.google.com/apps-script?hl=ja




以下構文です。
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(”コピー先のシート名”):

var lastRow1 = sheet.getRange (1, 1) .getNextDataCell(SpreadsheetApp.Direction.DOWN) .getRow();
Logger. log (lastRow1);


function copyDataToDauSheet () {
    //コピー元のシート名を入力する
    let sheet_copyFrom = SpreadsheetApp. getActiveSpreadsheet().getSheetByName(”コピー元のシート名”);
    //コピー先のシート名を入力する
    let sheet_copyTo = SpreadsheetApp.getActiveSpreadsheet() ・getSheetByName(”コピー先のシート名”);
    let lastRow = sheet_copyTo.getLastRow();
    //コピー元のコピーするセルを指定する
    let copyValue = sheet_copyFrom. getRange (1, 1, lastRow, 4) . getValues ()
    //コピー先の貼り付けするセルを指定する
    sheet_copyTo.getRange (lastRow1+1, 1, lastRow, 4). setValues (copyValue);
    }


注意点として、
コピーするセルと貼り付けするセルの範囲指定、getRangeはデータの行列数によって変わります。
行列数に合わせて、指定する数値を変えてください。

また、
空欄箇所にデータを貼りつけ続けるため、lastRow1 で特定列の最終行を取得しています。
つまり、1列目に格納されているデータの空欄箇所は何行目かを算出し、その行の数値をgetRangeで指定しています。




自動でデータ抽出する流れとして、

①スプレッドシート上で、Big Queryのデータを抽出

②クエリの更新スケジュールを設定

③抽出されたデータを拡張機能 Apps Scriptで別のシートに貼り付ける

④GASの自動更新を設定する

上記4点になるのですが、
今回のGASを利用するタイミングは、③です。

まとめ

今回は、データのコピー、貼り付けのGASを記載させて頂きました。
スプレッドシート上でどうやってデータ抽出、コピー、貼り付けを自動化しているかの詳細に関しては、また別の機会でご説明させて頂ければと思います。

最後までお読み頂きありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?