在同一列中具有/多个条件的 COUNTIFS
COUNTIFS w/ Multiple Criteria in Same Column
我正在尝试计算同一列中字母(如字母 C 到 Z,不包括 RR)的实例,如果它们列在名称旁边。 Here's my sample Google Sheet that you can edit.
我正在尝试在单元格 F3 中插入以黄色突出显示的公式。到目前为止我已经...
=arrayformula(SUM(COUNTIFS(A2:A,{"C","D","E","F","G"},C2:C,E3:E)))
看起来我所拥有的应该可以工作,但它给了我一个#VALUE 错误,说“COUNTIFS 的 ARRAY 参数大小不同”。
似乎可以在 COUNTIF 公式中使用 REGEXMATCH,以便更轻松地将搜索限制在我需要的字母范围内,但不确定如何构建公式。
感谢您的帮助!
更新
下面的公式有效,但仅适用于 A 列。我实际上需要指定一个不同的字母范围,以在 B 列中计算并在 K 列中总计。
=QUERY(A2:C,"select C,count(A) where A matches 'C|D|E|F|G|H|I|J|K' group by C label count(A)''", 0)
似乎 几乎回答了它。
如果您将此公式粘贴到单元格 F3 到 F7 中,它应该适用。
我目前有单元格 P1 到 P26(你可能想隐藏此列)按顺序排列字母表中的字母,这样你就可以 select P3:P26 (C-Z ) 为您的 COUNTIFS 设置第一个条件。
=arrayformula(SUM(COUNTIFS(A2:A, $P:$P,C2:C,E3)))
您还必须在其他需要的地方实施这些公式,但更改此公式以使其在其他地方也适用应该不难。
当前进度:
={QUERY(A2:C,"select C,count(A) where A matches 'C|D|E|F|G|H|I|J|K' and A is not null group by C label count(A)''", 0),QUERY(A2:C,"select count(B) where B matches 'F|G|H|I|J|K' and B is not null group by C label count(B)''", 0)}
正如我们在您的样本上讨论/测试的那样sheet。这应该尽可能接近您想要 filter/display.
的数据
发现 2 公式解决方案也可以工作。答案在 Sheet2 上面链接的同一个电子表格中。如果有人需要不同的公式,它应该可以防止第一个公式不起作用。
J2 - =QUERY(A2:C,"select C,count(A) where A matches 'C|D|E|F|G|H|I|J|K' group by C label count(A)''", 0)
L2 - =ArrayFormula(IFNA(vlookup(J2:J,QUERY(A2:C,"select C,count(B) where B matches 'F|G|H|I|J|K' group by C label count(B)''", 0),2,0)))
我正在尝试计算同一列中字母(如字母 C 到 Z,不包括 RR)的实例,如果它们列在名称旁边。 Here's my sample Google Sheet that you can edit.
我正在尝试在单元格 F3 中插入以黄色突出显示的公式。到目前为止我已经...
=arrayformula(SUM(COUNTIFS(A2:A,{"C","D","E","F","G"},C2:C,E3:E)))
看起来我所拥有的应该可以工作,但它给了我一个#VALUE 错误,说“COUNTIFS 的 ARRAY 参数大小不同”。
似乎可以在 COUNTIF 公式中使用 REGEXMATCH,以便更轻松地将搜索限制在我需要的字母范围内,但不确定如何构建公式。
感谢您的帮助!
更新 下面的公式有效,但仅适用于 A 列。我实际上需要指定一个不同的字母范围,以在 B 列中计算并在 K 列中总计。
=QUERY(A2:C,"select C,count(A) where A matches 'C|D|E|F|G|H|I|J|K' group by C label count(A)''", 0)
似乎
如果您将此公式粘贴到单元格 F3 到 F7 中,它应该适用。 我目前有单元格 P1 到 P26(你可能想隐藏此列)按顺序排列字母表中的字母,这样你就可以 select P3:P26 (C-Z ) 为您的 COUNTIFS 设置第一个条件。
=arrayformula(SUM(COUNTIFS(A2:A, $P:$P,C2:C,E3)))
您还必须在其他需要的地方实施这些公式,但更改此公式以使其在其他地方也适用应该不难。
当前进度:
={QUERY(A2:C,"select C,count(A) where A matches 'C|D|E|F|G|H|I|J|K' and A is not null group by C label count(A)''", 0),QUERY(A2:C,"select count(B) where B matches 'F|G|H|I|J|K' and B is not null group by C label count(B)''", 0)}
正如我们在您的样本上讨论/测试的那样sheet。这应该尽可能接近您想要 filter/display.
的数据发现 2 公式解决方案也可以工作。答案在 Sheet2 上面链接的同一个电子表格中。如果有人需要不同的公式,它应该可以防止第一个公式不起作用。
J2 - =QUERY(A2:C,"select C,count(A) where A matches 'C|D|E|F|G|H|I|J|K' group by C label count(A)''", 0)
L2 - =ArrayFormula(IFNA(vlookup(J2:J,QUERY(A2:C,"select C,count(B) where B matches 'F|G|H|I|J|K' group by C label count(B)''", 0),2,0)))