具有唯一值的复杂 COUNTIFS 公式

Complicated COUNTIFS formula with unique values

提问人:Michael Aide 提问时间:10/31/2023 最后编辑:Mayukh BhattacharyaMichael Aide 更新时间:10/31/2023 访问量:79

问:

我有一个用于生成每日报告的电子表格,其中 A 列是公司名称,B 列是员工的姓名,C 列是员工的职位。最终目标是统计当天同一家公司有多少人工作。

但是,我现在遇到了一个问题,如果员工在同一天工作多个职位(示例电子表格中是 XYZ Limited 的 Emily Anne),它们会被重复计算。

Sample worksheet

为了计算同一家公司的员工,我使用了 countifs 公式:

=COUNTIFS(A2:A20,"ABC Company",D2:D20,">0") 

因为某些员工可能在特定日期不工作。但我不确定使用什么公式来确保每天工作多个职位的员工不会被重复计算。寻求帮助的公式仍然可以帮助我计算员工,但只计算一个名字的出现次数。下面是我的电子表格中的一些虚拟数据的示例。

数组 excel excel-formula countif

评论


答:

2赞 Mayukh Bhattacharya 10/31/2023 #1

尝试使用:SUMPRODUCT( )

enter image description here


• 细胞中使用的配方H2

=SUMPRODUCT(IFERROR(((G2=$A$2:$A$20)*($D$2:$D$20>0))/
  COUNTIFS($A$2:$A$20,$A$2:$A$20,$B$2:$B$20,$B$2:$B$20,$D$2:$D$20,">0"),0))

或者,与SUMPRODUCT()IF()

enter image description here


• 细胞中使用的配方H2

=SUMPRODUCT(IF((G2=$A$2:$A$20)*($D$2:$D$20>0),
  1/COUNTIFS($A$2:$A$20,$A$2:$A$20,$B$2:$B$20,$B$2:$B$20),0))

胸罩

enter image description here


• 细胞中使用的配方G2

=LET(
    a,A2:A20,
    b,B2:B20,
    c,D2:D20,
    ua,UNIQUE(a),
    HSTACK(ua,BYROW(ua,LAMBDA(x,SUM(--(UNIQUE(FILTER(b,(x=a)*(c>0),""))<>""))))))

评论

1赞 Tom Sharpe 10/31/2023
公式对我来说看起来不错。我认为 B8 和 B9 一样是 Emily Anne,所以这是一个重复的名字,应该只计算一次,XYZ 限制总共有 4 个。
0赞 Mayukh Bhattacharya 10/31/2023
@TomSharpe先生,没错,我认为缺少,我已经使用图像工具转换了屏幕截图,现在将更改它。谢谢先生yExcel