Google 形成对现有 Google sheet 列的响应并保持现有格式
Google form responses to existing Google sheet columns and maintain existing formatting
我有一个现有的 google form 并且正在寻找:
Image 1. of the google form question.
1) 将表单中的问题(你叫什么名字)的答案自动填充到此现有 [= 上的(Sheet 1,C 列 ) 15=]
Image 2. Where the google form data will have to go
2) 每个 google 表单提交生成的时间戳自动填充 YYYY-MM 中的(Sheet 1,E 列 ) -DD格式。
3) 虽然这些 google 表单回复将记录在此电子表格中,但有时我也必须手动进入并在后续行中输入信息。
这可以吗?我不熟悉将 google 表格中的数据导入 google 工作表,有人可以帮助解决上述问题吗?
好的。一些事情。
- 转到工具菜单 > 脚本编辑器。
- 通过单击编辑器左上角的“无标题项目”文本为脚本命名(也许 'Form Submission'?)。
- 用下面的代码替换code.gs中的所有文本。 (更改指定的代码)。
- 然后转到编辑 > 当前项目的触发器。
- 单击显示以下内容的 link:未设置触发器。现在点击这里添加一个。
- 在运行下,select onSubmit.
- 在事件下,select 在表单提交上。
- 单击保存。
- 现在您应该返回编辑器并按下播放按钮。这将 运行 函数并启动授权过程。单击提示并接受。
现在,每次提交表单时,名称和时间戳都会被复制过来。
function onSubmit() {
var spreadsheet = SpreadsheetApp.getActive();
var responseSheet = spreadsheet.getSheetByName('Form Responses 1');
var copyToSheet = spreadsheet.getSheetByName('Target');
var rLastRow = responseSheet.getLastRow();
var tLastRow = copyToSheet.getLastRow() + 1;
var lastCol = responseSheet.getLastColumn();
var values = responseSheet
.getRange(rLastRow, 1, 1, lastCol)
.getValues()[0];
var timestamp = Utilities.formatDate(new Date(values[0]), Session.getScriptTimeZone(), 'yyyy-MM-dd');
var name = values[1];
copyToSheet.getRange('C' + tLastRow).setValue(name);
copyToSheet.getRange('E' + tLastRow).setValue(timestamp).setNumberFormat('yyyy-MM-dd');
}
我有一个现有的 google form 并且正在寻找:
Image 1. of the google form question.
1) 将表单中的问题(你叫什么名字)的答案自动填充到此现有 [= 上的(Sheet 1,C 列 ) 15=]
Image 2. Where the google form data will have to go
2) 每个 google 表单提交生成的时间戳自动填充 YYYY-MM 中的(Sheet 1,E 列 ) -DD格式。
3) 虽然这些 google 表单回复将记录在此电子表格中,但有时我也必须手动进入并在后续行中输入信息。
这可以吗?我不熟悉将 google 表格中的数据导入 google 工作表,有人可以帮助解决上述问题吗?
好的。一些事情。
- 转到工具菜单 > 脚本编辑器。
- 通过单击编辑器左上角的“无标题项目”文本为脚本命名(也许 'Form Submission'?)。
- 用下面的代码替换code.gs中的所有文本。 (更改指定的代码)。
- 然后转到编辑 > 当前项目的触发器。
- 单击显示以下内容的 link:未设置触发器。现在点击这里添加一个。
- 在运行下,select onSubmit.
- 在事件下,select 在表单提交上。
- 单击保存。
- 现在您应该返回编辑器并按下播放按钮。这将 运行 函数并启动授权过程。单击提示并接受。
现在,每次提交表单时,名称和时间戳都会被复制过来。
function onSubmit() {
var spreadsheet = SpreadsheetApp.getActive();
var responseSheet = spreadsheet.getSheetByName('Form Responses 1');
var copyToSheet = spreadsheet.getSheetByName('Target');
var rLastRow = responseSheet.getLastRow();
var tLastRow = copyToSheet.getLastRow() + 1;
var lastCol = responseSheet.getLastColumn();
var values = responseSheet
.getRange(rLastRow, 1, 1, lastCol)
.getValues()[0];
var timestamp = Utilities.formatDate(new Date(values[0]), Session.getScriptTimeZone(), 'yyyy-MM-dd');
var name = values[1];
copyToSheet.getRange('C' + tLastRow).setValue(name);
copyToSheet.getRange('E' + tLastRow).setValue(timestamp).setNumberFormat('yyyy-MM-dd');
}