4

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

注意 1:我正在尝试解析邮件服务器日志文件以获取主机列表及其在任何特定日期的最大 SMTP 连接。如果您可以建议一种在 Windows 上执行此操作的方法(即使这意味着使用 Strawberry Perl),我将不胜感激该解决方案。

注意 2:您可能必须对我在下面绘制的“电子表格”发挥想象力,我尝试将每一行放在单独的行中,但所有行都呈现在一行中。[编辑] 通过将所有内容放在无序列表中来修复它。

《原单》

  • colA, colB
  • 名称 1, 32.0,
  • 名称1, 12.5,
  • 名称1, 11.0,
  • 名称1, 10.1,
  • 名称 1, 6.9,
  • 名称2, 2.3,
  • 名称2, 1.1,
  • 名称2, 0.9,
  • 姓名 3, 54,
  • 姓名 3, 60,
  • 姓名 3, 101,
  • 姓名 3, 12,

《综合表》

  • colA, colB
  • 名称 1, 32.0,
  • 名称2, 2.3,
  • 姓名 3, 101,

问候, emk

4

2 回答 2

5

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

于 2009-09-18T07:42:02.030 回答
0

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

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

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

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

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

于 2009-09-18T08:23:22.157 回答