计算与单个列中的多个条件匹配的列中的唯一值

时间:2018-06-08 17:17:40

标签: excel

我试图计算A列中多少个值在B列中混合的多个多个标准。我可以使用辅助列(C列)来完成此操作。为了更好地了解这个想法,请参阅以下内容:

   Row    Column A         Column B        Column C
          Day              Shift           Helper 

    1     Monday           Worked AM       Worked PM
    2     Tuesday          Worked AM    
    3     Wednesday        Worked AM       Worked PM
    4     Monday           Worked PM    
    5     Wednesday        Worked PM    

A栏包含从星期一到星期三的天数,B栏包含轮班,而C栏则包含要返回的公式"工作PM"如果那一天还有一个"工作的PM"在某处。基本上,星期一和星期三在第4和第5行有这些。

单元格C1的公式为=IF(B1="Worked PM","",IF(COUNTIFS($A$1:$A$5,$A1,$B$1:$B$5,"Worked PM")>0,"Worked PM",""))

我有这个助手专栏的原因是因为我想计算那些同时拥有"工作AM" "工作PM"在他们。在我们的例子中,计数公式应该返回2.我使用了以下公式,它完美地运作:=COUNTIFS($B$1:$B$5,"Worked AM",$C$1:$C$5,"Worked PM")

但是,我希望完全消除辅助列(C列),从那以后我就没有做过。我尝试使用SUMPRODUCT, COUNT+MATCH and COUNTIFS。我已经看过有关如何从不同的Excel帮助网站执行此操作的教程,但我没有看到任何与我的关注相符的内容。他们是"关闭" (不确定),但是当我重新配置它们时,我总是失败。

在放弃之前,我已经转到这里作为我的最后一站。我想问一下我实际做的事情是不可能的。如果有可能,我也会就如何达成解决方案寻求指导。提前致谢! :)

1 个答案:

答案 0 :(得分:2)

这将复制助手列方法的结果。输入数组公式( ctrl + shift + 输入):

=SUM(--IF(B2:B6="Worked AM",IFERROR(MATCH(A2:A6,IF(B2:B6="Worked PM",A2:A6),0),0)>0))

但除非您有重复的行条目,否则计数不会等于您在A列中重复的次数?您不必将其作为数组公式输入:

=SUM(--(FREQUENCY(MATCH(A2:A6,A2:A6),ROW(A2:A6)-ROW(A2)+1)>1))