You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需Pivot与Unique()函数,统计符合条件的唯一员工编号数量

解决方案

假设你的数据中:

  • Employee Number列在A列(数据范围A2:A100,表头A1)
  • Function列在B列(数据范围B2:B100,表头B1)

下面提供几种不依赖数据透视表(Pivot)和UNIQUE()函数的实现方法:

方法1:SUMPRODUCT+COUNTIFS 一键公式

直接在空白单元格输入以下公式就能得到结果:

=SUMPRODUCT(--(COUNTIFS(A2:A100,A2:A100,B2:B100,"Code 1")>=2))/SUMPRODUCT(--(COUNTIFS(A2:A100,A2:A100,B2:B100,"Code 1")>=2)/COUNTIF(A2:A100,A2:A100))

逻辑说明:

  • COUNTIFS(A2:A100,A2:A100,B2:B100,"Code 1"):算出每个员工对应的Code 1条目总数
  • --(...)>=2:把“条目数≥2”的条件转换成1(符合)/0(不符合)的数值
  • 外层SUMPRODUCT负责聚合计算,通过去重逻辑得到最终的唯一员工数量

方法2:辅助列分步统计(更易理解)

如果觉得数组公式太绕,用辅助列拆分步骤更直观:

  1. 在C2单元格输入公式,下拉填充到所有行,计算每个员工的Code 1条目数:
    =COUNTIFS($A$2:$A$100,A2,$B$2:$B$100,"Code 1")
    
  2. 在D2单元格输入公式,下拉填充,标记当前行是否属于目标范围(Function为Code 1且条目数≥2):
    =IF(AND(B2="Code 1",C2>=2),1,0)
    
  3. 最后在空白单元格输入公式,统计唯一符合条件的员工数:
    =SUMPRODUCT((C2:C100>=2)/COUNTIF(A2:A100,A2:A100)*(C2:C100>=2))
    

方法3:旧版Excel兼容的数组公式

如果用的是没有动态数组功能的旧版Excel,输入以下公式后按Ctrl+Shift+Enter确认(不是直接回车):

=SUM(IF(FREQUENCY(IF(B2:B100="Code 1",MATCH(A2:A100,A2:A100,0)),ROW(A2:A100)-ROW(A2)+1)>=2,1,0))

逻辑说明:

  • MATCH(A2:A100,A2:A100,0):返回每个员工编号在列中的首次出现位置
  • FREQUENCY:统计每个首次出现位置对应的条目数量
  • 筛选出条目数≥2的情况并求和,得到最终结果

内容的提问来源于stack exchange,提问作者Lien0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 08:27:19