前提・実現したいこと
複数のグーグルフォームを管理しており、入力された回答は1つのスプレッドシートに集約され、各フォームごとにシートを分けて記載されるよう設定しています。
フォームへの回答をきっかけに、この集約されたスプレッドシートから別のスプレッドシートに回答を転記したいと考えています。
発生している問題・エラーメッセージ
転記先のシートの最終行を正しく取得できておらず、空白の行が間に挟まってしまいます。
また、トリガーをフォーム送信時で設定しているのですが、他のフォームに回答があると、回答がないフォームについても、転記されるようになってしまいます。
該当のソースコード
function
1 2//今のアクティブファイルを取得する 3 var ss1_copy = SpreadsheetApp.getActiveSpreadsheet(); 4//転記先のスプレッドシートIDを入力する 5 var ss2_copy_to = SpreadsheetApp.openById("転記先のID"); 6//フォームの回答シート 7 var s_name_from = ss1_copy.getSheetByName('転記元のシート名'); 8//転記先のシート 9 var s_name_to = ss2_copy_to.getSheetByName('転記先のシート名'); 10//最終行+1行 11 var lastRow_PlusOne = s_name_to.getLastRow()+1; 12//転記元の最終行のデータを取得 13 var data = s_name_from.getRange(s_name_from.getLastRow(),1,1,s_name_from.getLastColumn()).getValues(); 14 15 Logger.log(data); 16 17 //setValueで書き込み 18 s_name_to.getRange(lastRow_PlusOne,1,1,s_name_from.getLastColumn()).setValues(data); 19} 20 21
試したこと
トリガーは1つだけでよいのか思い、1つ残して他は削除すると、やはりトリガーを削除したフォームの回答は転記されませんでした。
転記先の最終行+1を取得する文章も変えてみましたがうまく動きませんでした。
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー