Excel:当满足多个条件中的至少一个条件时,在列中对单元格进行一次计数

时间:2014-02-20 11:32:45

标签: excel count formula excel-2013 multiple-conditions

我在Excel 2013工作。我有一个快速的谷歌这个,但我认为我的术语可能是错的,因为我没有找到解决我的确切问题的答案。

我有一系列与医疗相关的连锁结果,例如:

"999 Emergency Ambulance By Co-op Admit Accident & Emergency! Admitted To Hospital"
"Advice Only"
"Admit to hospital"
"Medication prescribed"

我想在一个单元格中输入一个公式,该公式计算EITHER包含“999”“Admit”或“A& E”或ENTIRE列“Admission”的记录。

我不想让另一列执行此计数,我知道以下工作:

=IF(ISNUMBER(SEARCH("999",K2)),1,IF(ISNUMBER(SEARCH("ADMIT",K2)),1,IF(ISNUMBER(SEARCH("ADMISSION",K2)),1,0)))

但我需要的公式将替换包含上述公式的列的总和,从而无需额外的列。

我正在努力的是,我见过的其他解决方案会检查每个条件的列,并且最终会将细胞计数两次。正如您在上面所看到的,一些单元格将包含“999”和“Admit”。

如果这是一个简单的问题,请道歉!

提前致谢。

2 个答案:

答案 0 :(得分:1)

您可以使用以下公式:

=SUMPRODUCT(1*((NOT(ISERROR(SEARCH("999";A1:A4)))+NOT(ISERROR(SEARCH("Admit";A1:A4)))+NOT(ISERROR(SEARCH("Admission";A1:A4))))>0))

或者,如在您的示例中,使用Isnumber而不是NOT(ISERROR(

根据您的区域设置,您可能需要更换字段分隔符";" by","

答案 1 :(得分:1)

你可以在这里使用MMULT来避免重复,即

=SUMPRODUCT((MMULT(ISNUMBER(SEARCH({999,"Admit","A&E","Admission"},K2:K100))+0,{1;1;1;1})>0)+0)

假设K2:K100范围内的数据 - 根据需要更改

请注意,{1; 1; 1; 1}中有4个1匹配4个搜索字词 - 如果增加搜索字词数,则需要增加1的数量