如何使用 Google 表格制作带有变量的 select

How to make select with variable using Google Sheets

我有一个 Google sheet 有几个列,其中记录了来自客户的支持请求。

     A                B                      C
-+---------------+------------------------+-------------
1| Date-1        | John                   | Ticket-101 
2| Date-1        | Anita                  | Ticket-102
3| Date-2        | John                   | Ticket-103
4| Date-3        | Dani                   | Ticket-104
5| Date-3        | Billy                  | Ticket-105

我想创建两个包含客户统计数据的新列。在这些新列中,我想获得客户名称和打开的支持票数。

最终结果必须是:

     A                B             C            D          E
-+---------------+------------+-------------+-----------+---------------
1| Date-1        | John       | Ticket-101  | John      |   2    |
2| Date-1        | Anita      | Ticket-102  | Anita     |   1    |
3| Date-2        | John       | Ticket-103  | Dani      |   1    |
4| Date-3        | Dani       | Ticket-104  | Billy     |   1    |
5| Date-3        | Billy      | Ticket-105  | 

我以这种方式创建了 D 列

=UNIQUE(QUERY(B1:B))

为了计算客户联系我们的次数,我使用:

=COUNTA(IFERROR(QUERY(B1:B, "select B where B='John'", 0)))

当然,这是一个非常愚蠢的解决方案,因为我必须为每个新客户创建一个新公式

....where B='Client name'".....

我想知道是否可以创建一个自动填充客户名称的公式?我想象的是这样的:

=ARRAYFORMULA(COUNTA(IFERROR(QUERY(B1:B, "select B where B='value-of-D'", 0))))

尝试

=query(B:C, "Select B, count(C) where B<>'' group by B label B 'Name', count(C) 'Count'", 1)

看看是否可行?

=QUERY(B:C, 
 "select B,count(C) 
  where B!='' 
  group by B 
  label count(C)''", 0)

您也可以这样订购:

=QUERY(B:C, 
 "select B,count(C) 
  where B!='' 
  group by B 
  order by count(C) desc
  label count(C)''", 0)