我正在尝试计算工作表中B列中唯一名称的数量。列B所在的工作表将复制同一工作簿中其他工作表的值。如果上一个工作表上有一个空白单元格,则在公式所在的工作表上显示为零。名称显示为名称。我目前正在使用 {= SUM(1 / COUNTIF(B1:B468,B1:B468))} 。但我不确定这是正确的公式。我试图只计算唯一的名称,并排除空白和&零。我已经检查了这里提出的两个类似的问题。在谷歌上。我发现他们用空白计算了uniques,但没有使用空白和空格。零。
答案 0 :(得分:2)
通过"计算唯一性"我假设你不想两次计算相同的值.....在这种情况下尝试这个公式
=SUMPRODUCT((B1:B468<>0)/COUNTIF(B1:B468,B1:B468&""))
答案 1 :(得分:2)
Barry Houdini的解决方案有效,但我认为这会更有效率(如果你只有约500条记录,这不是问题):
=SUM(IF(FREQUENCY(IF(B1:B468<>0,MATCH(B1:B468,B1:B468,0)),ROW(B1:B468)),1))
输入 Ctrl + Shift + 输入作为数组公式输入。
另外,关于ImaginaryHuman072889的答案,NOT(ISBLANK)测试是多余的。这样做会完全相同(虽然正如Barry Houdini指出的那样,不会考虑唯一值)
= SUMPRODUCT(--(B1:B468<>0))
答案 2 :(得分:1)
我会这样做:
= SUMPRODUCT((B1:B468<>0)*NOT(ISBLANK(B1:B468)))
这将计算单元格区域中非空白和非零的所有条目。