分享

Excel常用函数公式及技巧(1)

 龘龘清欢 2014-09-11

excel常用函数公式及技巧

搜集(常用的)

 

Excel常用函数公式及技巧 - 红叶 - 日知斋

 

一、【身份证信息?提取】

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。(最简单的公式,把单元格设置为日期格式)

=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年mmdd日。(如果将公式中“0000年0000日”改成“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")

20061031日为基准日,按按身份证计算年龄(周岁)的公式

=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)))

Excel常用函数公式及技巧 - 红叶 - 日知斋

 

二、【年龄和工龄计算】

1.根据出生年月计算年龄

DATEDIF(A1,TODAY(),"y")

=DATEDIF(A1,TODAY(),"y")&"周岁"

DATEDIF(A1,NOW(),"y")

2.根据出生年月推算生肖

中国人有12生肖,属什么可以推算出来。即用诞生年份除以12,再用除不尽的余数对照如下:0猴,1鸡,2狗,3猪,4鼠,5牛,6虎,7兔,8龙,9蛇,10马,11羊例如:XXX出生于1921年,即用1921年除以12,商得数为160,余数为1,对照上面得知余数1对应生肖是鸡,XXX就属鸡。

=MID("猴鸡狗猪鼠牛虎兔龙蛇马羊",MOD(YEAR(A2),12)+1,1)   2007

3.如何求出一个人到某指定日期的周岁?

=DATEDIF(起始日期,结束日期,"Y")

4.计算距离退休年龄的公式

=IF(E2="","",IF(E2>=V2,"已经退休","距离退休还有"&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")求两日期间的年数

=DATEDIF(C6,C8,"ym")求两日期间除去整年数剩余的月数

=DATEDIF(C6,C8,"m")求两日期间的总月数

如果只需要算出周年的话,可以用=datedif("1978-8","2006-5","Y")

7.年龄及工龄计算

有出生年月如何求年龄?

有工作时间如何求工龄?(求出的结果为多少年另几个月,如: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")  '显示 4009

如果你找不到 DATEDIF 函数,也可以不用 DATEDIF 函数,

[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)&"个月","")       '显示 4009个月

8.自动算出工龄日期格式为(yyyy.mm.dd)

能否用:(yyyy.mm.dd)这种格式来计算出工龄有多长呢~

    以前用这样一段(   =TEXT(RIGHT(YEAR(NOW()-A1),2)&""&MOD(MONTH(NOW()-A1)-1,12)&"个月","")     )。

但这种方法只能用:(yyyy-mm-dd)这样的日期格式才能实现!

你不妨把“.”替换成“-”,不就行了吗,再说后者是日期的一种标准格式,

=TEXT(RIGHT(YEAR(NOW()-SUBSTITUTE(A1,".","-")),2)&""&MOD(MONTH(NOW()-SUBSTITUTE(A1,".","-"))-1,12)&"个月","")

Excel常用函数公式及技巧 - 红叶 - 日知斋

 

三、【时间和日期应用】

1.自动显示当前日期公式

=YEAR(NOW())       当前年

=MONTH(NOW())     当前月

=DAY((NOW()))       当前日

2.如何在单元格中自动填入当前日期

Ctrl+;

3.如何判断某日是否星期天

=WEEKDAY(A2,2)

=TEXT(A1,"aaaa")

=MOD(A1,7)<2

4.某个日期是星期几

比如200729日,在一单元格内显示星期几。

=TEXT(A1,"aaa")     (五)

=TEXT(A1,"aaaa")    (星期五)

=TEXT(A1,"ddd")     Fri

=TEXT(A1,"dddd")    Friday

5.什么函数可以显示当前星期

如:星期二  10:41:56

=TEXT(NOW(),"aaaa  hh:mm:ss")

6.求本月天数

A12006-8-4  求本月天数

A1=DAY(DATE(YEAR(A1),MONTH(A1)+1,0))

也有更簡便的公式:=DAY(EOMONTH(NOW(),0))    需加載分析工具箱。

当前月天数:     =DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)-DATE(YEAR(TODAY()),MONTH(TODAY()),1)

用公式算出除去当月星期六、星期日以外的天数

=SUMPRODUCT(--(MOD(ROW(INDIRECT(DATE(YEAR(NOW()),MONTH(NOW()),1)&":"&DATE(YEAR(NOW()),MONTH(NOW())+1,0))),7)>1))

7.显示昨天的日期

每天需要单元格内显示昨天的日期,但双休日除外。

例如,今天是73号的话,就显示72号,如果是79号,就显示76号。

=IF(TEXT(TODAY(),"AAA")="",TODAY()-3,IF(TEXT(TODAY(),"AAA")="",TODAY()-2,TODAY()-1))

=IF(TEXT(TODAY(),"AAA")="一",TODAY()-3,TODAY()-1)

8.关于取日期

怎么设个公式使A1在年月日向后推5,变成2011-7-15

=DATE(YEAR(A1)+5,MONTH(A1),DAY(A1))

=EDATE(A1,12*5)

9.如何对日期进行上、中、下旬区分

=LOOKUP(DAY(A1),{0,11,21,31},{"上旬","中旬","下旬","下旬"})

10.如何获取一个月的最大天数

"=DAY(DATE(2002,3,1)-1)""=DAY(B1-1)",B1为"2001-03-01

11.日期格式转换公式

将 “01/12/2005” 转换成“20050112”格式

RIGHT(A1,4)&MID(A1,4,2)&LEFT(A1,2)

YEAR($A2)&TEXT(MONTH($A2),"00")&TEXT(DAY($A2),"00")  该公式不用设置数据有效性,但要设置储存格格式。

也可以用下列两方法:

1、先转换成文本 然后再用字符处理函数。

2[数据]-[分列]    [日期]-[MDY]

将“20059月”转换成“200509”格式

先用公式:=text(a1,"yyyymm")+0   然后将单元格格式为常规。

将“2005-8-6”格式转换为“20050806”格式

用公式:=TEXT(A1,"YYYYMMDD")

反之,将20050806转为日期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"),把单元格设置为日期格式             显示:2005-8-6

TEXT(20050806,"0000-00-00")*1,单元格设置日期型          显示:2005-8-6

VALUE(LEFT(A1,4)&"-"&MID(A1,5,2)&"-"&RIGHT(A1,2))   显示:2005-8-6

12.将“20060501”转换为“2006-05-01”格式

=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))

