excel常用函數(shù)公式及技巧 搜集(常用的)
一、【身份證信息?提取】 1.從身份證號碼中提取出生年月日 =TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")+0 =TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")*1 =IF(A2<>"",TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00")+0,) 顯示格式均為yyyy-m-d。(最簡單的公式,把單元格設(shè)置為日期格式) =IF(LEN(A2)=15,"19"&MID(A2,7,2)&"-"&MID(A2,9,2)&"-"&MID(A2,11,2),MID(A2,7,4)&"-"&MID(A2,11,2)&"-"&MID(A2,13,2)) 顯示格式為yyyy-mm-dd。(如果要求為“1995/03/29”格式的話,將”-” 換成”/”即可) =IF(D4="","",IF(LEN(D4)=15,TEXT(("19"&MID(D4,7,6)),"0000年00月00日"),IF(LEN(D4)=18,TEXT(MID(D4,7,8),"0000年00月00日")))) 顯示格式為yyyy年mm月dd日。(如果將公式中“0000年00月00日”改成“0000-00-00”,則顯示格式為yyyy-mm-dd) =IF(LEN(A1:A2)=18,MID(A1:A2,7,8),"19"&MID(A1:A2,7,6)) 顯示格式為yyyymmdd。 =TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")+0 =IF(LEN(A2)=18,MID(A2,7,4)&-MID(A2,11,2),19&MID(A2,7,2)&-MID(A2,9,2)) =MID(A1,7,4)&"年"&MID(A1,11,2)&"月"&MID(A1,13,2)&"日" =IF(A1<>"",TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")) 2.從身份證號碼中提取出性別 =IF(MOD(MID(A1,15,3),2),"男","女") (最簡單公式) =IF(MOD(RIGHT(LEFT(A1,17)),2),"男","女") =IF(A2<>” ”,IF(MOD(RIGHT(LEFT(A2,17)),2),”男”,”女”),) =IF(VALUE(LEN(ROUND(RIGHT(A1,1)/2,2)))=1,"男","女") 3.從身份證號碼中進行年齡判斷 =IF(A3<>””,DATEDIF(TEXT((LEN(A3)=15*19&MID(A3,7,6+(LEN(A3)=18*2),”#-00-00”),TODAY(),”Y”),) =DATEDIF(A1,TODAY(),“Y”) (以上公式會判斷是否已過生日而自動增減一歲) =YEAR(NOW())-MID(E2,IF(LEN(E2)=18,9,7),2)-1900 =YEAR(TODAY())-IF(LEN(A1)=15,"19"&MID(A1,7,2),MID(A1,7,4)) =YEAR(TODAY())-VALUE(MID(B1,7,4))&"歲" =YEAR(TODAY())-IF(MID(B1,18,1)="",CONCATENATE("19",MID(B1,7,2)),MID(B1,7,4)) 4.按身份證號號碼計算至今天年齡 =DATEDIF(TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"),TODAY(),"y") 以2006年10月31日為基準日,按按身份證計算年齡(周歲)的公式 =DATEDIF(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")*1,"2006-10-31","y") 5.按身份證號分男女年齡段 按身份證號分男女年齡段,身份證號在K列,年齡段在J列(身份證號為18位) 男性16周歲以下為 1 男性16周歲(含16周歲)以上至50周歲為 2 男性50周歲(含50周歲)以上至60周歲為 3 男性60周歲(含60周歲)以上為 4 女性16周歲以下為 1 女性16周歲(含16周歲)以上至45周歲為 2 女性45周歲(含45周歲)以上至55周歲為 3 女性55周歲(含55周歲)以上為 4 =MATCH(DATEDIF(DATE(MID(K1,7,4),MID(K1,11,2),MID(K1,13,2)),TODAY(),"y"),{0,16,50,60}-{0,0,5,5}*ISEVEN(MID(K1,17,1))) =SUM(--(DATEDIF(MID(K1,7,4)&"/"&MID(K1,11,2)&"/"&MID(K1,13,2),TODAY(),"y")>={0,16,45,55}+{0,0,5,5}*MOD(MID(K1,17,1),2)))
二、【年齡和工齡計算】 1.根據(jù)出生年月計算年齡 =DATEDIF(A1,TODAY(),"y") =DATEDIF(A1,TODAY(),"y")&"周歲" =DATEDIF(A1,NOW(),"y") 2.根據(jù)出生年月推算生肖 中國人有12生肖,屬什么可以推算出來。即用誕生年份除以12,再用除不盡的余數(shù)對照如下:0→猴,1→雞,2→狗,3→豬,4→鼠,5→牛,6→虎,7→兔,8→龍,9→蛇,10→馬,11→羊例如:XXX出生于1921年,即用1921年除以12,商得數(shù)為160,余數(shù)為1,對照上面得知余數(shù)1對應(yīng)生肖是雞,XXX就屬雞。 =MID("猴雞狗豬鼠牛虎兔龍蛇馬羊",MOD(YEAR(A2),12)+1,1) (2007) 3.如何求出一個人到某指定日期的周歲? =DATEDIF(起始日期,結(jié)束日期,"Y") 4.計算距離退休年齡的公式 =IF(E2="","",IF(E2>=V2,"已經(jīng)退休","距離退休還有"&DATEDIF(TODAY(),DATE(YEAR(U2)+(V2),MONTH(U2),DAY(U2)),"Y")&"年"&DATEDIF(TODAY(),DATE(YEAR(U2)+(V2),MONTH(U2),DAY(U2)),"YM")&"個月"&DATEDIF(TODAY(),DATE(YEAR(U2)+(V2),MONTH(U2),DAY(U2)),"Md")&"天")) 其中E2為年齡(可用身份證號碼的公式生成); V2為法定退休年齡(男60,女50)公式為:=IF(D2="","",IF(D2="男",60,50)) D2為男或女(可用身份證號碼的公式生成);U2為出生年月日(可用身份證號碼的公式生成)。 5.求工齡 =DATEDIF(B2,TODAY(),"y") =DATEDIF(B2,TODAY(),"ym") =DATEDIF(B2,TODAY(),"md") =DATEDIF(B2,TODAY(),"y")&"年"&DATEDIF(B2,TODAY(),"ym")&"月"&DATEDIF(B2,TODAY(),"md")&"日" 6.計算工齡 =DATEDIF(C6,C8,"y")求兩日期間的年數(shù) =DATEDIF(C6,C8,"ym")求兩日期間除去整年數(shù)剩余的月數(shù) =DATEDIF(C6,C8,"m")求兩日期間的總月數(shù) 如果只需要算出周年的話,可以用=datedif("1978-8","2006-5","Y") 7.年齡及工齡計算 有出生年月如何求年齡? 有工作時間如何求工齡?(求出的結(jié)果為多少年另幾個月,如:0303的形式,即3年零3個月)。 a1是出生年月或工作時間: =datedif(a1,today(),"y") =text(datedif(a1,today(),"y"),"00")&text(datedif(a1,today(),"m"),"00") 如 [B2]=1964-9-1 則: =TEXT(DATEDIF(B2,TODAY(),"y"),"00")&TEXT(MOD(DATEDIF(B2,TODAY(),"m"),12),"00") '顯示 4009 =TEXT(DATEDIF(B2,TODAY(),"y"),"00年")&TEXT(MOD(DATEDIF(B2,TODAY(),"m"),12),"00月") '顯示 40年09月 如果你找不到 DATEDIF 函數(shù),也可以不用 DATEDIF 函數(shù), 如 [B2]=1964-9-1 則: =TEXT(RIGHT(YEAR(NOW()-B2),2),"00")&TEXT(MOD(MONTH(NOW()-B2)-1,12),"00") '顯示 4009 =TEXT(RIGHT(YEAR(NOW()-B2),2)&"年"&MOD(MONTH(NOW()-B2)-1,12)&"個月","") '顯示 40年09個月 8.自動算出工齡日期格式為(yyyy.mm.dd) 能否用:(yyyy.mm.dd)這種格式來計算出工齡有多長呢~? 以前用這樣一段( =TEXT(RIGHT(YEAR(NOW()-A1),2)&"年"&MOD(MONTH(NOW()-A1)-1,12)&"個月","") )。 但這種方法只能用:(yyyy-mm-dd)這樣的日期格式才能實現(xiàn)! 你不妨把“.”替換成“-”,不就行了嗎,再說后者是日期的一種標準格式, =TEXT(RIGHT(YEAR(NOW()-SUBSTITUTE(A1,".","-")),2)&"年"&MOD(MONTH(NOW()-SUBSTITUTE(A1,".","-"))-1,12)&"個月","") 三、【時間和日期應(yīng)用】 1.自動顯示當前日期公式 =YEAR(NOW()) 當前年 =MONTH(NOW()) 當前月 =DAY((NOW())) 當前日 2.如何在單元格中自動填入當前日期 Ctrl+; 3.如何判斷某日是否星期天 =WEEKDAY(A2,2) =TEXT(A1,"aaaa") =MOD(A1,7)<2 4.某個日期是星期幾 比如2007年2月9日,在一單元格內(nèi)顯示星期幾。 =TEXT(A1,"aaa") (五) =TEXT(A1,"aaaa") (星期五) =TEXT(A1,"ddd") (Fri) =TEXT(A1,"dddd") (Friday) 5.什么函數(shù)可以顯示當前星期 如:星期二 10:41:56 =TEXT(NOW(),"aaaa hh:mm:ss") 6.求本月天數(shù) 設(shè)A1為2006-8-4 求本月天數(shù) A1=DAY(DATE(YEAR(A1),MONTH(A1)+1,0)) 也有更簡便的公式:=DAY(EOMONTH(NOW(),0)) 需加載分析工具箱。 當前月天數(shù): =DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)-DATE(YEAR(TODAY()),MONTH(TODAY()),1) 用公式算出除去當月星期六、星期日以外的天數(shù) =SUMPRODUCT(--(MOD(ROW(INDIRECT(DATE(YEAR(NOW()),MONTH(NOW()),1)&":"&DATE(YEAR(NOW()),MONTH(NOW())+1,0))),7)>1)) 7.顯示昨天的日期 每天需要單元格內(nèi)顯示昨天的日期,但雙休日除外。 例如,今天是7月3號的話,就顯示7月2號,如果是7月9號,就顯示7月6號。 =IF(TEXT(TODAY(),"AAA")="一",TODAY()-3,IF(TEXT(TODAY(),"AAA")="日",TODAY()-2,TODAY()-1)) =IF(TEXT(TODAY(),"AAA")="一",TODAY()-3,TODAY()-1) 8.關(guān)于取日期 怎么設(shè)個公式使A1在年月日向后推5年,變成2011-7-15 =DATE(YEAR(A1)+5,MONTH(A1),DAY(A1)) =EDATE(A1,12*5) 9.如何對日期進行上、中、下旬區(qū)分 =LOOKUP(DAY(A1),{0,11,21,31},{"上旬","中旬","下旬","下旬"}) 10.如何獲取一個月的最大天數(shù) "=DAY(DATE(2002,3,1)-1)"或"=DAY(B1-1)",B1為"2001-03-01 11.日期格式轉(zhuǎn)換公式 將 “01/12/2005” 轉(zhuǎn)換成“20050112”格式 =RIGHT(A1,4)&MID(A1,4,2)&LEFT(A1,2) =YEAR($A2)&TEXT(MONTH($A2),"00")&TEXT(DAY($A2),"00") 該公式不用設(shè)置數(shù)據(jù)有效性,但要設(shè)置儲存格格式。 也可以用下列兩方法: 1、先轉(zhuǎn)換成文本, 然后再用字符處理函數(shù)。 2、[數(shù)據(jù)]-[分列] [日期]-[MDY] 將“2005年9月”轉(zhuǎn)換成“200509”格式 先用公式:=text(a1,"yyyymm")+0 然后將單元格格式為常規(guī)。 將“2005-8-6”格式轉(zhuǎn)換為“20050806”格式 用公式:=TEXT(A1,"YYYYMMDD") 反之,將20050806轉(zhuǎn)為日期2005-8-6格式,可用公式: =DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)) 另四種公式: =text(a1,"0000-00-00") 顯示:2005-08-06 =--TEXT(A1,"#-00-00"),把單元格設(shè)置為日期格式 顯示:2005-8-6 =TEXT(20050806,"0000-00-00")*1,單元格設(shè)置日期型 顯示:2005-8-6 =VALUE(LEFT(A1,4)&"-"&MID(A1,5,2)&"-"&RIGHT(A1,2)) 顯示:2005-8-6 12.將“20060501”轉(zhuǎn)換為“2006-05-01”格式 =DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)) 13.將“199306”轉(zhuǎn)換為“1993-6” 公式1:=LEFT(A3,4)&"-"&RIGHT(A3,2)*1 公式2:=--TEXT(A3*100+1,"#-00-00") 公式2需要設(shè)置單元格格式,自定義:e-m 公式3:=TEXT(TEXT(A3&"01","0000-00-00"),"e-m") 14.把198405轉(zhuǎn)換成1984.05 一、查找—1984,替換—1984. 二、如果全部是年月的話,我個人建議, 1、采取輔助=mid(xxxxxx,1,4) & "." & right(xxxxxx,2) 2、選中這列,用數(shù)據(jù)中的分列。然后…………… 三、單元格格式/數(shù)字/自定義,類型下面輸入:####"."## 15.將文本“2004.01.02” 轉(zhuǎn)換為日期格式:2004-1-2 =DATE(MID(A1,1,4),MID(A1,6,2),MID(A1,9,2)) 16.將2005-8-6轉(zhuǎn)換為2005年8月6日格式 =TEXT(A1,"yyyy""年""m""月""d""日"";@") 17.象22怎樣轉(zhuǎn)換成22日?轉(zhuǎn)成當年當月的日子 公式為:=date(year(now()),month(now()),22) 18.將“2006年5月”轉(zhuǎn)換成“2006年05月” 公式為:=TEXT(A8,"yyyy""年""mm""月"";@") 也可以這樣處理:選中單元格,設(shè)置單元格公式-數(shù)字-自定義,將yyyy“年”m“月”改為:yyyy“年”mm“月”,即可。但這方法打印出來顯示為:2006/5/ 19.將“1968年6月12日”轉(zhuǎn)換為“1968/6/12”格式 =YEAR(A1)&"/"&MONTH(A1)&"/"&DAY(A1) 顯示:1968/6/12 =TEXT(A1,"yyyy/mm/dd") 顯示:1968/06/12 20.將“1968年6月12日”轉(zhuǎn)換為“1968-6-12”格式 =YEAR(A1)&"-"&MONTH(A1)&"-"&DAY(A1) 顯示:1968-6-12 =TEXT(A1,"yyyy-mm-dd") 顯示:1968-06-12 21.將1993-12-28的日期格式轉(zhuǎn)換成1993年12月 =CONCATENATE(YEAR(A1),"年",MONTH(A1),"月") =YEAR(A1)&"年"&MONTH(A1)&"月" 也可以自定義格式 [$-404]e"年"m"月" 22.將“1978-5-2”包含年月日的日期轉(zhuǎn)換成“197805”只有年月的格式 =year(A1)&text(month(A1),"00") 23.要將“99.08.15” 格式轉(zhuǎn)換成“1999.08.15”如何做 選中列,數(shù)據(jù)菜單中選分列,分列過程中“格式”選“日期YMD”,結(jié)束。 24.要保持2005/8/6格式 當輸入2005/8/6后系統(tǒng)自動變成2005-8-6,要保持2005/8/6格式,可以使用強制文本(前面加'號)或使用公式=TEXT(A1,"YYYY/MM/DD")。也可以用另一種公式:=IF(ISERROR(TEXT(A1,"yyyy/mm/dd")),TEXT(A1,"0000!/00!/00"),TEXT(A1,"yyyy/mm/dd")) 25.將“二○○三年十二月二十五日”轉(zhuǎn)為“2003-12-25”格式, 1、可以用數(shù)組公式將中文日期轉(zhuǎn)化為日期系列數(shù){=14610+MATCH(SUBSTITUTE(A3,"元","一"),TEXT(ROW($14611:$55153),"[DBNum1]yyyy年m月d日"),0)} 該公式速度較慢。 2、改進后的公式,速度要快的多: {=DATE(1899+MATCH(LEFT(A7,4),TEXT(ROW($1900:$2100),"[DBNum1]0000"),0),MONTH(MATCH(SUBSTITUTE(MID(A7,6,7),"元","一"),TEXT(ROW($1:$366),"[DBNum1]m月d日"),0)),DAY(MATCH(SUBSTITUTE(MID(A7,6,7),"元","一"),TEXT(ROW($1:$366),"[DBNum1]m月d日"),0)))} 要設(shè)置為1900年的日期格式。 26.日期格式轉(zhuǎn)換 如A列是月份數(shù)為8,B列是日期數(shù)為18,如何在C列顯示“8月18日” =A1&"月"&B1&"日" 反之,要將C列的“8月18日” 直接分別到D、E列,顯示月份和日期, 月數(shù)份=LEFT(C5,FIND("月",C5)-1) 日期數(shù)=MID(C5,FIND("月",C5)+1,FIND("日",C5)-FIND("月",C5)-1) 也可分別用公式: =month(--c5) =day(--c5) 27.日期格式轉(zhuǎn)換問題 輸入的日期是:04-07-26. 與另一格的"001"合并,合并出來是:040726001. =TEXT(A1,"YYMMDD")&"001" 28.要想自動取得“編制日期:XXXX年X月X日” 可在該單元格輸入 ="編制日期:"&TEXT(TODAY(),"yyyy年m月d日") 四、【排名及排序篩選】 1.一個具有11項匯總方式的函數(shù)SUBTOTAL =SUBTOTAL(9,$B$2:B2) 在數(shù)據(jù)篩選求和上有意想不到的功能,11項功能為:1、求平均數(shù),2、求計數(shù),3、求計數(shù)值(自動篩選序列)4、求最大值,5、求最小值,6、求乘積,7、求總體標準偏差,8、求標準偏差、9、求和,10、求方差,11、求總體方差。 2.自動排序 =SUBTOTAL(3,$B$2:B2)*1 =IF(A2<>A1,1,N(C1)+1) 3.按奇偶數(shù)排序 我想請教怎樣按奇數(shù)順序然后再按偶數(shù)順序排序 =IF(MOD(A1,2),0,1) =IF(ROW()>50,(ROW()*2)-100,(ROW()*2)-1) =ROW()*2-1-(ROW()>50)*99 4.自動生成序號 比如在第二列中輸入內(nèi)容回車后第一列的下一行自動生成序列號。 =IF(B2<>"",A2+1,"") 5.如何自動標示A欄中的數(shù)字大小排序? =RANK(A1,$A$1:$A$5) =RANK(A1,A:A) 6.如何設(shè)置自動排序 A列自動變成從小到大排列 B=SMALL(A$2:A$28,ROW(1:1)) A列自動變成從大到小排列 B=LARGE(A$2:A$28,ROW(1:1)) 想得到數(shù)據(jù)的出現(xiàn)總數(shù)嗎({1,2,2,3,4,4,5} 數(shù)據(jù)的出現(xiàn)總數(shù)為5)? 解答:不需要插列,不需要很多的函數(shù)就行了. =RANK(B3,B$3:B$12)+COUNTIF(B$3:B3,B3)-1 8.按字符數(shù)量排序 制作歌曲清單時,習(xí)慣按字符數(shù)量來排列分類,但是EXCEL并不能直接按字數(shù)排序。需要先計算出每首歌曲的字數(shù),然后再進行排序。 如A、B列分別為“歌手”和“歌名”,在C1輸入“字數(shù)”,在C2輸入公式: =LEN(B2) 下拖,單擊C2,單擊工具欄上的“升序排列”即可,刪除C列。 9.排序字母與數(shù)字的混合內(nèi)容 日常使用中,表格經(jīng)常會有包含字母和數(shù)字混合的數(shù)據(jù),對此類數(shù)據(jù)排序時,通常是先比較字母的大小,再比較數(shù)字的大小,但EXCEL是按照對字符進行逐位比較來排序的,如下表:A7排在第5位,而不是第1位。排序結(jié)果無法令人滿意。
如果希望EXCEL改變排序的規(guī)則,需要將數(shù)據(jù)做一些改變。 在B1中輸入公式:LEFT(A1,1)& RIGHT("000"& RIGHT(A1,LEN(A1)-1),3) 下拖 單擊B2,單擊工具欄上的“升序排列”即可。 10.隨機排序 如A、B列分別為“歌手”和“歌名”,在C1輸入“次序”,在C2輸入公式: =RAND(),下拖,單擊C2,單擊工具欄上的“降序排列”即可對歌曲清單進行隨機排序。 11.排序的問題 我想要這樣的排序: 2001-2003 2004-2006 2007-2009 2010-2012; 其實不是數(shù)據(jù)排序,應(yīng)該是數(shù)據(jù)填充。 輸入公式=LEFT(E3,4)+3&"-"&RIGHT(E3,4)+3 即可。 12.怎樣才能讓數(shù)列自動加數(shù) 怎樣做才能讓數(shù)列自動加數(shù) 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")否則數(shù)字超過9就錯誤了。 13.一個排序問題 一個電子表格,格式是101、102... 999,10101、10102... 99901,1010101,1020201... 9990101,請問如何將它排列成101,10101,1010101,102,10201,1020101,... 999,99901,9990101 的形式。 我在數(shù)字前加了個字母,比如"d"&"數(shù)字",然后用排序就可以把它們按你的需求排列了.最后再把字母"d"去掉。 14.數(shù)字的自動排序,插入后不變? 1 趙一 總經(jīng)理 2 趙二 副經(jīng)理 3 趙三 副經(jīng)理 4 趙四 技術(shù)員 5 趙五 6 趙六 員工 如上的一個表,如何實現(xiàn)當我把趙六這一整行(第6行)插入到上面的表中時,A列的序列號不變?最后的效果如下: 1 趙一 總經(jīng)理 2 趙二 副經(jīng)理 3 趙六 員工 4 趙三 副經(jīng)理 5 趙四 技術(shù)員 6 趙五 A1單元格輸入公式 =row(),往下拉,然后再插入。 =SUBTOTAL(3,$B$2:$B2) 在A1中輸入公式:“=if(b1="","",counta($b$1:b1)”后下拉復(fù)制至A列各行即可(“”不必輸入) 15.根據(jù)規(guī)律的重復(fù)的姓名列產(chǎn)生自動序號
=(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)))
16.排名的函數(shù) 用排名函數(shù)來對成績進行排名,用起來非常地方便。 =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 17.自動排名公式 =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 18.百分比排名的公式寫法為: =PERCENTRANK($C$3:$C$12,C3) 19.平均分及總分排名 =AVERAGE(B2:E2) =RANK(F2,$F$2:$F$65536) 20.求名次排名 統(tǒng)計成績時遇到一個分別求班級和年級總分名次排名的問題,不曉得應(yīng)該運用什么公式來實現(xiàn)。 班級名次: =SUMPRODUCT((BJ=A2)*(ZF>E2))+1 年級名次: =RANK(E2,ZF) 公式下拖。 21.排名次 根據(jù)總分值大小,只將姓名排序后, 降序結(jié)果 =INDEX(A$2:A$6,RANK(D2,D$2:D$6)) 根據(jù)總分值大小,只將姓名排序后, 升序 =INDEX(A$2:A$6,RANK(D2,D$2:D$6,1)) 22.根據(jù)分數(shù)進行普通排名 =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)) 23.對于普通排名分數(shù)相同時,按順序進行不重復(fù)排名 =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))) 24.依分數(shù)比高低名次成績排名 =RANK($E3,$E$3:$E$22) 內(nèi)建方式排名 =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不重復(fù)排名 =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))) 不重復(fù)排名 =SUMPRODUCT(1*(($E$3:$E$12+$B$3:$B$12/100+$C$3:$C$12/10000)>=(E3+B3/100+C3/10000))) 不重復(fù)排名 =RANK($E3,$E$3:$E$22,1) 倒排序 25.美國式排名 =RANK(K247,$K$247:$K$270) =RANK(B1,$B1:$H1) 26.中國式排名 =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} 27.求最精簡的自動排名公式 =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(如果數(shù)據(jù)列中數(shù)值有相同) =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))) 數(shù)組公式 {=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/通用格式名") 28.排序后排名 {=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)) 29.位次排名 {=IF($B2:$O2>=0,RANK($B2:$O2,$B2:$O2,0),)} 30.根據(jù)雙列成績進行共同排名 =RANK(C345,($C$345:$C$356,$H$345:$H$356)) 31.在雙列間排名 =RANK(B2,($B$2:$B$26,$E$2:$E$16)) 32.等次排名 由大到小排名 =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 33.不等次排名(行小排先) 由大到小 =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 34.不等次排名(行大排先) 由大到小 =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 35.順次排名 由大到小 =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 36.有并列排名 =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)) 37.無并列排名 =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} 38.有并列分段排名 =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}(需輔助列) 39.無并列分段排名 {=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 40.成績排名
能否用一個公式直接找出所用考生中語文成績中第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)) 能否用一個公式直接找出所用考生中語文成績中按與考人數(shù)的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) 41.如何排名
1、對英語進行排名,缺考不計算在內(nèi)。
缺考不計算在內(nèi) b2=IF(A2="缺考","",RANK(A2,$A$2:$A$13)) 然后按照B列排序 缺考計算在內(nèi) =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)) 42.數(shù)據(jù)排名(隔幾行排名) =IF(A2="","",RANK(A2,$A$2:$A$11,0)) 如果隔幾行排名,如下表,第五行、第九行和第十二行不參與排名。
=IF(A2="小計","",RANK(B2,(B$2:B$4,B$6:B$8,B$10:B$11))) 下拉 43.根據(jù)分數(shù)進行倒排名 =RANK($E3,$E$3:$E$22,1) =RANK(K60,$K$60:$K$83,1) =COUNTIF($K$60:$K$83,"<"&K60)+1 44.倒數(shù)排名函數(shù)是什么 1為正排序,0為逆排序。 倒數(shù)排名=RANK(A2,$A$2:$A$5,0) 正數(shù)排名=RANK(A2,$A$2:$A$5,1) 45.如何實現(xiàn)每日各車間產(chǎn)量的排名 =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,,,)) 46.分數(shù)相同時按照一科的分數(shù)進行排名 {=MATCH(K308*100+D308,LARGE($K$308:$K$331*100+$D$308:$D$331,ROW($K$308:$K$331)-307),)} 47.篩選后自動產(chǎn)生序列號并匯總 自動產(chǎn)生序列號:在A1輸入以下公式,往下拖。 =SUBTOTAL(3,$B$2:B2)*1 自動匯總,用以下公式: =SUBTOTAL(9,$B$2:B2) 說明:匯總時,不要在“全選”狀態(tài)下進行,先“篩選”出某一單位,自動求和∑。然后再恢復(fù)到“全選”或者選擇任何單位,就能自動匯總了(在“篩選”出某一單位進行求和時,一般表格會自動產(chǎn)生以上匯總公式)。 其它:如同時要在其它單元格顯示人數(shù),在“全選”狀態(tài)下,選定單元格,點“fx”(用“sum”函數(shù))再點擊序列號最末尾數(shù),即可。 48.如何篩選奇數(shù)行 公式=MOD(A1,2)=1 49.函數(shù)篩選姓名 如何把兩列中只要包含A和A+的人員篩選出來 =IF(ISNUMBER(FIND("A",C2))+ISNUMBER(FIND("A",B2))>0,"OK","") 50.名次篩選 名次=RANK(K5,K$2:K$435) 班名次=RANK(K6,OFFSET(K$2,MATCH(A6,A:A,)-2,,COUNTIF(A$1:A$500,A6))) 51.如何實現(xiàn)快速定位(篩選出不重復(fù)值) =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()))&""(數(shù)組公式) 52.如何請在N列中列出A1:L9中每列都存在的數(shù)值 {=IF(ROW()>SUM(--x),"",INDEX(A:A,SMALL(IF(x,ROW($A$1:$A$9)),ROW())))} 53.自動為性別編號的問題 有一個編碼,5位,第1位,1為男,2為女,后面4位,代表他的編號,從0001-9999,如何達到下表: 性別 編碼 男 10001 男 10002 女 20001 男 10003 女 20002 男的也是從0001-9999 女的也是從0001-9999 如果你是已經(jīng)輸入了其它信息,僅僅為快速輸入編碼的話。用篩選可以實現(xiàn)吧。 用公式:=IF(A2="",TEXT(COUNTIF(A$2:A2,A2),"10000"),TEXT(COUNTIF(A$2:A2,A2),"20000"))向下拖。 |
|