Excel:删除一列中的重复项,同时保留相邻列中的最高值

时间:2009-09-18 07:33:22

标签: excel filter parsing duplicates logging

我有一个包含两列的Excel电子表格。第一列是标签,第二列是数值。我想删除“A”列中的所有重复标签,并保留“B”列中的最大数值。我试图在下面说明(过滤器会产生“合并表”给出“原始表”:

注意1:我正在尝试解析邮件服务器日志文件,以获取主机列表及其在任何特定日期的最大SMTP连接数。如果您可以在Windows上建议一种方法(即使这意味着使用Strawberry 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 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:0)

您可以使用“高级过滤器”选中“仅限唯一记录”复选框,并将唯一值复制到新位置。

获得唯一值后,可以使用数组函数查找最大值。

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

必须使用Ctrl + Shift + Enter输入数组函数,而不是仅输入。

然而,正如JDunkerley所说,透视表将是您最简单,最快捷的方法。