【问题标题】:Google Spreadsheet Query count based on column header基于列标题的 Google 电子表格查询计数
【发布时间】:2020-08-18 17:17:11
【问题描述】:

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

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) ''")

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

如果您知道我可以使用不使用查询的不同方式来执行此操作,那也可以作为答案。

【问题讨论】:

标签: google-sheets count google-sheets-formula google-sheets-query google-query-language


【解决方案1】:

尝试:

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


或:

=ARRAYFORMULA({A6:A, INDIRECT(
 ADDRESS(6,         MATCH(B2, 5:5, 0))&":"&
 ADDRESS(ROWS(A:A), MATCH(B2, 5:5, 0)))})


或:

=ARRAYFORMULA(QUERY({A6:A, INDIRECT(
 ADDRESS(6,         MATCH(B2, 5:5, 0))&":"&
 ADDRESS(ROWS(A:A), MATCH(B2, 5:5, 0)))}, 
 "select Col1,count(Col1) 
  where Col1 is not null 
  group by Col1
  pivot Col2"))

【讨论】:

  • 嗯,我似乎无法让它工作。我正在查看您的第一种方法,因为这就是我正在寻找的,总数与每个人的对比。数字6代表什么?我看到 5, 5 是跳过 5 行并使用接下来的 5 行。
  • 见第三个公式
  • 第三个公式将人们分开,基本上这些字母代表的是准时,缺席,迟到,早退。我只需要知道那里有多少人,他们是否迟到或早退或是否准时并不重要。
  • 你能分享一份你的工作表副本吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-31
  • 2023-03-23
  • 2015-08-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多