David的工作表中有一个国家/地区列表。 A1:A100单元格中的此列表可以包含重复项。大卫想确定列表中唯一国家的数量。

您可以通过多种方法来获得计数,而不必诉诸宏。您应使用的方法取决于列表中数据的特征。但是,一个好的开始是定义一个代表国家列表的命名范围。在以下示例中,假定范围被命名为国家。

(俗称,是吧?)

如果列表仅包含文本条目,并且不包含任何空白单元格,则以下内容将提供计数:

=SUM(1/COUNTIF(Countries,Countries))

通过按Ctrl + Shift + Enter,可以将其输入为数组公式。如果列表包含空白单元格,则公式将有所不同。如果有空格,下面的长数组公式将起作用:

=SUM((Countries<>"")/(COUNTIF(Countries,Countries)+(Countries="")))

另一个数组函数可以工作,但是公式有点复杂:

=SUM(IF(FREQUENCY(IF(LEN(Countries)>0,MATCH (Countries,Countries,0),""), IF(LEN(Countries)

>0,MATCH(Countries,Countries,0),""))>0,1))

此方法(使用FREQUENCY函数)在Microsoft知识库中有完整介绍:

http://support.microsoft.com/?kbid=100122

如果您不想使用数组公式(出于某种原因),则可以使用列表右侧的空白列。此列将包含常规公式,这些公式指示其左侧的值在列表中是否唯一。第一次出现一个值时,该公式将返回数字1。在随后出现的相同值时,该公式将返回0。首先对列表进行排序,然后将以下公式放入单元格B1中:

=IF(ISNA(VLOOKUP(A2,$A$1:A1,1,)),1,0)

只需将公式从B1复制到范围B2:B100。有了这些结果,您可以轻松地对B列求和,并在列表中计算唯一值。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(11708)适用于Microsoft Excel 2007、2010、2013和2016。您可以在此处为Excel的较旧菜单界面找到此技巧的版本:

链接:/ excel-Counting_Unique_Values_with_Functions [使用函数计算唯一值]。