2013-08-23 97 views
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

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

回答

7

数据透视表:excel中最单一的未充分利用和强大的功能。

  • 文件菜单:
  • 插入
  • 透视表
  • 选择范围
  • 通过步骤下面

enter image description here

步骤中图像所指示填写:

  • 将光标放在工作表上所有数据右侧的单元格中。
  • 从菜单中选择插入
  • 选择枢轴表图标
  • 从图标
  • 的弹出
  • 选择透视表使用按钮选择包括细胞(在2列中的所有行600+)的范围内(或只需输入$ A:$ B)
  • 选择出现在右边OK
  • 透视表字段列表:
  • 拖放行1到行标签。
  • 将行2拖放到值区域。
  • 左键单击” ...第2" 行的
  • 选择值字段设置
  • 选择,而不是数‘最大’或总结
  • 选择OK,你应该有理想的效果。

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

+0

你怎么能告诉我?我仍然没有得到它,我试过数据透视表 – kira

+0

@kira更新了指令(注意最大)的值和行标签作为“第1行” – xQbert

+0

我的意思是,这里只有2个不同的值,所以枢轴可能有所帮助,但根据我的实际数据,第一列中有600个唯一值,然后是什么 – kira

2

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

+0

不错的选择。从文件菜单中选择数据...选择范围。然后选择小计更改使用函数为最大(但请注意数据必须按照指示工作) – xQbert

+0

@xQbert谢谢。我同意PT更好(+1),但小计可能更容易,但无法用图像阐明PT技术! – pnuts

4

即使找到了解决方案。我认为这太复杂了,为了实现这个目的而使用pivot,这可能在所有情况下都是不可能的。这里是一个,可以发现搜索的互联网 “最大如果EXCEL”(例如,参见here;适于)

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

注意!这是一个数组公式,不必使用大括号输入它,然后按Ctrl + Shift + Enter提交公式。

+0

数据必须进行排序才能正常工作吗? – xQbert

+0

@xQbert编号它与if部分一样,像正常的max函数一样工作。 – oddparity