【问题标题】:Get maximum value based on unique values根据唯一值获取最大值
【发布时间】:2013-08-23 15:15:57
【问题描述】:

我在 Excel 中有两列如下:

col1  col2

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

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

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

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

【问题讨论】:

    标签: excel excel-formula max pivot-table array-formulas


    【解决方案1】:

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

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

    一步一步:

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

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

    【讨论】:

    • 你怎么能告诉我?我还是不明白,我试过数据透视表
    • @kira 更新了使用值的说明(注意 MAX),行标签为“第 1 行”
    • 我的意思是,这里只有 2 个不同的值,所以 pivot 可能会有所帮助,但是根据我拥有的实际数据,column1 中有 600 个唯一值,那么
    • 嘿 xqbert,图片被我的办公网络屏蔽了,你能告诉我你把什么都放在哪里了吗?
    • @kira 更新了完整的分步说明(适用于 Office 2010)
    【解决方案2】:

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

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

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

    【讨论】:

    • @xQbert 否。它的工作原理与普通的 max 函数一样,只是带有 if 部分。
    【解决方案3】:

    由于左边的值似乎是有序的,小计应该可以工作。

    【讨论】:

    • 也是不错的选择。从文件菜单中选择数据...选择范围。然后选择小计将使用功能更改为最大(但请注意必须订购数据才能使其按指示工作)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2021-09-05
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多