我正在尝试计算特定员工有多少个唯一主管。(请参阅下面的示例数据集。)
我能够以一种迂回的方式来做到这一点,但我想知道你们中是否有任何专家能够找出一个一步式公式来完成同样的工作。
我的方法是:
将工作人员和主管连接成单个字符串:
=CONCATENATE(A2,"-",B2)
使用
if
带有的语句,countif
对 staff-supervisor 字符串的第一个实例赋予 1,对之后的任何实例赋予 0:=IF(COUNTIF($D$2:$D2,D2)>1,0,1)
用于
sumif
添加此列的总和,但仅针对特定的工作人员:=SUMIF($A$2:$A$13,A2,$E$2:$E$13)
正如您所看到的,求和,如果列到达正确的值,因为手动输入独立主管人数柱子。
Data "Goal" Calculated
------------------ ---------------------------- --------------------------------------
Staff | Supervisor | Number of unique supervisors | Concat | 1 if first instance | Sum if
------------------------------------------------------------------------------------------
Anne | F | 1 | Anne-F | 1 | 1
Bob | A | 2 | Bob-A | 1 | 2
Bob | B | 2 | Bob-B | 1 | 2
Mary | D | 2 | Mary-D | 1 | 2
Mary | D | 2 | Mary-D | 0 | 2
Mary | E | 2 | Mary-E | 1 | 2
Sue | G | 2 | Sue-G | 1 | 2
Sue | H | 2 | Sue-H | 1 | 2
Tom | I | 2 | Tom-I | 1 | 2
Tom | I | 2 | Tom-I | 0 | 2
Tom | J | 2 | Tom-J | 1 | 2
Tom | J | 2 | Tom-J | 0 | 2
答案1
答案2
如果您拥有具有FILTER
和UNIQUE
功能的 Office 365,则可以使用:
=COUNTA(UNIQUE(FILTER($B$2:$B$13,A2=$A$2:$A$13)))
答案3
您需要一些数组(CSE)公式来生成摘要类型的输出,它还可以修复该问题:
怎么运行的:
单元格中的数组(CSE)公式
H161
:{=IFERROR(INDEX($F$161:$F$172, MATCH(0,COUNTIF($H$160:H160, $F$161:$F$172), 0)),"")}
在单元格中输入此数组(CSE)公式
I161
:{=IF(SUMPRODUCT((($F$161:$F$172=H161))/COUNTIFS($F$161:$F$172,$F$161:$F$172&"",$G$161:$G$172,$G$161:$G$172&""))=0,"",SUMPRODUCT((($F$161:$F$172=H161))/COUNTIFS($F$161:$F$172,$F$161:$F$172&"",$G$161:$G$172,$G$161:$G$172&"")))}
注意:
完成配方Ctrl+Shift+Enter& 向下填充。
根据需要调整公式中的单元格引用。