基于列标题的Google Spreadsheet查询计数

问题描述

我有一个如下所示的电子表格:

Name 8/13/2020 | 8/17/2020 | 8/20/2020
John    OT          OT          OT
Bob     OT          AL          OT
Echo    A           LE          OT

我想在一个单元格中输入一个日期,然后将其输出给我,该列中有多少人有“ OT”,“ AL”或“ LE”。因此,我想到了使用查询来做到这一点:

=QUERY(MySheet!B:P,"SELECT COUNT(D) WHERE D = 'OT' OR D = 'AL' OR D = 'LE' LABEL COUNT(D) ''")

但是,我总是必须指定要计数的列,有没有一种方法不能指定计数,而是根据我在另一个字段中输入的日期使其与正确的列匹配?

如果您知道我可以不使用查询的另一种方式,那也可以作为答案。

解决方法

尝试:

=COUNTIF(INDIRECT(
 ADDRESS(6,MATCH(B2,5:5,0))&":"&
 ADDRESS(ROWS(A:A),0))),"OT")

enter image description here


或:

=ARRAYFORMULA({A6:A,INDIRECT(
 ADDRESS(6,0)))})

enter image description here


或:

=ARRAYFORMULA(QUERY({A6:A,0)))},"select Col1,count(Col1) 
  where Col1 is not null 
  group by Col1
  pivot Col2"))

enter image description here