在Google表格中根据标准提取唯一值

时间:2017-06-21 06:19:03

标签: arrays google-sheets match return-value formula

我有一个Google电子表格,我正在尝试获取一个公式,该公式会在访问1,访问2等标题下返回“匹配”。

在简化数据中,我们有网站ID和现场日期。相同的网站ID和日期可能会多次出现,或者网站ID可能会在不同的日期出现多次。

对于每个商店编号,我只想显示唯一的访问日期。我在表单“Main”列D中有一个公式,它返回第一个“Visit 1”日期,但是在F列中,我希望它显示与站点ID匹配的第二个日期。如果没有匹配,则返回“No Visit”。

表“主要” 固定站点ID = A列

表“数据” 网站ID = A列 日期= D栏

我目前的公式是:

=ArrayFormula(IFERROR(INDEX(Data!$D$2:$D,MATCH(1,INDEX(COUNTIF($A$2:$A2,Data!$D$2:$D) + (Data!$A$2:$A=$A2),),0)),"No Visit"))

链接到下面的示例电子表格。访问2日期的最终结果应显示网站ID 1111日期为5/5/17,网站ID 5555为5/5/17:

https://docs.google.com/spreadsheets/d/1Rk3KCbF_r29st3eFSazNEUKK0ow6dbQ3G9wLGmnjM60/edit?usp=sharing

感谢。

1 个答案:

答案 0 :(得分:0)

想出来。稍微修改了公式。

首次访问列现在有公式:

=ArrayFormula(IFERROR(INDEX(Data!$D$2:$D$7, MATCH(0, IF($A2=Data!$A$2:$A$10, COUNTIF($D1, Data!$D$2:$D$10), ""), 0)),"No Visit"))

第二个和后续访问列可以使用:

=ArrayFormula(IFERROR(INDEX(Data!$D$2:$D$7, MATCH(0, IF($A2=Data!$A$2:$A$10, COUNTIF($D1:$E2, Data!$D$2:$D$10), ""), 0)),"No Visit"))