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


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

排名及排序篩選(一)

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

 

 

一個具有11項匯總方式的函數SUBTOTAL

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

在數據篩選求和上有意想不到的功能,11項功能為:1、求平均數,2、求計數,3、求計數值(自動篩選序列)4、求最大值,5、求最小值,6、求乘積,7、求總體標准偏差,8、求標准偏差、9、求和,10、求方差,11、求總體方差。

自動排序

=SUBTOTAL(3,$B$2:B2)*1
=IF(A2<>A1,1,N(C1)+1)

按奇偶數排序

我想請教怎樣按奇數順序然后再按偶數順序排序

=IF(MOD(A1,2),0,1)
=IF(ROW()>50,(ROW()*2)-100,(ROW()*2)-1)
=ROW()*2-1-(ROW()>50)*99

自動生成序號

比如在第二列中輸入內容回車后第一列的下一行自動生成序列號。

=IF(B2<>"",A2+1,"")

如何自動標示A欄中的數字大小排序?

=RANK(A1,$A$1:$A$5)
=RANK(A1,A:A)

如何設置自動排序

  A列自動變成從小到大排列

B=SMALL(A$2:A$28,ROW(1:1))

  A列自動變成從大到小排列

B=LARGE(A$2:A$28,ROW(1:1))

重復數據得到唯一的排位序列

想得到數據的出現總數嗎({1,2,2,3,4,4,5} 數據的出現總數為5)?

  解答:不需要插列,不需要很多的函數就行了.

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

按字符數量排序

制作歌曲清單時,習慣按字符數量來排列分類,但是EXCEL並不能直接按字數排序。需要先計算出每首歌曲的字數,然后再進行排序。

      AB列分別為“歌手”和“歌名”,在C1輸入“字數”,在C2輸入公式:

  =LEN(B2)   下拖,單擊C2,單擊工具欄上的“升序排列”即可,刪除C列。

排序字母與數字的混合內容

日常使用中,表格經常會有包含字母和數字混合的數據,對此類數據排序時,通常是先比較字母的大小,再比較數字的大小,但EXCEL是按照對字符進行逐位比較來排序的,如下表:A7排在第5位,而不是第1位。排序結果無法令人滿意。

 

A

1

A122

2

A29

3

A317

4

A43

5

A7

6

B20

7

B3

8

C144

9

C5

10

C33

 

A

B

1

A7

A007

2

A29

A029

3

A43

A043

4

A122

A122

5

A317

A317

6

B3

B003

7

B20

B020

8

C5

C005

9

C33

C033

10

C144

C144

 

如果希望EXCEL改變排序的規則,需要將數據做一些改變。

B1中輸入公式:LEFT(A1,1)& RIGHT("000"& RIGHT(A1,LEN(A1)-1),3) 下拖

單擊B2,單擊工具欄上的“升序排列”即可。

隨機排序

AB列分別為“歌手”和“歌名”,在C1輸入“次序”,在C2輸入公式:

RAND(),下拖,單擊C2,單擊工具欄上的“降序排列”即可對歌曲清單進行隨機排序。

排序的問題

我想要這樣的排序: 2001-2003

                     2004-2006

                     2007-2009

                     2010-2012;

其實不是數據排序,應該是數據填充。

輸入公式=LEFT(E3,4)+3&"-"&RIGHT(E3,4)+3 即可。

怎樣才能讓數列自動加數

怎樣做才能讓數列自動加數

A        A0001

B        B0001

A        A0002

C        C0001

A        A0003

B        B0002

C        C0002

公式為=A1&"000"&COUNTIF(A$1:A1,A1)向下拖

=TEXT(COUNTIF(A$1:A1,A1),"!"&A1&"0000")否則數字超過9就錯誤了。

一個排序問題

  一個電子表格,格式是101102... 999,1010110102... 99901,1010101,1020201... 9990101,請問如何將它排列成101,10101,1010101,102,10201,1020101,... 999,99901,9990101 的形式。

我在數字前加了個字母,比如"d"&"數字",然后用排序就可以把它們按你的需求排列了.最后再把字母"d"去掉。

數字的自動排序,插入后不變?

1        趙一               總經理

2        趙二               副經理

3        趙三               副經理

4        趙四               技術員

5        趙五

6        趙六               員工

如上的一個表,如何實現當我把趙六這一整行(第6行)插入到上面的表中時,A列的序列號不變?最后的效果如下:

1        趙一               總經理

2        趙二               副經理

3        趙六               員工

4        趙三                副經理

5        趙四               技術員

6        趙五

  A1單元格輸入公式 =row(),往下拉,然后再插入。

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

在A1中輸入公式:“=if(b1="","",counta($b$1:b1)后下拉復制至A列各行即可(“”不必輸入) 

根據規律的重復的姓名列產生自動序號

姓名       序號

張三       1

張三       1

李四       2

李四       2

趙五       3

趙五       3

趙五       3

王六       4

王六       4

=(A1<>A2)+N(B1)

=IF(A3=A2,B2,B2+1)

姓名已排序:

B2=SUMPRODUCT(1/COUNTIF(A$2:A2,A$2:A2))

姓名未排序:

B2=IF(COUNTIF(A$2:A2,A2)>1,VLOOKUP(A2,A:B,2,0),SUMPRODUCT(1/COUNTIF(A$2:A2,A$2:A2)))

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

排名的函數

用排名函數來對成績進行排名,用起來非常地方便。

=IF(ISERR(RANK(M3,M:M)),"",RANK(M3,M:M))

A列是成績,B列是排名

=SUMPRODUCT((A$1:A$9>A1)/COUNTIF(A$1:A$9,A$1:A$9))+1

  自動排名公式

=RANK(C3,$C$3:$C$12)

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

=RANK(C2,$C$2:$C$65)+COUNTIF($C$2:C2,C2)-1

 百分比排名的公式寫法為:

=PERCENTRANK($C$3:$C$12,C3)

  平均分及總分排名

=AVERAGE(B2:E2)

=RANK(F2,$F$2:$F$65536)

  求名次排名

統計成績時遇到一個分別求班級和年級總分名次排名的問題,不曉得應該運用什么公式來實現。

班級名次:

=SUMPRODUCT((BJ=A2)*(ZF>E2))+1

年級名次:

=RANK(E2,ZF)   公式下拖。

  排名次

根據總分值大小,只將姓名排序后, 降序結果

=INDEX(A$2:A$6,RANK(D2,D$2:D$6))

根據總分值大小,只將姓名排序后, 升序

=INDEX(A$2:A$6,RANK(D2,D$2:D$6,1))

  根據分數進行普通排名

=RANK(A2,$A$2:$A$12)
=RANK(A2,A$2:A$12)+COUNTIF(A$2:A2,A2)-1
=SUMPRODUCT(1*($E$3:$E$12>=E3))
=RANK(K3,$K$3:$K$26)
=RANK(A2,A$2:A$12)
=SUM((A$2:A$12>=A2)/COUNTIF(A$2:A$12,A$2:A$12))
=COUNTIF($K$3:$K$26,">"&K3)+1
=INDEX($A$2:$A$7,MATCH(LARGE($C$2:$C$7,ROW(A1)),$C$2:$C$7,0),1)
=SUMPRODUCT(($A$2:$A$12>A2)/COUNTIF($A$2:$A$12,$A$2:$A$12&""))+1
=RANK(D2,OFFSET($A$1,MATCH($A2,$A:$A,0)-1,3,COUNTIF($A:$A,$A2),1))

  對於普通排名分數相同時,按順序進行不重復排名

=RANK(K32,$K$32:$K$55)+COUNTIF($K$32:$K32,K32)-1
=COUNTIF($K$32:K32,K32)-1+COUNTIF($K$3:$K$26,">"&K32)+1
=SUMPRODUCT(1*(($E$3:$E$12+ROW($E$3:$E$12)/100>=($E3+ROW(E3)/100))))
=RANK(E3,$E$3:$E$12)+COUNTIF($E$3:E3,E3)-1
=SUMPRODUCT(1*(($E$3:$E$12+$B$3:$B$12/100)>=(E3+B3/100)))

  依分數比高低名次成績排名

=RANK($E3,$E$3:$E$22) 內建方式排名
=SUMPRODUCT(1*($E$3:$E$12>=E3))   一般方式排名
{=RANK(E3,$E$3:$E$22)+SUM(IF($E$3:$E$22>E3,1/COUNTIF($E$3:$E$22,$E$3:$E$22),0))-COUNTIF($E$3:$E$22,">"&E3)} 一般方式排名
=RANK(E3,$E$3:$E$12)+COUNTIF($E$3:E3,E3)-1不重復排名
=SUMPRODUCT(1*(($E$3:$E$12+ROW($E$3:$E$12)/100>=($E3+ROW(E3)/100))))
=SUMPRODUCT(1*(($E$3:$E$12+$B$3:$B$12/100)>=(E3+B3/100))) 不重復排名
=SUMPRODUCT(1*(($E$3:$E$12+$B$3:$B$12/100+$C$3:$C$12/10000)>=(E3+B3/100+C3/10000))) 不重復排名
=RANK($E3,$E$3:$E$22,1) 倒排序

  美國式排名

=RANK(K247,$K$247:$K$270)
=RANK(B1,$B1:$H1)

  中國式排名

=RANK(B2,$B$2:$B$21,0)
=RANK(B1,$B1:$H1)+COUNTIF($B$1:B1,B1)-1
=SUM(IF($A$1:$E$1>=A1,1/COUNTIF($A$1:$E$1,$A$1:$E$1),""))
=SUMPRODUCT(($B$2:$B$21>=B2)/COUNTIF($B$2:B$21,B$2:B$21))
=SUMPRODUCT((B$3:B$21>B3)*(1/COUNTIF($B$3:$B$21,$B$3:$B$21)))+1  (升序)
=SUMPRODUCT((B$3:B$21<B3)*(1/COUNTIF($B$3:$B$21,$B$3:$B$21)))+1  (降序)
{=SUM(--(IF(FREQUENCY(B$2:B$21,B$2:B$21),B$2:B$21>B2)))+1}
{=SUM(IF($B$3:$B$21<=B3,"",1/(COUNTIF($B$3:B$21,B$3:B$21))))+1}(升序)
{=SUM(IF($B$3:$B$21<=B3,1/(COUNTIF($B$3:B$21,B$3:B$21)),""))}(降序)
{=SUM(IF($B$2:$B$21>B2,1/COUNTIF($B$2:B$21,B$2:B$21)))+1}
{=SUM(IF($A$1:$E$1>=A1,1/COUNTIF($A$1:$E$1,$A$1:$E$1),""))}
{=SUM(($B$2:$B$21>B2)*(MATCH($B$2:B$21,B$2:B$21,)=ROW($1:$20)))+1}
{=SUM(IF($B$1:$H$1<=B1,"",1/(COUNTIF($B$1:$H$1,$B$1:$H$1))))+1}

 


免責聲明!

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



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