我们有一个Google表单,用户可以使用该表单提交他们的调查。同一用户可能多次提交调查问卷,此时我们只想考虑最新的答复而忽略所有先前的答复。该工作表有两个关键列(时间戳和电子邮件),并且我们创建了一个附加列“ Accepted”,该列应具有两个值“ 0”或“ 1”,其中不接受带有“ 0”的响应,而带有“ 1”的响应被接受(因为这是最新提交的回复)。
Timestamp | Email | Accepted
2020/06/01 00:05:22 | [email protected] | 0
2020/06/01 00:35:06 | [email protected] | 1
2020/06/01 01:45:51 | [email protected] | 1
2020/06/01 02:03:40 | [email protected] | 0
2020/06/01 03:44:01 | [email protected] | 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
请帮助。在此先感谢:)
我觉得可以做的短一些,但是尝试:
=IFNA(ARRAYFORMULA(--(A2:A<>VLOOKUP(B2:B,SORT(QUERY(A2:B,"select B,A",-1),1,1,2,0),2,0))),"")