excel常用函数公式及技巧搜集2

【年龄和工龄计算】

根据出生年月计算年龄

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

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

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

根据出生年月推算生肖

中国人有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

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

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

计算距离退休年龄的公式

=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为出生年月日(可用身份证号码的公式生成)。

求工齡

=DATEDIF(B2,TODAY(),"y")

=DATEDIF(B2,TODAY(),"ym")

=DATEDIF(B2,TODAY(),"md")

=DATEDIF(B2,TODAY(),"y")&""&DATEDIF(B2,TODAY(),"ym")&""&DATEDIF(B2,TODAY(),"md")&""

计算工龄

=DATEDIF(C6,C8,"y")求两日期间的年数

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

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

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

年龄及工龄计算

有出生年月如何求年龄?

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

自动算出工龄日期格式为(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)&"个月","")

㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜

【时间和日期应用】

自动显示当前日期公式

=YEAR(NOW())       当前年

=MONTH(NOW())     当前月

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

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

Ctrl+;

如何判断某日是否星期天

=WEEKDAY(A2,2)

=TEXT(A1,"aaaa")

=MOD(A1,7)<2

某个日期是星期几

比如2007年2月9日,在一单元格内显示星期几。

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

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

=TEXT(A1,"ddd")     Fri

=TEXT(A1,"dddd")    Friday

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

如:星期二  10:41:56

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

求本月天数

设A1为2006-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月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)

关于取日期

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

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

=EDATE(A1,12*5)

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

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

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

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

日期格式转换公式

“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

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

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

将“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")

198405转换成1984.05

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

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

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

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

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

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

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

2005-8-6转换为200586格式

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

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

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

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

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

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

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

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

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

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

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

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

1993-12-28的日期格式转换成199312

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

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

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

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

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

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

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

要保持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"))

将“二○○三年十二月二十五日”转为“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年的日期格式。

日期格式转换

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

=A1&""&B1&""

反之,要将C列的“8月18日” 直接分别到D、E列,显示月份和日期,

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

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

也可分别用公式:

=month(--c5)

=day(--c5)

日期格式转换问题

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

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

要想自动取得“编制日期:XXXX年X月X日”

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

㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜

【排名及排序筛选】

一个具有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并不能直接按字数排序。需要先计算出每首歌曲的字数,然后再进行排序。

    如A、B列分别为“歌手”和“歌名”,在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,单击工具栏上的“升序排列”即可。

随机排序

如A、B列分别为“歌手”和“歌名”,在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就错误了。

一个排序问题

一个电子表格,格式是101、102... 999,10101、10102... 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

求最精简的自动排名公式

=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

函数筛选姓名

如何把两列中只要包含A和A+的人员筛选出来

=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"))向下拖

㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜

文本与页面设置

EXCEL中如何删除*号

在录入帐号是录入了*号,如何删除。

可以用函数 SUBSTITUTE(a1,"*","")

查找~*,替换为空。

将字符串中的星号“*”替换为其它字符

在查找栏输入~*

替换为“-”即可。

去空格函数

如何删去单元格中的空格,如姓名前,中,后的空格,即单元格中是两个字的人名中间有一个空格,想删去有何方法。如:中  国,改为:中国。

1用公式:=SUBSTITUTE(A2," ","")  注:第一对双引号中有一空格。而第二个“”中是无空格的。

2、利用查找-替换,一次性全部解决。

“编辑”-“替换”(或Ctrl+H),在“查找”栏内输入一空格,“替换”什么也不输入(空白)。然后“全部替换”即可。

3、有一个专门删除空格的函数: TRIM()

在EXCEL编辑栏里,不管输中文还是英文只能输一个字节的空格,但如果字与字中间是两个字节的空格,那么TRIM()就不起作用了,它就不认为是一个空格,而是一个汉字,怎么去“TRIM”也没用。如:单元格A1中有“中  心  是”,如果用TRIM则变成“中 心 是”,想将空格全去掉,只能用SUBSTITUDE()函数,多少空格都能去掉。

如何去掉字符和单元格里的空格

8900079501     8900079501~

1900078801     1900078802~

=SUBSTITUTE(B2,"~","")

怎样快速去除表中不同行和列的空格

编辑-定位-定位条件-空值,可选中所有空单元格, 再删除。

如何禁止输入空格

在Excel中如何通过编辑“有效数据”来禁止录入空格?烦请大侠们费心解答。

解答:有效性公式。=COUNTIF(A1,"* *")=0

(注:COUNTIF(A1,"* *") 在单元格有空格时结果为1,没有空格时结果为0

如希望第一位不能输入空格:countif(a1," *")=0

如希望最后一位不能输入空格:countif(a1,"* ")=0)

代替单元格中字符串

单元格编号,开始位数,从开始位数算起第几位数,要用于代替的的字符串。

windows2000变成windows2K

=REPLACE(B2,8,3,"K")

单元格编号,要代替掉的字符,要用作代替的字符,第几个。

代替单元格B391中的全部TT,改为UU。

EETTCCTTFF变成EEUUCCUUFF

=SUBSTITUTE(B394,"TT","UU")

只代替单元格B391中的第一次出现的TT,改为UU。

EETTCCTTFF变成EEUUCCTTFF

=SUBSTITUTE(B397,"TT","UU",1)

把单元格中的数字转变成为特定的字符格式

函数中的第二个参数的双引号一定不能是中文格式的(不能用任意中文输入法输入的双引号。)

实例:    20000                         目的: 变成带有美元符号的字符

            10000                                变成带有人民币符号的字符

            151581                                  变成带有欧元符号的字符

           1451451                                  变成中文繁体的字符

           15748415                                变成中文简体的字符

操作步骤: =TEXT(B72,"$0.00")          结果: $20000.00

       =TEXT(B73,"¥0.00")                           ¥10000.00

       =TEXT(B74,"€0.00")                           €151581.00

       =TEXT(B75,"[DBNum2]G/通用格式")           壹佰肆拾伍万壹仟肆佰伍拾壹   

       =TEXT(B76,"[DBNum1]G/通用格式")           一千五百七十四万八千四百一十五  

把有六百多个单元格的一列,变成一页的多列

有一张表,共有14页,但每页只有一列,如何把他们整合在一起,变成一页(按每页的顺序),如果使用剪切和粘贴的方式,那样太麻烦。

=INDIRECT("r"&(COLUMN()-3)*48+ROW()&"C1",0) 复制到其他单元格

N列变M列公式归纳为

=OFFSET($A$1,INT(((ROW(A1)-12)*m+COLUMN(A1)-1)/n),MOD((ROW(A1)-1)*m+COLUMN(A1)-1,n))

=OFFSET($A$1,INT(((ROW(A1)-1)*7+COLUMN(A1)-1)/4),MOD((ROW(A1)-1)*7+COLUMN(A1)-1,4))   四列变七列

=OFFSET($A$1,INT(((ROW()-20)*10+COLUMN()-1)/7),MOD((ROW()-20)*10+COLUMN()-1,7))         七列变十列

一列变四列

=OFFSET($A$1,ROW($A1)*4-COLUMNS(C:$F),)

=OFFSET($A$1,(ROW()-3)*4+MOD(COLUMN()-8,4),)

=OFFSET($A$1,ROW(A1)*4-4+MOD(COLUMN()-13,4),)

四列变一列

=OFFSET($F$1,INT(ROW(1:1)/4+3/4)-1,MOD(ROW()-1,4))

=OFFSET($F$1,INT((ROW(1:1)-1)/4),MOD(ROW()-1,4))

=OFFSET($F$1,ROUNDUP((ROW(1:1)/4),0)-1,MOD(ROW()-1,4))

=OFFSET($F$1,(ROW()-1)/4,MOD(ROW()-1,4))

重复四次填充

=TEXT(INT(ROW()/4+3/4),"00")

=IF(TRUNC((ROW()-1)/4,0)<9,"0"&TRUNC(ROW()/4-0.01,0)+1,TRUNC(ROW()/4-0.01,0)+1)

=TEXT(ROUNDUP(ROW()/4,),"00")

=TEXT(ROW(2:2)/4,"00")

多行数据排成一列

a1

b1

c1

d1

e1

f1

g1

