Excel宏删除重复

时间:2014-04-03 14:58:07

标签: excel vba excel-vba

我需要帮助创建Excel宏。

我有两列: A 包含计算机名称, B 包含应用程序名称和版本。

列A将具有重复的计算机名称,但我只需要计算它由较新的应用程序版本列出。例如,计算机3显示Acrobat 3和Acrobat 5的2次。 我只需删除Acrobat 3行或不计算它。

计算机名称一直重复时。因此,使用Acrobat 5的计算机3将位于具有Acrobat 3的计算机3的行上方。

这一切都会影响我对每个应用程序的数据透视表。

Rowlabel是应用程序名称。值是计算机名称的计数。这会将具有相同应用程序的所有计算机组合成一个数字,以便我可以看到计算机如何安装某个版本。

GreenWeenie的解决方案用于整理所有具有相同版本的重复项,但我需要在此处介绍这种情况:

LT133059    VISIO Std 2010
LT133059    VISIO Std 2002

LT133274    VISIO Std 2002
LT133274    VISIO Std 2010

我需要为同一个机器名计算更高版本。

以下是一些示例数据。

Computer        Application
LT133255    VISIO Std 2002
LT133265    VISIO Std 2010
LT133274    VISIO Std 2002
LT133274    VISIO Std 2010
LT133276    VISIO Std 2002
LT133276    VISIO Std 2002
LT133059    VISIO Std 2010
LT133059    VISIO Std 2002

1 个答案:

答案 0 :(得分:1)

假设第1行有列标题,数据从第2行开始。

添加帮助栏" C"使用以下公式

=A2&TRIM(LEFT(B2,FIND("|",SUBSTITUTE(B2," ","|", LEN(B2)-LEN(SUBSTITUTE(B2," ",""))))))

这将删除“应用程序”字段中最后一个空格后的所有内容,该字段应删除版本号,并将其附加到计算机名称。

添加帮助栏" D"使用以下公式

=IF(MATCH(C2,C:C,0)=ROW(C2),1,0)

当它是计算机/软件标题的第一个实例

时,返回值1

让您的数据透视表总和列D.