2013-10-11 93 views
0

我有一个在Excel工作表上多次出现的名称列表。创建一个简单的`If`语句和一个循环

我想尝试创建第二个选项卡,它只存储一次每个名称,并附上一个数字值,显示出现在原始选项卡中的次数,以便我可以获得简单的排名。

回答

1

确保您的列已标记在顶部。使用数据>排序&筛选与重复的记录创建在同一张清单:

有了您的列标记,选择它,数据>排序&过滤 - 高级,选择复制到另一个位置(选择其中Copy to:)并打勾Unique records only

然后像=COUNTIF(A:A,B2)这样的东西来计算实例,最后将添加的列移动到您的第二个选项卡。


另外,创建数据透视表:

与标记你的专栏,选择它,插入>表格 - 数据透视表,数据透视表,OK,你的标签拖动到行标签,进入Σ值。


如果列表已排序,您也可以使用小计。

+0

嗨,谢谢你的回答。问题是我有一个很长的名单。因此,主要部分是将名称复制到另一个选项卡上,每个选项卡只出现一次。有没有解决这个问题,还是我不明白你? – MegaByteMe

+0

您的长列表是否包含超过10,000个不同的值? – pnuts

+0

我的意思是如何创建包含每个文本的第二个列表只有一次? – MegaByteMe

0

我为这种情况所做的一件事是首先按名称对同一名称的多个示例进行排序。这将把所有的名字集中在一起。

从那里可以简单地了解每个名字的出现频率。

将第一张名称显示在第二张纸上的纸上,并附上1作为计数器值,然后检查下一个名称是否相同。
如果是,请增加第二张纸上的计数器。
如果名称不同,请在工作表上输入该名称,并将计数器设置为1并重复,直到第一张工作表上的所有行都被考虑。

+0

感谢迈克,请参阅我对pnut的回答评论.. – MegaByteMe

+0

我不得不这样做几次这样做,并通过写一个vba例程来处理它。我假设你正在寻找。对不起,如果我误解了! – Mike

+0

把你的名字列表复制到第二张工作表中。 在第二张工作表上,选择“数据”>“删除重复项”。 在第二张纸上列表中第一个名字右侧的单元格中,输入: '= COUNTIF(Sheet1!$ A:$ A,$ A1)' 此处假定名称的完整列表位于Sheet1的列A并且您将该列表复制到Sheet2中的列A. – Mike