首页 > 解决方案 > 如何使用非连续范围简化excel中的多个COUNTIFS

问题描述

我有一个电子表格...

Excel电子表格

你可以看到,单元格 F2 有一个包含多个 COUNTSIF 的公式,基本上检查单元格 F14、F33、F62 y 那里有一个 Pass,如果有一个会给你一个完成百分比。我的问题是我必须在该公式中添加大约 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 等。

标签: excelformulacountif

解决方案


对于公式的第一部分,您可以使用该INDEX函数返回一组不连续的值,您可以对其进行测试。

例如,第一部分的等价物是:

=SUM(N(INDEX($F:$F,IF(1,N({14,33,62,75,88,105})))="Pass"))

IF(1,N({…}))部分是您如何指定F要返回的 Column 中的哪些单元格(行)。

在不了解您的数据的情况下,不确定如何处理百分比问题。

您发布的公式不会计算百分比,因为它只是除以SUM是否F14<>"na"为真,然后<>"na"为其余的因子添加一个

在早期版本的 Excel 中,您可能需要确认此数组公式,按住ctrl+shift的同时点击enter。如果您正确执行此操作,Excel 将{...}在公式栏中看到的公式周围放置大括号。

如果您想在单元格列表中返回“通过”百分比,只需将其除以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})

推荐阅读