2011-05-18 22:05:15 +0000 2011-05-18 22:05:15 +0000
2
2

如何在excel中把相似的行归为一类

我有一个电子表格,其中有大约2000行,我需要根据大约12列的内容将其分组。这里的关键是,这些行可能在一些不同的列中有所不同,但对于这12列,如果它们在各自列中的每一行都有相等的值,我想把它们分组,并给它们分配一个编号、名称之类的。

有什么好办法?有什么简单的方法吗?根据某一列的值进行筛选的问题是,每一列可能有好几个不同的值在里面,而组合的数量是巨大的,所以对于我来说,要手动选择每一个组合是非常头疼的。

答案 (5)

4
4
4
2011-05-18 22:34:00 +0000

简单的方法:

创建另一列,是所有12列的连接,然后按该列排序。

更难的方法:

使用VBA,可能是通过按钮触发。

将12列连成一个字符串,创建一个字符串数组。

在内部对所有的进行排序,跟踪每一行是哪一行,然后按照你想要的方式输出。

1
1
1
2011-05-19 00:05:50 +0000

将相似的行分组在一起是聚类的一种形式。维基百科对多维聚类分析有一个不错的介绍,你可以从那里开始。

执行聚类的技术有很多,但这些技术中的任何一种在Excel公式的上下文中实现都是一个挑战。

1
1
1
2012-05-30 16:51:54 +0000

你可以使用这个公式根据相似的值组行。

Example:

Name Place              

Rajesh Markapur
Rajesh Vijayawada
Suresh Minneapolis 
Mahesh Guntur 
Mahesh Chennai
Brijesh Markapur
Sateesh Bubaneshwar
Sateesh Markapur

如果你想根据名称对这些数据进行分组,如下所示

Excel col A B C 
Excelrow Group Name Place              
   1 1 Rajesh Markapur
   2 1 Rajesh Vijayawada
   3 2 Suresh Minneapolis 
   4 3 Mahesh Guntur 
   5 3 Mahesh Chennai

使用这个公式,=if (B2=B3, A1,A2+1)

1
1
1
2011-05-18 22:51:39 +0000

试试透视表。它们可以让您以极大的灵活性对数据进行分组、汇总、过滤和排序。

对于源数据的布局方式有一些要求,这样才能使数据透视变得最有效。在没有看到你的数据之前,很难知道它有多合适。

0
0
0
2011-05-19 07:05:16 +0000

也许你应该看看 ASAP Utilities 。它是Excel的一个插件,在很多事情中,让你做有条件的行和列选择。它是免费的(非商业用途),所以你不妨试试。