如何使用非连续范围简化 excel 中的多个 COUNTIFS
How to simplify multiple COUNTIFS in excel with non-consecutive ranges
我有一个电子表格...
A 你可以看到,单元格 F2 有一个包含多个 COUNTSIF 的公式,基本上检查单元格 F14、F33、F62 y 那里有一个通过,如果有一个会给你一个完成百分比。我的问题是我必须在该公式中添加大约 20-30 个 COUNTIFS,有没有办法简化它。
=(COUNTIF(F14,"Pass")+COUNTIF(F33,"Pass")+COUNTIF(F62,"Pass")+COUNTIF(F75,"Pass")+COUNTIF(F88,"Pass")+COUNTIF(F105,"Pass"))/(COUNTIFS(F14,"<>na")+COUNTIFS(F33,"<>na")+COUNTIFS(F62,"<>na")++COUNTIFS(F75,"<>na")++COUNTIFS(F88,"<>na")+COUNTIFS(F105,"<>na"))
这不是最终公式,仍然缺少大约 20 个条目。如果您想知道为什么不做一个简单的 F15:FXX,因为我只需要具有测试用例名称的单元格,例如 F14、F33 等
对于公式的第一部分,您可以使用 INDEX
函数来 return 一组不连续的值,您可以对其进行测试。
例如,第一部分的等价物是:
=SUM(N(INDEX($F:$F,IF(1,N({14,33,62,75,88,105})))="Pass"))
IF(1,N({…}))
部分是如何指定列 F
到 return 中的哪些单元格(行)。
在不了解您的数据的情况下,不确定如何处理百分比问题。
您发布的公式不会计算百分比,因为它只是将 SUM
除以 F14<>"na"
是否为真,然后为 [= 添加一个19=] 其余因素
在Excel的早期版本中,您可能需要确认这个数组公式,按住ctrl + shift 同时点击 enter。如果操作正确,Excel 将在公式栏中看到的公式周围放置大括号 {...}
。
如果您想要 return 单元格列表中的百分比 "pass",只需将 SUM
除以单元格数即可。您可以对该数字进行硬编码,也可以使用以下方法计算它:
COLUMNS({14,33,62,75,88,105})
或所有一起:
=SUM(N(INDEX($F:$F,IF(1,N({14,33,62,75,88,105})))="Pass"))/6
或
=SUM(N(INDEX($F:$F,IF(1,N({14,33,62,75,88,105})))="Pass"))/COLUMNS({14,33,62,75,88,105})
我有一个电子表格...
A 你可以看到,单元格 F2 有一个包含多个 COUNTSIF 的公式,基本上检查单元格 F14、F33、F62 y 那里有一个通过,如果有一个会给你一个完成百分比。我的问题是我必须在该公式中添加大约 20-30 个 COUNTIFS,有没有办法简化它。
=(COUNTIF(F14,"Pass")+COUNTIF(F33,"Pass")+COUNTIF(F62,"Pass")+COUNTIF(F75,"Pass")+COUNTIF(F88,"Pass")+COUNTIF(F105,"Pass"))/(COUNTIFS(F14,"<>na")+COUNTIFS(F33,"<>na")+COUNTIFS(F62,"<>na")++COUNTIFS(F75,"<>na")++COUNTIFS(F88,"<>na")+COUNTIFS(F105,"<>na"))
这不是最终公式,仍然缺少大约 20 个条目。如果您想知道为什么不做一个简单的 F15:FXX,因为我只需要具有测试用例名称的单元格,例如 F14、F33 等
对于公式的第一部分,您可以使用 INDEX
函数来 return 一组不连续的值,您可以对其进行测试。
例如,第一部分的等价物是:
=SUM(N(INDEX($F:$F,IF(1,N({14,33,62,75,88,105})))="Pass"))
IF(1,N({…}))
部分是如何指定列 F
到 return 中的哪些单元格(行)。
在不了解您的数据的情况下,不确定如何处理百分比问题。
您发布的公式不会计算百分比,因为它只是将 SUM
除以 F14<>"na"
是否为真,然后为 [= 添加一个19=] 其余因素
在Excel的早期版本中,您可能需要确认这个数组公式,按住ctrl + shift 同时点击 enter。如果操作正确,Excel 将在公式栏中看到的公式周围放置大括号 {...}
。
如果您想要 return 单元格列表中的百分比 "pass",只需将 SUM
除以单元格数即可。您可以对该数字进行硬编码,也可以使用以下方法计算它:
COLUMNS({14,33,62,75,88,105})
或所有一起:
=SUM(N(INDEX($F:$F,IF(1,N({14,33,62,75,88,105})))="Pass"))/6
或
=SUM(N(INDEX($F:$F,IF(1,N({14,33,62,75,88,105})))="Pass"))/COLUMNS({14,33,62,75,88,105})