QUERY - GROUP BY 按日期计算不同的客户

QUERY - GROUP BY counting different clients by date

数据样本: https://docs.google.com/spreadsheets/d/1DDs2PvljSsY0jD0v2VmM0NsGkJmhoBPKOXvln9d1MTw/edit?usp=sharing

以上是电子表格的 link,其中包含我正在使用的数据示例。 我需要做一个查询,我可以计算那天我参加了多少不同的客户。示例(因此不需要 INFO 列,这里只是帮助我描述我需要的东西):

DATE COUNT(DIFFERENT CLIENTS) INFO
05/01/2021 3 "Fleury Campinas", "SEDI II AME SOROCABA", "Hospital Santa Catarina"
06/01/2021 2 "Hospital e Maternidade Metropolitano Lapa", "Fleury A+ Morumbi"

你能帮帮我吗?

尝试获取第一列和第三列中的唯一值,然后使用查询按日期分组:

=query(unique({A:A,C:C}),"select Col1,count(Col2) where Col1 is not null group by Col1")

鉴于实际数据的布局和巴西的语言环境,我添加了一个新的 sheet(“Erik Help”),公式如下:

=ArrayFormula({"DATE"\"UNIQUE CLIENTS"\"INFO";{QUERY(UNIQUE({'Query from Data'!B5:B\'Query from Data'!E5:E});"Select Col1, COUNT(Col2) WHERE Col1 Is Not Null GROUP BY Col1 LABEL COUNT(Col2) ''")\REGEXREPLACE(REGEXREPLACE(TRIM(FLATTEN(QUERY(QUERY({'Query from Data'!B5:B\'Query from Data'!E5:E&","}; "Select MAX(Col2) WHERE Col1 Is Not Null GROUP BY Col2 PIVOT Col1");; 9^9)));"^\S+\s*|[,\s]+$";"");",\s*";CHAR(10))}})

这很复杂,完整地解释它比编写它花费的时间要长得多。所以我提供它as-is,邀请任何有兴趣的人把它拆开,看看每个部分单独和共同做什么。

简短版本:

Headers 已创建。

在这些下方,有一个虚拟数组,由另一个 one-column QUERY 左侧的 two-column QUERY 组成。前 return 的唯一日期和唯一客户的数量(两列)。第二个将每个日期与该日期的唯一客户列表结合起来,然后使用 REGEX-type 命令删除日期部分并将 comma-space 替换为行 return CHAR(10) .