根据多个列计算Google电子表格中的唯一值

时间:2015-06-02 08:12:39

标签: google-sheets unique

我们以此电子表格为例:

ID | StoreName | StoreID | CheckinTime  | User
0  | w1        | 1       | 10:00        | user1
1  | w5        | 1       | 10:01        | user2
2  | w2        | 1       | 10:01        | user1
3  | w1        | 1       | 10:01        | user4
4  | w5        | 1       | 10:05        | user1
5  | w3        | 1       | 10:05        | user6
6  | w1        | 1       | 10:05        | user1
7  | w1        | 1       | 10:05        | user1

是否有办法创建新的列/标签/表来计算商店的所有唯一签到。所以我们说吧; “user1”访问StoreName“w1”3次,“user4”访问1次。预期输出为2(“w1”的2个唯一访问者)。这是我想要的输出:

ID | StoreName | uniqueCheckins
0  | w1        | 2
1  | w2        | 1
2  | w3        | 1
3  | w4        | 0
4  | w5        | 2

2 个答案:

答案 0 :(得分:1)

更新了我的回答

=({FILTER(SORT(UNIQUE(Index(UNIQUE({B2:B,E2:E}),,1))),SORT(UNIQUE(Index(UNIQUE({B2:B,E2:E}),,1)))<>""),ARRAYFORMULA(COUNTIF(INDEX(UNIQUE({B2:B,E2:E}),,1),"="&FILTER(SORT(UNIQUE(Index(UNIQUE({B2:B,E2:E}),,1))),SORT(UNIQUE(Index(UNIQUE({B2:B,E2:E}),,1)))<>"")))})

答案 1 :(得分:1)

生成StoreName和uniqueCheckins输出列:

=QUERY(QUERY(B:E,"select B, E, count(C) group by B, E",1),"select Col1, count(Col2) group by Col1 label count(Col2) 'uniqueCheckins'",1)

但是,这将省略任何不会出现在原始数据中的StoreName(在您的示例中为w4)。这样可以吗?