13.将“199306”转换为“1993-6

公式1=LEFT(A3,4)&"-"&RIGHT(A3,2)*1

公式2=--TEXT(A3*100+1,"#-00-00") 公式2需要设置单元格格式,自定义:e-m

公式3=TEXT(TEXT(A3&"01","0000-00-00"),"e-m")

14.把198405转换成1984.05

一、查找—1984,替换—1984.

二、如果全部是年月的话,我个人建议,

1、采取辅助mid(xxxxxx,1,4) & "." & right(xxxxxx,2)

2、选中这列,用数据中的分列。然后……………

三、单元格格式/数字/自定义,类型下面输入:####"."##

15.将文本“2004.01.02” 转换为日期格式:2004-1-2

=DATE(MID(A1,1,4),MID(A1,6,2),MID(A1,9,2))

16.将2005-8-6转换为200586格式

=TEXT(A1,"yyyy""""m""""d"""";@")

17.象22怎样转换成22日?转成当年当月的日子

公式为:=date(year(now()),month(now()),22)

18.将“20065月”转换成“200605月”

   公式为:=TEXT(A8,"yyyy""""mm"""";@")

也可以这样处理:选中单元格,设置单元格公式-数字-自定义,将yyyy“年”m“月”改为:yyyy“年”mm“月”,即可。但这方法打印出来显示为:2006/5/

19.将“1968612”转换为“1968/6/12”格式

=YEAR(A1)&"/"&MONTH(A1)&"/"&DAY(A1)    显示:1968/6/12

=TEXT(A1,"yyyy/mm/dd")                       显示:1968/06/12

20.将“1968612”转换为“1968-6-12”格式

=YEAR(A1)&"-"&MONTH(A1)&"-"&DAY(A1)    显示:1968-6-12

=TEXT(A1,"yyyy-mm-dd")                       显示:1968-06-12

21.将1993-12-28的日期格式转换成1993年12月

=CONCATENATE(YEAR(A1),"",MONTH(A1),"")

=YEAR(A1)&""&MONTH(A1)&""

也可以自定义格式 [$-404]e"年"m"月" 

22.将“1978-5-2”包含年月日的日期转换成“197805”只有年月的格式

year(A1)&text(month(A1),"00")

23.要将“99.08.15 格式转换成“1999.08.15如何做

选中列,数据菜单中选分列,分列过程中格式日期YMD”,结束。

24.要保持2005/8/6格式

当输入2005/8/6后系统自动变成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.将“二○○三年十二月二十五日”转为“2003-12-25”格式

1、可以用数组公式将中文日期转化为日期系列数=14610+MATCH(SUBSTITUTE(A3,"",""),TEXT(ROW($14611:$55153),"[DBNum1]yyyymd"),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]md"),0)),DAY(MATCH(SUBSTITUTE(MID(A7,6,7),"",""),TEXT(ROW($1:$366),"[DBNum1]md"),0)))

要设置为1900年的日期格式。

26.日期格式转换

A列是月份数为8B列是日期数为18,如何在C列显示“818日”

=A1&""&B1&""

反之,要将C列的“818日” 直接分别到DE列,显示月份和日期,

月数份=LEFT(C5,FIND("",C5)-1)

日期数=MID(C5,FIND("",C5)+1,FIND("",C5)-FIND("",C5)-1)

也可分别用公式:

=month(--c5)

=day(--c5)

27.日期格式转换问题

输入的日期是:04-07-26. 与另一格的"001"合并,合并出来是:040726001.

=TEXT(A1,"YYMMDD")&"001"

28.要想自动取得“编制日期:XXXXXX日”

可在该单元格输入 ="编制日期:"&TEXT(TODAY(),"yyyymd")

Excel常用函数公式及技巧 - 红叶 - 日知斋
  

四、【排名及排序筛选】

1.一个具有11项汇总方式的函数SUBTOTAL

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

在数据筛选求和上有意想不到的功能,11项功能为:1、求平均数,2、求计数,3、求计数值(自动筛选序列)4、求最大值,5、求最小值,6、求乘积,7、求总体标准偏差,8、求标准偏差、9、求和,10、求方差,11、求总体方差。

2.自动排序

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

=IF(A2<>A1,1,N(C1)+1)

3.按奇偶数排序

我想请教怎样按奇数顺序然后再按偶数顺序排序

=IF(MOD(A1,2),0,1)

=IF(ROW()>50,(ROW()*2)-100,(ROW()*2)-1)

=ROW()*2-1-(ROW()>50)*99

4.自动生成序号

比如在第二列中输入内容回车后第一列的下一行自动生成序列号。

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

5.如何自动标示A栏中的数字大小排序?

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

=RANK(A1,A:A)

6.如何设置自动排序

A列自动变成从小到大排列

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

A列自动变成从大到小排列

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

7.重复数据得到唯一的排位序列

想得到数据的出现总数吗({1,2,2,3,4,4,5} 数据的出现总数为5)?

解答:不需要插列,不需要很多的函数就行了. =RANK(B3,B$3:B$12)+COUNTIF(B$3:B3,B3)-1

8.按字符数量排序

制作歌曲清单时,习惯按字符数量来排列分类,但是EXCEL并不能直接按字数排序。需要先计算出每首歌曲的字数,然后再进行排序。

    AB列分别为“歌手”和“歌名”,在C1输入“字数”,在C2输入公式:

LEN(B2)   下拖,单击C2,单击工具栏上的“升序排列”即可,删除C列。

9.排序字母与数字的混合内容

日常使用中,表格经常会有包含字母和数字混合的数据,对此类数据排序时,通常是先比较字母的大小,再比较数字的大小,但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,单击工具栏上的“升序排列”即可。

10.随机排序

如AB列分别为“歌手”和“歌名”,在C1输入“次序”,在C2输入公式:

RAND(),下拖,单击C2,单击工具栏上的“降序排列”即可对歌曲清单进行随机排序。

11.排序的问题

我想要这样的排序: 2001-2003

                     2004-2006

                     2007-2009

                     2010-2012;

其实不是数据排序,应该是数据填充。

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

12.怎样才能让数列自动加数

怎样做才能让数列自动加数

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就错误了。

13.一个排序问题

一个电子表格,格式是101102... 999,1010110102... 99901,1010101,1020201... 9990101,请问如何将它排列成101,10101,1010101,102,10201,1020101,... 999,99901,9990101 的形式。

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

14.数字的自动排序,插入后不变?

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列各行即可(“”不必输入)

15.根据规律的重复的姓名列产生自动序号

姓名 序号
张三 1
张三 1
李四 2
李四 2
赵五 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)))

 

16.排名的函数

用排名函数来对成绩进行排名,用起来非常地方便。

=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.求名次排名

统计成绩时遇到一个分别求班级和年级总分名次排名的问题,不晓得应该运用什么公式来实现。

班级名次:

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

年级名次:

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

21.排名次

根据总分值大小,只将姓名排序后, 降序结果

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

根据总分值大小,只将姓名排序后, 升序

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

22.根据分数进行普通排名

=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.对于普通排名分数相同时,按顺序进行不重复排名

=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.依分数比高低名次成绩排名

=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) 倒排序

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(如果数据列中数值有相同)

=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/通用格式名")

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.根据双列成绩进行共同排名

=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.成绩排名

序号

姓名

语文

数学

英语

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)

41.如何排名

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))

42.数据排名(隔几行排名)

=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)))    下拉

43.根据分数进行倒排名

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

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

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

44.倒数排名函数是什么

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

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

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

45.如何实现每日各车间产量的排名

=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.分数相同时按照一科的分数进行排名

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

47.筛选后自动产生序列号并汇总

自动产生序列号:在A1输入以下公式,往下拖。

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

自动汇总,用以下公式:

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

说明:汇总时,不要在“全选”状态下进行,先“筛选”出某一单位,自动求和。然后再恢复到“全选”或者选择任何单位,就能自动汇总了(在“筛选”出某一单位进行求和时,一般表格会自动产生以上汇总公式)。

其它:如同时要在其它单元格显示人数,在“全选”状态下,选定单元格,点“fx”(用“sum”函数)再点击序列号最末尾数,即可。

48.如何筛选奇数行

公式=MOD(A1,2)=1

49.函数筛选姓名

如何把两列中只要包含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.如何实现快速定位(筛选出不重复值)

=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()))&""(数组公式)

52.如何请在N列中列出A1:L9中每列都存在的数值

{=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

如果你是已经输入了其它信息,仅仅为快速输入编码的话。用筛选可以实现吧。
先以为关键字进行排序,然后在第一个男的编码输入10001,下拉复制到最后一单即可。同理再以排序。完成目标。

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多