Excel:计算条件格式的行数

Excel:计算条件格式的行数

我有一张 Excel 表,其中我在两列上应用了条件格式。仅当该行中的单元格满足条件时,才会突出显示该行。具体来说,我想突出显示其中一列中的内容以特定字母开头而另一列中的数字大于 500 的行。我使用以下函数:

=AND($B2 > 500, SEARCH("A", $C2)=1)

正确的行已突出显示,但是有没有办法计算突出显示的行数?

我尝试使用 COUNTIF 函数:

=COUNTIF($B$2:$C$50, AND($B2 > 500, SEARCH("A", $C2)=1))

但它返回 0。有什么建议吗?

我正在使用 Mac 版 Microsoft Excel 2016

答案1

使用您的特定条件格式公式需要输入数组解决方案:

工作表截图

数组中输入(Ctrl++ ShiftEnter以下公式D2(不要忘记删除{and }):

{=SUM((B2:B50>500)*IFERROR((SEARCH("A",C2:C50)=1),FALSE))}

由于这是一个数组输入公式,因此会为每个范围B2:B50和生成一个数组C2:C50,其中数组值是每行各自比较的结果。

要理解的关键是,相乘时,aTRUE值转换为 a 1,aFALSE值转换为 a 。因此,当且仅当0两个数组相乘生成的数组将包含值为 的元素时,1两个都B大于 500 并且C列以“A”开头。(否则,元素值将为0。)

对数组求和可得出两个条件都成立的行数。


而不是检查列中值的第一个字母“A”的索引是否C为“1”,更好的解决方案是直接检查第一个字符是否为“A”:

{=SUM((B2:B50>500)*(LEFT(C2:C50,1)="A"))}

使用这种新格式的公式,并且意识到函数COUNTIFS()可以使用通配符,很明显非数组输入的替代解决方案是:

=COUNTIFS(B2:B50,">500",C2:C50,"=A*")

相关内容