假如数据在A1:A10
那么最大的3个数据分别是:(可以分别写在B1,B2,B3)
=LARGE($A$1:$A$10,1)
=LARGE($A$1:$A$10,2)
=LARGE($A$1:$A$10,3)
Large函数从一个数组或者单元格区域中取第N大的数值。
求和是:
=SUM(B1:B3)
或者直接对A1:A10的最大的三个数字进行求和:
=SUMPRODUCT(LARGE($A$1:$A$10,{1,2,3}))
或者:
=SUMPRODUCT($A$1:$A$10(A1:A10>=LARGE($A$1:$A$10,3)))
假设数据区域是A1:J1
第一大值
=max(A1:J1)
第二大值
=large(if(frequency(a1:j1,a1:j1),a1:j1),2)
第三大值
=large(if(frequency(a1:j1,a1:j1),a1:j1),3)
第四大值
=large(if(frequency(a1:j1,a1:j1),a1:j1),4)
假如数据在A1:A12区域(可根据实际自行修改),在C1单元格输入公式=LARGE(IF(MATCH(A1:A12,A1:A12,)=ROW(A1:A12),A1:A12,),5)
数组公式,同时按Shift+Ctrl+Enter三键结束公式,使公式前后出现大括号{}即可找到A1:A12区域中的第5大数字。 如图:
rank(3,(1 2 2 3 3 4),1)是取得3在(1 2 2 3 3 4),1)的次序,第一个3在第4位,所以结果是4
这不是排序命令。
语法:RANK(number, ref, order) 注意 Number 必须有一个数字值 ; ref 必须是一个数组或单元格区域包含数字数据值 ; 是可选的 order。如果省略 order,或者将它分配一个值为 0 (零) number 排位是数字的数字的在 ref 中 number 位置,如果 ref 数字的数字的按降序顺序排序。如果 order 分配任何非零值,假定 ref 为排名按升序排序。
你的要求直接排序就可以了,取前三
在E1单元格输入以下数组公式,按Ctrl+Shift+Enter组合键结束
=MAX(IF(A1:A6=D1,B1:B6))
详见附图
排序简单,同条件取多个结果就比较麻烦了,尽量给你说明一下
C列,很简单,用large函数,C1=LARGE(A:A,ROW(A1)),下拉
意思:取a1-a5中,排第一大的数,row(a1)就是等于1,为的是下拉之后可以自动变成row(a2)=2,同理,第二格就是取第二大的数
D列需要根据C,来查找AB列中A的值所对应的B的值,光查找很简单,但是有3个1就涉及到同条件取多个结果,稍显麻烦,也就不解释了,直接给公式
D1=INDEX(B:B,SMALL(IF(A:A=C1,ROW(A:A),4^8),COUNTIF($C$1:C1,C1)))
然后把光标放在公式栏里,按一下ctrl+shfit+回车,使其变为数组形式,然后下拉
这个大括号就是数组形式,一定要通过将鼠标点在公式栏然后ctrl+shift+回车3键组合按出来才有用,自己输入大括号是无效的
又修改了一下公式,将固定的a1:a5五个格子变为A列所有项,如果有超过5个数的情况,直接在后面增加,C D列对应下拉即可
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)