Excel:在保留相邻列最高值的情况下删除一个列中的重复项

4
我有一个包含两列的Excel电子表格。第一列是标签,第二列是数值。我想要删除"A"列中所有重复的标签,并保留"B"列中的最大数值。我已经尝试用下面的示例说明(筛选器将给出"Consolidated Sheet"):
注意1:我正在尝试解析邮件服务器日志文件,以获取任何特定日期主机及其最大SMTP连接数的列表。如果您可以在Windows上提供一种方法来完成这个任务(即使需要使用草莓Perl),我会非常感激。
注意2:您可能需要在我绘制的“电子表格”中运用想象力,我试图将每行放在单独的一行中,但所有行都呈现为单行。[编辑]通过将所有内容放入无序列表中进行了修复。
"原始表格"
colA, colB name1, 32.0, name1, 12.5, name1, 11.0, name1, 10.1, name1, 6.9, name2, 2.3, name2, 1.1, name2, 0.9, name3, 54, name3, 60, name3, 101, name3, 12,
"合并表格"
colA, colB name1, 32.0, name2, 2.3, name3, 101,
谢谢, emk
2个回答

5

你不能只使用Excel的数据透视表功能吗?


谢谢。数据透视表就是我所需要的...我应该更经常地使用Excel(以及Windows)。 - emk
我也考虑过这个问题,但由于我需要快速的结果,所以我会使用这个方法。实际上,我希望能够在同一工作簿中的另一个工作表上执行SQL查询。这样更清晰地实现了我的真正目标——获取第一列唯一的行,然后在另一列中查找。目前还没有时间去研究如何实现这一点。所以暂时对我来说,是通过透视表,然后再通过vlookup返回到原始表格。 - talkaboutquality

0

您可以使用高级筛选,并选择“仅唯一记录”复选框,将唯一值复制到新位置。

一旦您获得了唯一值,就可以使用数组函数查找最大值。

假设您的原始数据在a2:a13中,您的唯一值在d2:d4中(忽略列标题)。您在e2中的公式应为=SUMPRODUCT(MAX(($A2:$A13=D2)*($B2:$B13)))

数组函数必须使用Ctrl+Shift+Enter输入到单元格中,而不是只使用Enter。

然而,正如JDunkerley所说,透视表可能是您最简单和最快速的方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接