Google 张 "array_agg"... 或等价物? (加入聚合)
Google sheets "array_agg"... or equivalent? (join aggregation)
目前,我有这个
=QUERY(
QUERY(
'Raw Paste'!C2:E, "select C, count(C) where C is not null group by C order by C label count(C) ''"
), "WHERE Col2 >= 2")
第二个 QUERY()
这样我就可以像 SQL HAVING
函数那样过滤聚合函数...
将执行此操作:
虽然我想做的是在计数旁边,但我想要第 3 列来连接汇总中包含的发票编号。
这对于 ARRAY_AGG(C)
来说是微不足道的,但是 google 工作表并不那么花哨。
我考虑过可能会以某种方式使用 INDEX
/MATCH
但我不知道.. 我需要将字符串连接在一起,其中一个项目出现不止一次。
C D
111 PPP
222 OOO
222 QQQ
我想要的输出:
C D
222 OOO, QQQ
可以使用FILTER
和JOIN
来完成
=IFERROR(JOIN(", ", FILTER(D2:D, C2:C = A3)))
FILTER
将在 C2:C
中查找 A2
和 return 来自 D2:D
的值,这些值会传递给 JOIN
=ARRAYFORMULA(REGEXREPLACE(TRIM({QUERY(QUERY(C:D,
"select C,count(C) where C is not null group by C pivot D", 0), "select Col1 offset 1", 0),
TRANSPOSE(QUERY(TRANSPOSE(IF(ISNUMBER(QUERY(QUERY(C:D,
"select count(C) where C is not null group by C pivot D", 0), "offset 1", 0)),
QUERY(QUERY(C:D,
"select count(C) where C is not null group by C pivot D", 0), "limit 0", 1)&",", ))
,,999^99))}), ",$", ))
目前,我有这个
=QUERY(
QUERY(
'Raw Paste'!C2:E, "select C, count(C) where C is not null group by C order by C label count(C) ''"
), "WHERE Col2 >= 2")
第二个 QUERY()
这样我就可以像 SQL HAVING
函数那样过滤聚合函数...
将执行此操作:
虽然我想做的是在计数旁边,但我想要第 3 列来连接汇总中包含的发票编号。
这对于 ARRAY_AGG(C)
来说是微不足道的,但是 google 工作表并不那么花哨。
我考虑过可能会以某种方式使用 INDEX
/MATCH
但我不知道.. 我需要将字符串连接在一起,其中一个项目出现不止一次。
C D
111 PPP
222 OOO
222 QQQ
我想要的输出:
C D
222 OOO, QQQ
可以使用FILTER
和JOIN
=IFERROR(JOIN(", ", FILTER(D2:D, C2:C = A3)))
FILTER
将在 C2:C
中查找 A2
和 return 来自 D2:D
的值,这些值会传递给 JOIN
=ARRAYFORMULA(REGEXREPLACE(TRIM({QUERY(QUERY(C:D,
"select C,count(C) where C is not null group by C pivot D", 0), "select Col1 offset 1", 0),
TRANSPOSE(QUERY(TRANSPOSE(IF(ISNUMBER(QUERY(QUERY(C:D,
"select count(C) where C is not null group by C pivot D", 0), "offset 1", 0)),
QUERY(QUERY(C:D,
"select count(C) where C is not null group by C pivot D", 0), "limit 0", 1)&",", ))
,,999^99))}), ",$", ))