エグウェブ.JP@福岡/WEBセミナー・分析・WEBサイト制作

福岡でWEB分析・ホームページ・WEBサイト作成・WordPress、Googleアナリティクス、LINEスタンプ、Photshop・illustrator、Excelの講座やセミナーを開催

【Google Apps Script(GAS)入門】第2回|業務自動化!Googleフォームの回答内容を他のスプレッドシートにも自動転記する方法|openById

time 2019/08/28

前回「Googleフォームの回答内容を他のスプレッドシートにも自動転記する方法」でsetValueのところで転記先の行が同じ値になる…というところで詰まってしまった続きです。

おさらい

1.フォームの回答があった時は「フォームの回答1」というシートにデータが自動的に入る。
2.「フォームの回答1」というシートに自動的にデータが入った時に、別のスプレッドシートの「回答の転記」というシートの「末尾行」に自動的にデータが入力される。

setValueで書き込み

s_name_to.getRange(lastRow_PlusOne, 1,1,s_name_from.getLastColumn()).setValue(data);

getRangeで転記先の(最終行+1行に、1列目から、 1行分、 転記元の列数分)転記元の最終行のデータをsetValue()で書き込みます。

??なぜか、1列目のデータが行の全てのセルに転記されてしまいます。

というところで前回は詰まりました…。

解決しました

これ…かなりシンプルな答えでした。

そう。「S」があるかないか…だったようです。

setValueの場合は単一セル、setValuesの場合は複数セル。

そうだったんです。「s」を付けることで行の値が取得できたんですね…。考えてみれば、そういうことも考えられたのかもしれません。

ということで、setValuesに書き換えました。

setValues

ということで…実行。

転記されました!!(3回押したので3つ書き込まれています。笑)

これで、やりたいイメージの土台が出来ました!

あとは、「フォームに回答があった時に自動転記する」という動作のトリガーを仕掛けます。

トリガー

トリガーを設定します。
「+トリガーを追加」から、トリガーを作成できます。

実行する関数を設定します。
今回は「PostToAnotherFile」という関数を選択します。

イベントの種類

イベントの種類は、フォームに送信があったタイミングで自動転記したいので、「フォーム送信時」です。

「このアプリは確認されていません」

という表示が出た時は「詳細」を選択して、「XXXXXXXX(安全ではないページ)に移動」を選択します。

許可を与えるGoogleアカウントを選択します。

新しいトリガーが作成されました!!

テストする

フォーム送信してみます。

確認

転記元(フォーム送信の回答先シート)

別のシート(回答の転記先のシート)

転記されました!!
\(^o^)/

まとめ

ここまでプログラムを組めば、最初にやりたかった「フォーム送信」→「回答のシート行にデータが入る」→「別のファイルの最終行にデータが追加される」

というプロセスの自動化が出来ます!

ご参考下さい!
\(^o^)/

download

プロフィール

EGUWEB

EGUWEB

【皆さまの人生に最良のファーストステップを】WEBサイトを作りたい!WEB分析を学びたいけど分からない。とりあえず色々と知りたい!皆様の悩みを解決できるように頑張ります。 [詳細]

カテゴリー