如何计算某个范围内不同值的数量?

如何计算某个范围内不同值的数量?

我有一个已经使用过滤器等组织起来的大表格。我想在某些列下添加一个摘要,其中包含该列中不同值的数量。

没有功能=COUNTDISTINCT(A2:A100),我该做什么呢?(Excel 2003)

我不能确切地用答案来这个类似的问题因为我不想修改表格或过滤。我需要一个添加在工作表中,而不是修改

答案1

=SUMPRODUCT((A2:A100 <> "")/COUNTIF(A2:A100,A2:A100 & ""))

无需使用数组公式即可完成此操作。

答案2

我发现了一个解决方案在这里这似乎是一种令人难以置信的迂回解决方法。但是,嘿,它有效......

=SUM(IF(COUNTIF(A2:A100,A2:A100)=0, "", 1/COUNTIF(A2:A100,A2:A100)))

然后按Ctrl+ Shift+ Enter。仅按Enter将给出错误的结果。

答案3

本文显示文本值:

=SUM(IF(FREQUENCY(IF(LEN(C3:C25)>0,MATCH(C3:C25,C3:C25,0),""), IF(LEN(C3:C25)>0,MATCH(C3:C25,C3:C25,0),""))>0,1))

对于数值来说:

=SUM(IF(FREQUENCY(C3:C25, C3:C25)>0,1))

本文显示了类似的公式,还显示了使用过滤器的方法。

使用筛选器计算唯一值的数量

您可以使用高级筛选从数据列中提取唯一值并将其粘贴到新位置。然后,您可以使用 ROWS 函数来计算新范围内的项目数。

  1. 确保列中的第一行有一个列标题。
  2. 在“数据”菜单上,指向“筛选”,然后单击“高级筛选”。
  3. 在“高级筛选”对话框中,单击“复制到其他位置”。
  4. 如果尚未选择您正在计数的范围,请删除列表范围框中的所有信息,然后单击包含数据的列(或选择范围)。
  5. 在“复制到”框中,删除框中的任何信息或单击该框,然后单击要复制唯一值的空白列。
  6. 选中仅唯一记录复选框,然后单击确定。

    所选范围的唯一值将被复制到新列。

  7. 在范围中最后一个单元格下方的空白单元格中,输入 ROWS 函数。使用刚刚复制的唯一值范围作为参数。例如,如果唯一值范围是 B1:B45,则输入:
    =ROWS(B1:B45)

答案4

为您找到两个资源:

http://www.excelforum.com/excel-worksheet-functions/365877-count-distinct-values.html

http://www.cpearson.com/excel/Duplicates.aspx

您应该能够从那里找到可行的解决方案。

相关内容