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

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

(俗称,是吧?)

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

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

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

=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/kb/100122

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

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

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

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

本技巧(2167)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: