(Excel)常用函數公式及操作技巧之三:排名及排序篩選(二)


 

(Excel)常用函數公式及操作技巧之三:

排名及排序篩選(二)

——通過知識共享樹立個人品牌。

 

 

求最精簡的自動排名公式

=RANK(E2,$E$2:$E$21)

=RANK(A2,$A$2:$A$9,0)

=RANK(A2,$A$2:$A$10)+COUNTIF($A$2:$A2,$A2)-1(如果數據列中數值有相同)

=RANK(F10,$F10:$Q10)+COUNTIF($F10:F10,F10)-1

=INDEX(A:A,1/MOD(LARGE(E$2:E$21+1/ROW($2:$21),ROW(1:1)),1))

=LOOKUP(1,0/(($F$2:$F$21=A27)*(COUNTIF(D$26:D26,$A$2:$A$21)=0)),$A$2:$A$21)=INDIRECT("A"&RIGHT(LARGE(($E$2:$E$21*100+ROW($A$2:$A$21)),ROW(A1)),2))

=RANK(C2,OFFSET($C$1,MATCH(E2,$E$2:$E$768,),,COUNTIF($E$2:$E$768,E2)))

數組公式

=INDEX(A:A,MOD(LARGE(E$2:E$21*100+ROW($2:$21),ROW(1:1)),100))

=OFFSET($A$1,RIGHT(LARGE($E$2:$E$21*1000+ROW($E$2:$E$21),ROW()-25),3)-1,,)

=OFFSET($A$1,RIGHT(LARGE(($E$2:$E$21*100+ROW($A$1:$A$20)),ROW(A3)),2),)

=TEXT(SUMPRODUCT(($E$2:$E$21>=E2)/COUNTIF($E$2:$E$21,$E$2:$E$21)),"[DBNUM1]G/通用格式名")

排序后排名

=SUM(IF($B$2:$B$15>=B2,1/COUNTIF($B$2:$B$15,$B$2:$B$15)))

=SUMPRODUCT((B$2:B$15>=B2)/COUNTIF(B$2:B$15,B$2:B$15))

位次排名

=IF($B2:$O2>=0,RANK($B2:$O2,$B2:$O2,0),)

根據雙列成績進行共同排名

=RANK(C345,($C$345:$C$356,$H$345:$H$356))

在雙列間排名

=RANK(B2,($B$2:$B$26,$E$2:$E$16))

等次排名

由大到小排名

=RANK(B3,$B$3:$B$12)

=SUMPRODUCT(($A$16:$A$25=A16)*($B$16:$B$25>B16))+1

由小到大排名

=RANK(B3,$B$3:$B$12,1)

=SUMPRODUCT(($A$16:$A$25=A16)*($B$16:$B$25<B16))+1

不等次排名(行小排先)

由大到小

=RANK(B3,$B$3:$B$12)+COUNTIF($B$3:B3,B3)-1

=SUMPRODUCT(($A$16:$A$25=A16)*($B$16:$B$25-ROW($B$16:$B$25)/10000>B16-ROW(B16)/10000))+1

由小到大

=RANK(B3,$B$3:$B$12,1)+COUNTIF($B$3:B3,B3)-1

=SUMPRODUCT(($A$16:$A$25=A16)*($B$16:$B$25+ROW($B$16:$B$25)/10000<B16+ROW(B16)/10000))+1

不等次排名(行大排先)

由大到小

=COUNT($B$3:$B$12)-RANK(B3,$B$3:$B$12,1)-COUNTIF($B$3:B3,B3)+2

=SUMPRODUCT(($A$16:$A$25=A16)*($B$16:$B$25+ROW($B$16:$B$25)/10000>B16+ROW(B16)/10000))+1

由小到大

=COUNT($B$3:$B$12)-RANK(B3,$B$3:$B$12)-COUNTIF($B$3:B3,B3)+2

=SUMPRODUCT(($A$16:$A$25=A16)*($B$16:$B$25-ROW($B$16:$B$25)/10000<B16-ROW(B16)/10000))+1

順次排名

由大到小

=SUMPRODUCT((B$3:B$12>B3)*(1/COUNTIF(B$3:B$12,B$3:B$12)))+1

=SUMPRODUCT(($A$16:$A$25=A16)*($B$16:$B$25>B16)/COUNTIF($K$16:$K$25,$K$16:$K$25))+1

由小到大

=SUMPRODUCT((B$3:B$12<B3)*(1/COUNTIF(B$3:B$12,B$3:B$12)))+1

=SUMPRODUCT(($A$16:$A$25=A16)*($B$16:$B$25<B16)/COUNTIF($K$16:$K$25,$K$16:$K$25))+1

有並列排名

=RANK(B2,$B$2:$B$20)

=SUMPRODUCT(1*($B$3:$B$21>B3))+1

=COUNTIF($B$3:$B$21,">"&B3)+1

=SUM(IF($B$3:$B$21>B3,1,0))+1

=19-FREQUENCY($B$3:$B$21,B3)+1

=SUMPRODUCT(($B$2:$B$20>=B2)/COUNTIF($B$2:$B$20,$B$2:$B$20))

無並列排名

=RANK(B3,$B$3:$B$21)+COUNTIF($B$3:$B3,B3)-1

=SUMPRODUCT((B3-ROW()/1000<$B$3:$B$21-ROW($B$3:$B$21)/1000)*1)+1

=19-FREQUENCY($B$3:$B$21-ROW($B$3:$B$21)/1000,B3-ROW()/1000)+1

=SUM(IF($B$3:$B$21-ROW($B$3:$B$21)/1000>B3-ROW()/1000,1,0))+1

有並列分段排名

=SUMPRODUCT(($A$3:$A$21=A3)*($C$3:$C$21>C3))+1

=19-FREQUENCY(($A$3:$A$21=A3)*($C$3:$C$21),C3)+1

=MATCH(C3,LARGE(OFFSET($C$2,IF($A$3:$A$21=A3,ROW($A$3:$A$21)-2),),ROW(INDIRECT("1:"&COUNTIF($A$3:$A$21,A3)))),0)

=MATCH(C3,LARGE(IF($A$3:$A$21=A3,$C$3:$C$21),ROW(INDIRECT("1:"&COUNTIF($A$3:$A$21,A3)))),0)

=SUMPRODUCT(($A$3:$A$21=A3)*($C$3:$C$21>C3)/COUNTIF($N$3:$N$21,$N$3:$N$21))+1(需輔助列)

無並列分段排名

=SUMPRODUCT(($A$3:$A$21=A3)*($C$3:$C$21-ROW($C$3:$C$21)/10000>C3-ROW(C3)/10000))+1

=19-FREQUENCY(($A$3:$A$21=A3)*($C$3:$C$21-ROW($C$3:$C$21)/1000),C3-ROW()/1000)+1

成績排名

序號

姓名

語文

數學

英語

1

楊增海

135

136

146

2

郭愛玲

138

137

141

3

華志鋒

134

138

141

4

袁文飛

134

143

135

能否用一個公式直接找出所用考生中語文成績中第100名的成績是多少?

=LARGE(C2:C417,100)

=PERCENTILE(C2:C417,(416-100)/416)

=PERCENTILE($C$2:$C$417,(COUNTA($C$2:$C$417)-100)/COUNTA($C$2:$C$417))

能否用一個公式直接找出所用考生中語文成績中按與考人數的35%切線中位於第35%的成績是多少?

升冪

=SMALL(C2:C417,416*0.35)

=PERCENTILE($C$2:$C$417,0.35)

    降冪

=LARGE(C2:C417,416*0.35)

=PERCENTILE($C$2:$C$417,1-0.35)

如何排名

1、對英語進行排名,缺考不計算在內。
2
、對英語進行排名,缺考計算在內。

英語

英語排名

42

9

62

3

72

1

48

5

48

5

72

1

54

4

42

9

缺考

 

缺考

 

45

8

46

7

缺考不計算在內

b2=IF(A2="缺考","",RANK(A2,$A$2:$A$13)) 然后按照B列排序

缺考計算在內

=IF(A2="缺考",COUNTIF($A$2:$A$13,">=0")+1,RANK(A2,$A$2:$A$13))

=IF(A2="缺考",COUNT($A$2:$A$13)+1,RANK(A2,$A$2:$A$13,0))

數據排名(隔幾行排名)

=IF(A2="","",RANK(A2,$A$2:$A$11,0))

如果隔幾行排名,如下表,第五行、第九行和第十二行不參與排名。

單位

數據

排名

A

1

8

A

5

7

A

6

6

小計

12

 

B

8

4

B

9

3

B

7

5

小計

24

 

C

18

1

C

11

2

小計

29

 

=IF(A2="小計","",RANK(B2,(B$2:B$4,B$6:B$8,B$10:B$11)))    下拉

根據分數進行倒排名

=RANK($E3,$E$3:$E$22,1)

=RANK(K60,$K$60:$K$83,1)

=COUNTIF($K$60:$K$83,"<"&K60)+1

倒數排名函數是什么

1為正排序,0為逆排序。

倒數排名=RANK(A2,$A$2:$A$5,0)

正數排名=RANK(A2,$A$2:$A$5,1)

如何實現每日各車間產量的排名

=RANK(C2,OFFSET($C$2:$C$5,MATCH(A2,$A$2:$A$1000,0)-1,,,))

=RANK(C2,OFFSET($C$2:$C$5,MATCH(A2,$A$2:$A$33,0)-1,,,))

分數相同時按照一科的分數進行排名

=MATCH(K308*100+D308,LARGE($K$308:$K$331*100+$D$308:$D$331,ROW($K$308:$K$331)-307),)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

篩選后自動產生序列號並匯總

自動產生序列號:在A1輸入以下公式,往下拖。

=SUBTOTAL(3,$B$2:B2)*1

自動匯總,用以下公式:

=SUBTOTAL(9,$B$2:B2)

說明:匯總時,不要在“全選”狀態下進行,先“篩選”出某一單位,自動求和。然后再恢復到“全選”或者選擇任何單位,就能自動匯總了(在“篩選”出某一單位進行求和時,一般表格會自動產生以上匯總公式)。

其它:如同時要在其它單元格顯示人數,在“全選”狀態下,選定單元格,點“fx”(用“sum”函數)再點擊序列號最末尾數,即可。

如何篩選奇數行

公式=MOD(A1,2)=1

函數篩選姓名

如何把兩列中只要包含AA+的人員篩選出來

=IF(ISNUMBER(FIND("A",C2))+ISNUMBER(FIND("A",B2))>0,"OK","")

名次篩選

名次=RANK(K5,K$2:K$435)

班名次=RANK(K6,OFFSET(K$2,MATCH(A6,A:A,)-2,,COUNTIF(A$1:A$500,A6)))

如何實現快速定位(篩選出不重復值)

=IF(COUNTIF($A$2:A2,A2)=1,A2,"")

=IF((COUNTIF($A$2:A2,A2)=1)=TRUE,A2,"")

=INDEX(A:A,SMALL(IF(MATCH(A$1:A$20,A$1:A$20,)=ROW($1:$20),ROW(A$1:A$20),65536),ROW()))&""(數組公式)

如何請在N列中列出A1:L9中每列都存在的數值

=IF(ROW()>SUM(--x),"",INDEX(A:A,SMALL(IF(x,ROW($A$1:$A$9)),ROW())))

自動為性別編號的問題

有一個編碼,5位,第1位,1為男,2為女,后面4位,代表他的編號,從0001-9999,如何達到下表:

性別  編碼

男     10001

男     10002

女     20001

男     10003

女     20002

男的也是從0001-9999

女的也是從0001-9999

如果你是已經輸入了其它信息,僅僅為快速輸入編碼的話。用篩選可以實現吧。
先以“男”為關鍵字進行排序,然后在第一個男的編碼輸入10001,下拉復制到最后一單即可。同理再以“女”排序。完成目標。

用公式:=IF(A2="",TEXT(COUNTIF(A$2:A2,A2),"10000"),TEXT(COUNTIF(A$2:A2,A2),"20000"))向下拖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM