[Excel]单列按不同条件取最大值

最近有个朋友在用excel做自己的数据时,遇到从一堆序列中取末尾最大值

见下图。

取最大值

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第一列中的值末尾按部门取最大值

1.我们要做的是先分离出部门。

公式如下:{=MID(A2,MATCH(2,LENB(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)),),LENB(A2)-LEN(A2))},这里用到是的数组,记得快捷键。

2.按部门分离末尾数值。

公式如下:=MID($A2,FIND(C2,$A2)+2,99)。

3.弄个个VBA,将选择行的部门值放到条件区。

VBA代码如下:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheet1.Range("E2").Value = Cells(Target.Row, "C").Value

End Sub

4.根据条件区取最大值。

公式如下:{=MAX((C2:C1987=E2)*B2:B1987)},再次用到数组。

5.选择不同的行,即可看到取的最大值,Have Fun!

分享到: