【发布时间】:2020-09-19 08:56:54
【问题描述】:
我们有一个 Google 表单,用户可以使用该表单提交他们的调查。可能会发生同一用户可能多次提交调查,此时我们只想考虑最新的回复并忽略所有以前的回复。该工作表有两个关键列(时间戳和电子邮件),我们创建了一个附加列“Accepted”,预计有两个值“0”或“1”,其中“0”的响应不被接受,“1”的响应被接受(因为这是最新提交的回复)。
Timestamp | Email | Accepted
2020/06/01 00:05:22 | email1@domain.com | 0
2020/06/01 00:35:06 | email2@domain.com | 1
2020/06/01 01:45:51 | email1@domain.com | 1
2020/06/01 02:03:40 | email3@domain.com | 0
2020/06/01 03:44:01 | email3@domain.com | 1
Google 表格的第一行有标题。所以,C2中输入的公式为:
=IF(COUNTIF($B$1:B2,B2)=COUNTIF($B$1:B,B2),1,0)
拖到所有行时效果很好。但是,由于我们希望将 C 列更新为每个新响应,因此尝试使用如下 ARRAYFORMULA:
=ARRAYFORMULA(IF(COUNTIF($B$1:B2,B2:B)=COUNTIF($B$1:B,B2:B),1,0))
对所有行返回 0。指向示例 Google 表格的链接如下: https://docs.google.com/spreadsheets/d/1qAdOIV_ZioBw41UR_WEBR_Ean5tQ0Yd_f6oLRi83fOk/edit?usp=sharing
请帮忙。在此先感谢:)
【问题讨论】:
-
您愿意为此使用 Apps 脚本自定义公式吗?此外,考虑到您希望在提交表单时执行某些操作,使用onFormSubmit trigger 是合适的。你怎么看?
-
不知道 onFormSubmit 触发器。到目前为止还没有使用过任何一个:)
标签: google-sheets google-sheets-formula