excel常用函数公式及技巧搜集(每天学习一点)-.pdf
《excel常用函数公式及技巧搜集(每天学习一点)-.pdf》由会员分享,可在线阅读,更多相关《excel常用函数公式及技巧搜集(每天学习一点)-.pdf(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 excel 常用函数公式及技巧搜集1.身份证信息的提取1.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
2、,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,
3、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)1.2.从身份证号码中提取出性别=IF(MOD(MID(A1,15
4、,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,男,女)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()
5、-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)1.4.按身份证号号码计算至今天年龄=DATEDIF(TEXT(LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),#-00-00),TODAY(),y)以 2006 年 10 月 31
6、日为基准日,按按身份证计算年龄(周岁)的公式=DATEDIF(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),#-00-00)*1,2006-10-31,y)1.5.按身份证号分男女年龄段按身份证号分男女年龄段,身份证号在K列,年龄段在J 列(身份证号为18 位)男性 16 周岁以下为1 男性 16 周岁(含 16 周岁)以上至50 周岁为 2 男性 50 周岁(含 50 周岁)以上至60 周岁为 3 男性 60 周岁(含 60 周岁)以上为 4 2 女性 16 周岁以下为1 女性 16 周岁(含 16 周岁)以上至45 周岁为 2 女性 45 周岁(含 45 周岁)以上至55
7、 周岁为 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)2.年龄和工龄计算2.1.根据出生年月计算年龄DATEDIF(A1,TODAY(),y)DATEDIF(A1,TOD
8、AY(),y)&周岁 DATEDIF(A1,NOW(),y)2.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)2.3.如何求出一个人到某指定日期的周岁?=DATEDIF(起始日期,结束日期,Y)2.4.计算距离退休年龄的公式=
9、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
10、 为出生年月日(可用身份证号码的公式生成)。2.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)&日 2.6.计算工龄=DATEDIF(C6,C8,y)求两日期间的年数=DATEDIF(C6,C8,ym)求两日期间除去整年数剩余的月数=DATEDIF(C6,C8,m)求两日期间的总月数如果只需要算出周年的话,可以用=datedif(1978-8,2006
11、-5,Y)2.7.年龄及工龄计算有出生年月如何求年龄?有工作时间如何求工龄?(求出的结果为多少年另几个月,如:0303 的形式,即 3 年零 33 个月)。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年)
12、&TEXT(MOD(DATEDIF(B2,TODAY(),m),12),00月)显示 40 年 09 月如果你找不到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 个月2.8.自动算出工龄日期格式为(yyyy.mm.dd)能否用:(yyyy.mm.dd)这种格式来计
13、算出工龄有多长呢?以前用这样一段(=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)&个月,)3.时间和日期应用3.1.自动显示当前日期公式=YEAR(NOW()当前年=MONTH(NOW()当前月=DAY(NOW()
14、当前日3.2.如何在单元格中自动填入当前日期Ctrl+;3.3.如何判断某日是否星期天=WEEKDAY(A2,2)=TEXT(A1,aaaa)=MOD(A1,7)1)3.8.显示昨天的日期每天需要单元格内显示昨天的日期,但双休日除外。例如,今天是 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)3.9.关于取日期怎
15、么设个公式使A1 在年月日向后推5 年,变成 2011-7-15=DATE(YEAR(A1)+5,MONTH(A1),DAY(A1)=EDATE(A1,12*5)3.10.如何对日期进行上、中、下旬区分=LOOKUP(DAY(A1),0,11,21,31,上旬,中旬,下旬,下旬)3.11.如何获取一个月的最大天数=DAY(DATE(2002,3,1)-1)或=DAY(B1-1),B1 为 2001-03-01 3.12.日期格式转换公式将“01/12/2005”转换成“20050112”格式RIGHT(A1,4)&MID(A1,4,2)&LEFT(A1,2)YEAR($A2)&TEXT(MON
16、TH($A2),00)&TEXT(DAY($A2),00)该公式不用设置数据有效性,但要设置储存格格式。也可以用下列两方法:1、先转换成文本,然后再用字符处理函数。2、数据-分列 日期-MDY 将“2005 年 9 月”转换成“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,00
17、00-00-00)显示:2005-08-06-TEXT(A1,#-00-00),把单元格设置为日期格式显示:2005-8-6TEXT(20050806,0000-00-00)*1,单元格设置日期型显示:2005-8-6VALUE(LEFT(A1,4)&-&MID(A1,5,2)&-&RIGHT(A1,2)显示:2005-8-65 将“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
18、*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 转换为
19、 2005 年 8 月 6 日格式=TEXT(A1,yyyy年m 月d 日;)象 22 怎样转换成22 日?转成当年当月的日子公式为:=date(year(now(),month(now(),22)将“2006 年 5 月”转换成“2006 年 05 月”公式为:=TEXT(A8,yyyy年mm 月;)也可以这样处理:选中单元格,设置单元格公式数字自定义,将yyyy“年”m“月”改为:yyyy“年”mm“月”,即可。但这方法打印出来显示为:2006/5/将“1968 年 6 月 12 日”转换为“1968/6/12”格式=YEAR(A1)&/&MONTH(A1)&/&DAY(A1)显示:196
20、8/6/12=TEXT(A1,yyyy/mm/dd)显示:1968/06/12 将“1968 年 6 月 12 日”转换为“1968-6-12”格式=YEAR(A1)&-&MONTH(A1)&-&DAY(A1)显示:1968-6-12=TEXT(A1,yyyy-mm-dd)显示:1968-06-12 将 1993-12-28的日期格式转换成1993年 12 月=CONCATENATE(YEAR(A1),年,MONTH(A1),月)=YEAR(A1)&年&MONTH(A1)&月 也可以自定义格式$-404e年m 月 将“1978-5-2”包含年月日的日期转换成“197805”只有年月的格式yea
21、r(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)6 将“二三年十二月二十五日”转为“2003-12-2
22、5”格式,1、可以用数组公式将中文日期转化为日期系列数=14610+MATCH(SUBSTITUTE(A3,元,一),TEXT(ROW($14611:$55153),DBNum1yyyy年 m 月 d 日),0)该公式速度较慢。2、改进后的公式,速度要快的多:=DATE(1899+MATCH(LEFT(A7,4),TEXT(ROW($1900:$2100),DBNum10000),0),MONTH(MATCH(SUBSTITUTE(MID(A7,6,7),元,一),TEXT(ROW($1:$366),DBNum1m月 d 日),0),DAY(MATCH(SUBSTITUTE(MID(A7,6,
23、7),元,一),TEXT(ROW($1:$366),DBNum1m月 d 日),0)要设置为 1900 年的日期格式。4.日期格式转换如 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 合并,合并出来
24、是:040726001.=TEXT(A1,YYMMDD)&001 要想自动取得“编制日期:XXXX年 X月 X日”可在该单元格输入=编制日期:&TEXT(TODAY(),yyyy年 m 月 d 日)5.排名及排序筛选5.1.一个具有 11 项汇总方式的函数SUBTOTAL=SUBTOTAL(9,$B$2:B2)在数据筛选求和上有意想不到的功能,11 项功能为:1、求平均数,2、求计数,3、求计数值(自动筛选序列)4、求最大值,5、求最小值,6、求乘积,7、求总体标准偏差,8、求标准偏差、9、求和,10、求方差,11、求总体方差。5.2.自动排序=SUBTOTAL(3,$B$2:B2)*1=IF
25、(A2A1,1,N(C1)+1)5.3.按奇偶数排序我想请教怎样按奇数顺序然后再按偶数顺序排序=IF(MOD(A1,2),0,1)=IF(ROW()50,(ROW()*2)-100,(ROW()*2)-1)=ROW()*2-1-(ROW()50)*99 5.4.自动生成序号比如在第二列中输入内容回车后第一列的下一行自动生成序列号。7=IF(B2,A2+1,)5.5.如何自动标示A栏中的数字大小排序?=RANK(A1,$A$1:$A$5)=RANK(A1,A:A)5.6.如何设臵自动排序A列自动变成从小到大排列B=SMALL(A$2:A$28,ROW(1:1)A 列自动变成从大到小排列B=LAR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- excel 常用 函数 公式 技巧 搜集 每天 学习 一点
限制150内