前提・実現したいこと
GASは最近触り始めたばかりでよくわからないので質問させていただきます。
現在、DialogflowでアンケートBOTを作っており、3つの質問に対して回答したデータをスプレッドシートの1~3列目に追加するシステムを製作しています。
https://moripro.net/gas-get-specified-lastcol-lastrow/を参考に、作成しました。
スプレッドシートの1列目にデータが追加され、次に2列目にデータを入れると1列目のデータが消されてしまい、1つのデータしか残りません。
質問1に対する回答は1列目、質問2に対する回答は2列目...のようにするにはどうすればいいでしょうか?
画像のような感じにデータを追加したいです。
function doPost(e) { // シートオブジェクトの取得 var sheet = SpreadsheetApp.openById('〇〇〇').getSheetByName('̻〇〇〇'); // 要求JSONをパース var json = JSON.parse(e.postData.contents); // 要求パラメータを取得 var columnA = json['columnA']; var columnB = json['columnB']; var columnC = json['columnC']; //テスト用 var param = json['param']; // 処理 var lastRowA = sheet.getRange(1, 1).getNextDataCell(SpreadsheetApp.Direction.UP).getRow(); var lastRowB = sheet.getRange(1, 2).getNextDataCell(SpreadsheetApp.Direction.UP).getRow(); var lastRowC = sheet.getRange(1, 3).getNextDataCell(SpreadsheetApp.Direction.UP).getRow(); sheet.getRange(lastRowA + 1, 1).setValue([columnA]); sheet.getRange(lastRowB + 1, 2).setValue([columnB]); sheet.getRange(lastRowC + 1, 3).setValue([columnC]); //テスト用 sheet.appendRow([param]); // 応答メッセージを生成 var result = { 'result':'OK' }; return ContentService.createTextOutput(JSON.stringify(result)); }