h1

i1

a2

b2

c2

d2

e2

 

g2

h2

i2

a3

 

c3

d3

 

 

g3

h3

i3

a4

 

c4

 

 

 

g4

h4

i4

A5

 

c5

 

 

 

g5

h5

 

 

 

 

 

 

 

g6

 

 

a1

a2

a3

a4

A5

b1

                                       =IF(ROW()>COUNTA($A$1:$I$10),"",INDEX($A$1:$I$10,MOD(SMALL(IF($A$1:$I$10<>"",ROW($A$1:$I$10)+COLUMN($A$1:$I$10)*100000),ROW()),100000),INT(SMALL(IF($A$1:$I$10<>"",ROW($A$1:$I$10)+COLUMN($A$1:$I$10)*100000),ROW())/100000)))

将单元格一列分为多列

如果有一列资料需要分为多列,只要先将此列选中,然后再选择“数据”→“分列”,此时会出现一个对话框,选“固定宽度”或“分隔符号”。如为前者则下一步后只要用鼠标轻点资料即可以按任意宽度进行分割了,如为后者则只要有明显的分隔符号即可,下一步后就可以自定义刚分的列的格式了,定好后就算完成了。

步骤:

1、先确定1列的最适合的列宽,再将其宽度乘以分成列数,即

分列前的列宽=最适合的列宽×需分成的列数.

2、编辑—填充—内容重排。

3、数据—分列。

首写字母大写

把单元格编号中的单词首写字母变成大写字母,其余字母变成小写。

如china  -  China

=PROPER(B160)

把单元格编号中的小写字母变成大写字母

lafayette148      LAFAYETTE148

=UPPER(B1)

=LOWER(B1)         大写字母变成小写字母公式)

让姓名左右对齐

  姓名用字,有的是三个汉字,有的是两个汉字,打印出来很不美观,要使姓名用字是两个字的与三个字的左右对齐也有两种方法:

  方法一:格式设置法。选中我们已经删除完空格的姓名单元格,单击“格式→单元格”在打开的“单元格格式”对话框中的水平对齐方式中选择“分散对齐”选项,确定退出后即可使学生姓名用字左右对齐。

方法二:函数公式法。利用Excel中的“IF”、“LEN”、“MID”三种函数组合可使姓名用字左右对齐。具体示例为:在C3单元格中输入公式:“=IF(LEN(B2)>=3,B2,(MID(B2,1,1)&&" "&&MID(B2,2,1)))”,确定后利用填充柄将该公式进行复制即可。

数字居中而小数点又对齐

可在小数点的任一边替无效的零加入空间,以便当格式设定为固定宽字型 ,小数点可以对齐。

格式-单元格-数字-自定义-???.???-确定

请问:小数点后的“0”还有办法显示吗?比如:

    2.0

   12.001

格式-单元格-数字-自定义-???.0?-确定

计算指定单元格编号组中非空单元格的数量

计算B252到B262之间的非空单元格的数量。

=COUNTA(B252:B262)

比较两个单元格内容是否一致

74P125148    74P125148

比较单元格B53与C53中的内容是否一致。

假如内容一致,那么返回值为TRUE,不一致的话,返回值为FALSE。

=EXACT(B53,C53)

结果:TRUE

怎么样设置才能让这一列的每个单元格只能输入12位

怎么样设置才能让某一列或某一行的每个单元格只能输入12位,(阿拉伯数字和26个英文字母在内,没有中文。)

选中A列,设置数据有效性:自定义>公式:“=LEN(A1)=12”

如何让工作表奇数行背景是红色偶数行背景是蓝色

用条件格式

=ROW()/2=INT(ROW()/2)    设定颜色

条件格式: 公式为 =MOD(ROW(),2)=0

计算特定的一组单元格中,满足条件的单元格的个数

仍以上题为例,计算三个人在B307到B313中各自所占的单元格数。

李六的:     =COUNTIF(B307:B313,B323)

王武的:     =COUNTIF(B307:B313,C323)

陈丰的:     =COUNTIF(B307:B313,D323)

姓名:  李六      王武      陈丰

结果:  3         2        2

你可能感兴趣的:(Excel)