创建一个 Google 表单,将回复放入现有电子表格的特定列
Create a Google Form that responses go into a specific column on an existing spreadsheet
我有一个现有的 Google Sheet,我想为其创建一个表单,以便用户可以更轻松地输入数据。
该表格将包含三个问题,我希望它们进入现有电子表格中相应的列。
问题 1 将进入第 1 列,问题 2 将进入同一行的第 3 列,问题 3 将进入同一行的第 5 列。
请问有谁知道我该怎么做或为此提供 Apps 脚本吗?
将表格 link 添加到现有点差的最简单方法sheet
- 转到 https://docs.google.com/forms/u/0/?tgif=d
创建一个新表单
- 点击“+”
- 根据需要填写表单问题
- 点击"Responses"
- 单击三个垂直点和 "Select response destination"
在提交的每个表单中,回复将自动进入您的传播sheet - 很可能进入自动创建的新 sheet。
将表单回复从新的 sheet 移动到现有的 sheet 到指定的列中
- 绑定到您的目标传播sheet 一个带有 installable
onFormSubmit
触发器的脚本
onFormSubmit
检索带有 event object namedValues
的最新响应
- 将值单独分配给您感兴趣的 sheet 中所需列的最后一行
样本:
function myFunction(e) {
var mySheet = SpreadsheetApp.getActive().getSheetByName("PASTE HERE THE SHEET NAME");
var freeRow = (mySheet.getLastRow()+1);
var column1 = 1;
var column3 = 3;
var column5 = 5;
// replace the following question titles by your real question titles
mySheet.getRange(freeRow, column1).setValue(e.namedValues["What is your name?"]);
mySheet.getRange(freeRow, column3).setValue(e.namedValues["How old are you?"]);
mySheet.getRange(freeRow, column5).setValue(e.namedValues["Do you like Apps Script?"]);
}
我有一个现有的 Google Sheet,我想为其创建一个表单,以便用户可以更轻松地输入数据。
该表格将包含三个问题,我希望它们进入现有电子表格中相应的列。
问题 1 将进入第 1 列,问题 2 将进入同一行的第 3 列,问题 3 将进入同一行的第 5 列。
请问有谁知道我该怎么做或为此提供 Apps 脚本吗?
将表格 link 添加到现有点差的最简单方法sheet
- 转到 https://docs.google.com/forms/u/0/?tgif=d 创建一个新表单
- 点击“+”
- 根据需要填写表单问题
- 点击"Responses"
- 单击三个垂直点和 "Select response destination"
在提交的每个表单中,回复将自动进入您的传播sheet - 很可能进入自动创建的新 sheet。
将表单回复从新的 sheet 移动到现有的 sheet 到指定的列中
- 绑定到您的目标传播sheet 一个带有 installable
onFormSubmit
触发器的脚本 onFormSubmit
检索带有 event objectnamedValues
的最新响应
- 将值单独分配给您感兴趣的 sheet 中所需列的最后一行
样本:
function myFunction(e) {
var mySheet = SpreadsheetApp.getActive().getSheetByName("PASTE HERE THE SHEET NAME");
var freeRow = (mySheet.getLastRow()+1);
var column1 = 1;
var column3 = 3;
var column5 = 5;
// replace the following question titles by your real question titles
mySheet.getRange(freeRow, column1).setValue(e.namedValues["What is your name?"]);
mySheet.getRange(freeRow, column3).setValue(e.namedValues["How old are you?"]);
mySheet.getRange(freeRow, column5).setValue(e.namedValues["Do you like Apps Script?"]);
}