约翰有一个工作表,用于注册会议参加者。 A列列出了每个参加者的列表,B列列出了每个参加者代表的公司。每个公司可以有多个人参加。约翰可以很容易地弄清楚有多少人参加会议。它只是A列中的行数(减去任何标题行)。更加困难的任务是确定将有多少公司参加会议。

有两种确定所需计数的方法。首先,如果B列中没有空白单元格,则可以使用以下数组公式(由Ctrl + Shift + Enter输入):

=SUM(1/COUNTIF(B2:B50,B2:B50))

如果该范围内有空格(在这种情况下为B2:B50),则数组公式将返回#DIV / 0!错误。在这种情况下,需要将数组公式更改为以下形式:

=SUM(IF(FREQUENCY(IF(LEN(B2:B50)>0,MATCH(B2:B50,B1:B50,0), ""),IF(LEN(B2:B50)>0,MATCH(B2:B50,B2:B50,0),""))>0,1))

如果您不想使用数组公式,可以将常规公式添加到C列进行计数。首先,按B列的内容对数据表进行排序。这样,数据将按公司顺序排列。然后将如下所示的公式添加到单元格C2中(假设您在第1行中有一个标题):

=IF(B2<>B3,1,0)

将公式向下复制到C列中的所有其他单元格,然后在该列上求和。该总和表示参加的唯一公司的数量,因为当公司更改时,C列中仅显示1。

当然,如果需要查找参加会议的所有公司的名称,则可以使用Excel的筛选功能。请按照下列步骤操作:

。按B列(公司名称)对数据进行排序。

。在B列中选择所有包含数据的单元格(包括标题单元格)。 。从数据菜单中选择过滤器,然后选择高级过滤器。 Excel将显示“高级筛选器”对话框。 (请参见图1。)

。确保选中复制到另一个位置单选按钮。

。确保选中“唯一记录”复选框。

。将插入点放在“复制到”框中,单击一个空白单元格,例如E1。 (这是将公司列表复制到的位置。)

。单击确定。 Excel将唯一的公司名称从原始列表复制到E列。

现在,您可以轻松地看到代表了多少家公司,以及这些公司是谁。

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

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

链接:/ excelribbon-Getting_a_Count_of_Unique_Names [获取唯一名称计数]。