获得列A的每个不同值的列B的最大值

我有一个Excel电子表格的forms:

A,B X,1 X,5 Y,4 Y,11 X,7 Z,1 

我想获得A列的每个不同值的列B的最大值 – 我怎样才能通过纯Excel的公式做到这一点

预期结果(顺序无关):

 A,B Y,11 X,7 Z,1 

换句话说,我想Excel的SQL查询版本

 SELECT A,max(B) FROM myTable GROUP BY A 

任何版本的Excel是可以接受的,但我使用365一个。

数据透视表是一个可以接受的方法(我目前是用一个数据透视图自己做的),但我更愿意select一个真正的公式 – 这个问题的主要目标是提高我对Excel公式编程的理解。 没有VBA

加里的学生答案是正确的。 我加了一些东西。

在这里输入图像说明

此外,该方法的链接: http : //blog.contextures.com/archives/2011/07/27/finding-min-if-or-max-if-in-excel/

一个明确的值列表可以通过几种方式生成,这里有一个: 在这里输入图像描述

这里有一个方法或两个不同的列表的链接。 所有与数组公式:

忽略重复项并在Excel中创build唯一值的新列表

只使用公式在Excel中获取唯一值

在列AB中的数据使用数组公式

 =MAX(IF(A1:A6="x",B1:B6)) 

相同的“Y”和“Z”

数组公式必须使用Ctrl + Shift + Enterinput,而不仅仅是Enter键。

在这里输入图像说明

注意配方栏中的大括号

编辑#1:

要自动生成公式,首先将A列复制到C列。

然后使用“ 数据”选项卡中的“删除重复项”function:

在这里输入图像说明

然后在单元格D1中input数组公式

 =MAX(IF(A$1:A$14=C1,B$1:B$14)) 

并抄下来:

在这里输入图像说明

该公式只input一次,然后复制下来!

数据透视表是正确的答案。

  1. select列A的标题,并将其拖到行标签部分。
  2. select列B的标题并将其拖到“值”部分。
  3. 单击值部分中列B的标题上的箭头,然后select值字段设置。
  4. select最大

尝试下面。 注意我将所需的输出表移动到列D和E.您不需要将任何值硬编码到公式中。

数据

 DE Y 11 X 7 Z 1 

公式

 E2 Formula: ={MAX(--($D1=A1:A6)*B1:B6)} E3 Formula: ={MAX(--($D2=A2:A7)*B2:B7)} E4 Formula: ={MAX(--($D3=A3:A8)*B3:B8)}