忽略重复项的列中的计数值

Count values in column ignoring duplicates

不是真正的 Excel 用户,但看似简单的事情对我来说却非常困难。我遇到了麻烦,因为我无法想出一个干净整洁的(或任何)方法来让它工作。

我这里有:

我需要创建一个新列来告诉每个职业的员工数量,同时忽略重复项(突出显示)。

姓名公式的数量有效,所以也许可以使用它?或者它可能只是挡路,应该清除。

只是: =COUNTIFS(A:A;A2)

找了半天没找到合适的。任何帮助或建议将不胜感激。我希望我解释清楚了。

谢谢

添加最后一列,它是前 3 列的串联,然后使用

=SUMPRODUCT(1/COUNTIF(D2:D9,D2:D9))

这个公式有很好的解释here。基本上,出现一次的值将计为 1。出现多次的值将作为其总出现次数的分数出现并相加为 1。

如果您通过选择区域中填充的单元格并按 Ctrl+T 将数据转换为 Excel table ,然后公式将自动填充到最后一列。然后您可以在公式中引用 table 列,并且在添加行时不需要修改公式。

不同的员工职业计数

有辅助列

Unique 和 Distinct 值很棘手。当结合扩展范围时,使用辅助列有利于识别其中任何一个:

=SUMPRODUCT((A2=$A:$A1)*(C2=$C:$C1))
Relative Rows: ^ ^

  • 粘贴到单元格 E2。
  • 复制 将公式从粘贴位置向下拖动。

上面标识的相对行号随着公式被向下复制而增加。这就创造了一个越来越大的比较范围。范围扩大。

在这种情况下,扩展的范围是已检查值的范围。多次扩展结果范围并进行测试,以消除在结果列表的后续行中发布已发布结果的重复项。

  • 辅助列的值是名称和职业对之前出现的次数。零之前出现告诉我们这是第一次出现。我们将只计算主公式中的零(第一次出现)。

计算每个职业不同雇员的主要公式:

=COUNTIFS( $C:$C, C2, $E:$E, 0)

  • 粘贴到单元格 D2。
  • 复制 将公式从粘贴位置向下拖动。

在这里,我们计算该行职业的所有行,其中职业与列出的职业范围相匹配,并且对于职业列表中的特定行,辅助列行值为零。

数组 3 中的 SUMPRODUCT 'Deals'

您可能有不同职业 (Tech & Worker, Tech & Economy) 的同名员工 (David, Michael)。为了区分它们,在 B2 中你可以使用:

=SUMPRODUCT((A:A=A2)*(C:C=C2))

在 D2 中你可以使用:

=SUMPRODUCT((1/B:B)*(C:C=C2))

没有辅助列:

两个选项,D2

{=SUM(--(FREQUENCY(IF($B:$B=C2,MATCH($A:$A,$A:$A,0)),ROW($A:$A)-ROW($D)+1)>0))}

或输入E2:

{=SUMPRODUCT((($B:$B=C2))/COUNTIFS($B:$B,$B:$B&"",$A:$A,$A:$A&""))}

注意都是数组公式,需要通过CtrlShiftEnter[=输入15=]