从Excel中的名称列表创建Occurence列表

时间:2016-07-08 13:28:35

标签: excel filtering countif

我有一个大约13,000个名字的列表。我想创建一个数组/表,列出每个名称及其在列表中显示的次数。

例如,如果我有:

Alex | Alex | Alex | Sam | Sam | Johnny

我希望Excel向我展示一张表格:

Alex   | 3
Sam    | 2
Johnny | 1

我希望Excel能够自动找到名称列表中的每个不同名称,而无需我自己输入。

我该怎么做?

3 个答案:

答案 0 :(得分:1)

我建议使用数据透视表。确保您的名称列表上有标题,例如" name"。在行标签部分和值部分中创建一个带有名称字段的数据透视表。您将立即计算每个名称。

答案 1 :(得分:1)

我发现最简单的方法是删除重复项以获取列中不同名称的列表,将其复制到新工作表,还原重复项,然后在新工作表上使用此公式并向下拖动: / p>

=COUNTIF('Sheet'!B1:B13000,A1)

其中Sheet / B1:B13000引用所有13,000个名称的范围,而A列具有不同的名称(A1作为第一列)。

答案 2 :(得分:-2)

在另一个单元格中,键入:

var loadFirmUsersSuccess = function(data){ scope.userList = $.map(data.data.data[0].theList, function(item){ return {id: item.id, name: item.billFirst + ' ' + item.billLast}; }); }; 然后拖动以选择所有数据。键入=COUNTIF(并输入,,然后按Enter键。

所以你输入的内容是:"Alex")

=COUNTIF(A1:A13000,"Alex")Sam

的下一个单元格中执行相同的操作

修改

由于您要自动查找名称(无需为每个名称键入),您必须选择包含名称的整个列。然后,首先确保列顶部有一个标题,如下所示:

Johnny

您需要在表格的第一行显示“名称”标题。

然后,选择此标题。然后,在功能区中,转到数据>排序&过滤组,然后单击“高级”。接下来,选择“复制到另一个位置”。在“复制到:”范围内,单击选择相同(或另一个工作表)中的任何位置。最后点击“仅限唯一记录”,然后点击“确定”。将复制表中的名称列表。现在,您只需将Names Alex Sam . . . 公式中的"Alex"替换为COUNTIF即可。该单元格是您将名称复制到的位置。它从秒行开始,因为第一行有标题。

您应在单元格C2中键入此=COUNTIF($A$1:$A$13000,C2)公式,以便在每个名称旁边显示出现次数。然后将公式拖到每个名称旁边。 “$”是使名称列表成为绝对范围,因此在拖动公式时它不会改变。

以下是超级用户社区的链接,以便在需要时进行说明:

https://superuser.com/questions/442653/ms-excel-how-to-count-occurrences-of-items-in-a-list