从图中的结果看来,并不是把数字从大到小排列的哦,是根据数字所在的行再把数字从小到大排列吧。
B1数组公式,输入完成后不要直接回车,要按三键 CTRL+SHIFT+回车 下拉。
=IF(COUNT(0/((A$1:A$99>=2000)*(A$1:A$99<=3000)))>=ROW(A1),INDEX(A:A,SMALL(IF((A$1:A$99>=2000)*(A$1:A$99<=3000),ROW($1:$99),4^8),ROW(A1))),"")
这是根据数字本身的值按从大到小排列的公式:
B1数组公式,输入完成后不要直接回车,要按三键 CTRL+SHIFT+回车 下拉。
=IF(COUNT(0/((A$1:A$99>=2000)*(A$1:A$99<=3000)))>=ROW(A1),LARGE((A$1:A$99>=2000)*(A$1:A$99<=3000)*A$1:A$99,ROW(A1)),"")
如果用的是EXCEL 2007及以上版本,以上两条公式可分别精简为:
=IFERROR(INDEX(A:A,SMALL(IF((A$1:A$99>=2000)*(A$1:A$99<=3000),ROW($1:$99)),ROW(A1))),"")
及:
=IFERROR(LARGE(IF((A$1:A$99>=2000)*(A$1:A$99<=3000),A$1:A$99),ROW(A1)),"")
=if(row(a1)>SUM(($A$1:$A$19>=2000)*($A$1:$A$19<=3000)),"",LARGE(IF(($A$1:$A$19>=2000)*($A$1:$A$19<=3000),$A$1:$A$19),ROW(A1)))
数组函数,按住ctrl shift敲回车输入公式
然后下拉,数据范围是你实际的范围
你要求从大到小,但显示的排序为从小到大,这个公式是从大到小
从小到用 =if(row(a1)>SUM(($A$1:$A$19>=2000)*($A$1:$A$19<=3000)),"",small(IF(($A$1:$A$19>=2000)*($A$1:$A$19<=3000),$A$1:$A$19,99^99),ROW(A1)))
2015-09-06 · 知道合伙人软件行家