我在Google表格上有一个电子表格,其中包含两个表格Sheet1
和Sheet2
。在Sheet1上,我有2列(ID1
和Result1
),其中有填充。在Sheet2上,我有2列(ID2
和Result2
),其中填充了ID2,结果2中填充了“空”一词。
我真正的电子表格中的Sheet1正在从Google Forms获取数据,因此,每当Sheet1收到ID1和Result1上的值时,Sheet1应该在Sheet2的ID2上搜索ID1值,并在找到时将Result1值粘贴到Result2中被发现。
然后,仅当从表单提交的Sheet1上有新数据时,Result2才会更新。
我创建了此可编辑的表单和电子表格,以使其更易于理解(我还在其中添加了注释以对其进行解释)。您可以看到表单here和电子表格here。
答案 0 :(得分:1)
在第二张工作表的B2
单元格中,输入以下内容:
=VLOOKUP(A2,Sheet1!A:B,2,FALSE)
我猜Google表格上的 VLOOKUP 是否允许跨工作表引用?
仅供参考,在输入公式时,输入第一个参数作为查找标准后,您可以单击工作表1并突出显示列A和B,然后返回工作表2(第二个参数由系统自动填充)以第三个参数(结果范围列在查找范围内的位置)和第四个参数(
TRUE
表示近似匹配,FALSE
表示精确匹配)结束公式,然后按 Enter 退出公式。
答案 1 :(得分:1)
答案 2 :(得分:1)
浏览完当前的答案和评论后,我认为我了解您的要求。
您可以通过在Google Apps脚本中创建绑定到Google表单的函数来执行此操作,该函数收集最新的响应并进行数据处理,并使其在表单提交上运行。 >
首先,您需要在表单上创建一个绑定脚本。在“表单”编辑页面右上角的菜单中,单击⋮ > Script editor
,这将打开一个新的脚本页面。
您可以在此处创建一个脚本,该脚本将自动为您执行此操作,并制作一个可安装的触发器,该触发器将在需要时运行。
打开脚本编辑器后,您将看到一个易于编辑的功能,如下所示:
function myFunction() {
}
用以下代码替换整个脚本:
function onSubmit(e) {
var responses = FormApp.getActiveForm().getResponses();
var response = responses[responses.length - 1].getItemResponses();
var connectedSheet = SpreadsheetApp.openById('<your-sheet-id>').getSheets();
var sheet2 = connectedSheet[1];
var result2Column = sheet2.getRange('A1:A').getValues();
for (var i = 0; i < result2Column.length; i++) {
if (response[1] == result2Column[0]) {
sheet2.getRange('B' + (i +1)).setValue(response[0]);
}
}
}
请确保将<your-sheet-id>
替换为Google Sheeet的唯一ID,您可以在工作表的d/
和/edit
之间的网址中找到它,如下所示:
https://docs.google.com/spreadsheets/d/<your-sheet-id>/edit
通过按下播放按钮(►)运行脚本并授权应用程序运行。
然后转到Edit -> Current Project's Triggers
并使用以下设置设置新的可安装触发器:
onSubmit
Head
From form
On form submit
该脚本将在每次自动提交新表单时运行-它将从表单响应中获取ID并搜索Sheet2。如果找到,则针对结果给出的响应也将放在Sheet2中,在相应ID旁边。
希望对您有所帮助!