1

我在 Excel 中有两列,如下所示:

col1  col2

1     10
1     22
1     11
1     23
1     14
2     16
2     12
2     10
2     9

如何编写命令以返回col2对应于每个唯一值的最大值col1

所以这里我需要写一个命令来获取2316

我在这里显示的数据是假数据;我的实际数据集中有 600 个唯一值col1

4

3 回答 3

8

数据透视表:Excel 中最未被充分利用且最强大的功能。

  • 文件菜单:
  • 插入
  • 数据透视表
  • 选择范围
  • 如下图所示填写

在此处输入图像描述

一步步:

  • 将光标放在工作表上所有数据右侧的单元格中。
  • 从菜单中选择插入
  • 选择数据透视表图标
  • 从弹出的图标中选择数据透视表
  • 使用按钮选择包含的单元格范围(2 列中的所有 600 多行)(或只需输入 $A:$B)
  • 选择确定
  • 右侧出现一个数据透视表字段列表:
  • 将第 1 行拖放到行标签中。
  • 将第 2 行拖放到值区域中。
  • 左键单击“...第 2 行”
  • 选择值字段设置
  • 选择“最大值”而不是计数或总和
  • 选择确定,您应该会得到想要的结果。

数据透视表将为第 1 行中的每个唯一值在第 2 行中找到最大值,这就是我相信您所追求的。

于 2013-08-23T15:23:48.537 回答
4

即使找到了解决办法。我认为为此使用枢轴过于复杂和过大,并且可能并非在所有情况下都是可能的。这是一个可以在互联网上搜索“max if excel”的内容(例如,见这里;改编)

{=MAX(IF(A:A=A1,B:B))}

注意力!这是一个数组公式,您必须在不带大括号的情况下输入它,然后按 Ctrl+Shift+Enter 提交公式。

于 2013-08-23T16:48:34.503 回答
2

由于左侧值似乎是有序的,因此 Subtotal 应该可以工作。

于 2013-08-23T15:36:24.307 回答