如何在excel中进行求条件最大值或者最小值?

级别 姓名 完成率

A 王1 20%

A 王2 45%

B 王3 13%

B 王4 66%

A 王5 3%

B 王6 17%

C 王7 24%

B 王8 45%

A 王9 27%

C 王10 28%

B 王11 67%

我想分表求出ABC的最大完成率和最小完成率,有什么公式?

最好显示出来的是:

A 王2 45% 王5 3%

B 王11 67% 王6 17%

如你图中为例,先在A16向下分别输入A、B、C
1、在C16输入公式:
=SUMPRODUCT(MAX((A$2:A$12=A16)*C$2:C$12))
将公式向下拉填充复制;

2、在B16输入公式:
=INDEX(B$2:B$12,MATCH(1,(A$2:A$12=A16)*(C$2:C$12=C16),))
摁SHIFT+CTRL+回车结束公式的输入,将公式向下拉填充复制;

3、在E16输入公式:
=MIN(IF(A$2:A$12=A16,C$2:C$12))
摁SHIFT+CTRL+回车结束公式的输入,将公式向下拉填充复制;

4、最后在D16输入:
=INDEX(B$2:B$12,MATCH(1,(A$2:A$12=A16)*(C$2:C$12=E16),))
摁SHIFT+CTRL+回车结束公式的输入,将公式向下拉填充复制。

注:Stcxj 的方法求最大、最小值是正确的,但根据得到的最大、最小值求对应姓名部分就有缺陷了,因为当有可能不同姓名的人刚好是有相同的百分比的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-26

B16=

=INDEX($B$1:$B$12,MIN(IF(($A$2:$A$12=A16)*($C$2:$C$12=C16),ROW($B$2:$B$12),4^8)))

 

C16=

=MAX(IF($A$2:$A$12=A16,$C$2:$C$12,0))

 

D16=

=INDEX($B$1:$B$12,MIN(IF(($A$2:$A$12=A16)*($C$2:$C$12=E16),ROW($B$2:$B$12),4^8)))

 

E16=

=MIN(IF($A$2:$A$12=A16,$C$2:$C$12,4^8))

 

之后下拉即可

 

注意:这是数组公式,需要CTRL+SHIFT+ENTER结束输入

第2个回答  推荐于2020-01-12
A16输入
A
A17输入
B
C16输入
=SUMPRODUCT(MAX((A$2:A$12=A16)*(C$2:C$12)))
回车并向下填充
E16输入

=MIN(IF(A$2:A$12=A16,C$2:C$12))
数组公式,输入后先不要回车,按Ctrl+Shift+Enter结束计算,再向下填充
B16输入
=INDEX($B$2:$B$12,MATCH(C16,$C$2:$C$12,))
回车并向下填充
复制B16~B17到D16~D17。本回答被提问者采纳
第3个回答  2013-07-26
用公式麻烦,最简单的方法选中c列数据单元格---排序即可得到两头的一大一小的数据了,方便快捷。
第4个回答  2013-07-26

看示例

相似回答