excel工龄工资excel计算公式式 按每年1月1日起计算,每一自然年递加100元 请问如何设置呢?

Excel巧用(转)
&在excel表格中如何将出生年月转变为年龄
现有出生日期,如何准确计算一个人的年龄(周岁)?
=DATEDIF(A1,NOW(),"y")
1、SOS,如何解决EXCEL日期的2000年问题
各位老大,我想对一段数字进行编辑改成日期形式,如011211,前两位作为年,中间两位作为月份,最后两位作为日,导成****-**-**,可是怎么老是显示,(大家知道,我想要的是)假设
A1单元格数据为:011211=DATE("20"&LEFT(A1,2),MID(A1,3,2),RIGHT(A1,2))
2、还没解决的四舍六入的有效数字取舍的问题,请细看条件答复我。谢谢!
其实四舍六入,我想你们是理解了的最后一位是4舍去,是6时向前进一位再舍去。最关间的是奇进偶舍,奇进偶舍分两种情况:一.如果数字5后面还有数字,那么在取舍时不论5的前面是奇还是偶数都把5当作6看而进一位;二.5后面没有数字,又分两种情况:1.如果5的前面是偶数则把5当作4舍取而不进位,如果
5的前面是奇数则把5当作6进一位。例如:1.525为1.52,1.535为1.54,1.,1.。
试试下面公式吧!
=IF(RIGHT(TRUNC(A1*1000),1)="5",IF(A1*1000&TRUNC(A1*1000),ROUNDUP(A1,2),ROUNDDOWN(A1,2)+ISODD(RIGHT(TRUNC(A1*100),1))*0.01),ROUND(A1,2))
3、日期函数加法求助
在一列输入"2002年7月"等这样的日期数据,想在另一列产生上加6个月的数据结果,即可显示"2003年1月",用函数如何写?
=DATE(YEAR($A1),MONTH($A1)+6,DAY($A1))
4、怎样输入以0开头的数字序号?
在输入高考学生序号时,遇到问题:序号如
,输完后,前面的0总是不翼而飞。
请问如何才能做到输入的序号既能保留前面的0,又具备自动下拉填充功能?
在第1个单元格中输入“'”,在第2个单元格中输入“'”,然后选中两个单元格拖拉即可(输入的“'”号不会显示出来)。
5、怎样使工作表中某个格子的结果等于这张表的名字
试试看,不过档案必须已经存盘,Sheet1!A1可自行替换
=MID(CELL("filename",Sheet1!A1),FIND("]",CELL("filename",Sheet1!A1),1)+1,LEN(CELL("filename",Sheet1!A1)))
6、如果你要把时间一分一秒地加起来,但当分的数值大于60时又不想进位到小时,那可以怎办呢?
先把有关储存格的数字格式定义为 [mm]:ss
,然后输入分秒的数值。方括号的意思是分的数值不会进位(成小时)。
要注意输入的方法,例如
1分35秒,则需输入「0:1:35」,不用理会公式栏的「上午」或「下午」字句。
这样依旧可以用普通的加减算法,或如SUM()的函数,见下图:
7、如何将小写的数字转换成人民币大写格式
=IF(ISNUMBER(A1),IF(TRUNC(A1)=0,IF(AND(MID(TEXT(TRUNC(A1,2),"0.00"),LEN(TEXT
(TRUNC(A1,2),"0.00"))-1,1)="0",RIGHT(TEXT(TRUNC(A1,2),"0.00"),1)="0"),"零元",""),TEXT(TRUNC(A1),"[DBNUM2]")&"元")&(IF(MID(TEXT(TRUNC(A1,2),
"0.00"),LEN(TEXT(TRUNC(A1,2),"0.00"))-1,1)="0",IF(OR(TRUNC(A1)=0,RIGHT(TEXT
(TRUNC(A1,2),"0.00"),1)="0"),"","零"),TEXT(MID(A1,LEN(TEXT(TRUNC(A1,2),
"0.00"))-1,1),"[DBNUM2]")&"角"))&(IF(RIGHT(TEXT(TRUNC(A1,2),
"0.00"),1)="0","",TEXT(RIGHT(TEXT(TRUNC(A1,2),"0.00"),1),"[DBNUM2]")&
"分")),IF(A1="","","不是有效金额,请重新输入!"))
8、有没有一个函数可以得到某一个日期是本年的第几周?
=WEEKNUM(A2,1) 一年中的周数,一周开始于星期日 (11)
=WEEKNUM(A2,2) 一年中的周数,一周开始于星期一 (10)
9、怎样才能实现2002-7月减去2001-6等于1年1个月?
A1==2002-7
b1=DATEDIF(A1,A2,"y")&"年"&MOD(DATEDIF(A1,A2,"m"),12)&"月"
关于养老保险的年限计算问题
养老保险中缴费年限的计算公式为:
例:2002年8月-1995年10月+1个月=6年11个月.请问在EXCEL中如何用函数计算?
=DATEDIF($A1,$B1,"y")&"年"&(DATEDIF($A1,$B1,"ym")+1)&"月"
10、怎么统计A3:A44里有多少个"△"?请教!
公式=COUNTIF(A3:A44,"*"&"△"&"*")公式=COUNTIF(A3:A44,"*△*")
数组公式={=SUM(LEN(R1C1:R3C1)-LEN(SUBSTITUTE(R1C1:R3C1,"△","")))}
11、请问在EXCEL中如何把“”格式的数值转换为日期型
=DATE(LEFT(RC[-1],4),MID(RC[-1],5,2),RIGHT(RC[-1],2))
=DATEVALUE(TEXT(C9,"#-##-##")) 注意c9 是存储
=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)),需要将单元格设置成“日期”格式
12、用身份证号码来提取出生年月日怎么做?
用身份证号码来提取出生年月日怎么做?倒如说:用591提取出751205,并以日的格式输出。
假设身份证号码存在A1里,用公式:=if(or(len(a1)=15,len(a1)=18),date(mid(a1,7,2+int(len
(a1)/16)*2),mid(a1,9+int(len(a1)/16)*2,2),mid(a1,11+int(len(a1)/16)*2,2)),
"错误号码!")
然后设好日期格式即可!
13、请问如何求a1格和b1格的时间差?
单元格为日期
请问如何求得B1-a1的时间差并把它放在c1格中?
=ABS(B1-A1)
14、如上所示数据,有上百条记录,而有些记录是同一人的,如下数据所示:
得到b1-a1的时间后,再如何把同一人所用的总的时间都相加出来?
=SUMIF($C$1:$C$5,C2,$D$1:$D$5)
15、我的两个单元格分别为82人和81人,怎么让他们相加?
=(LEFT(A1,2)+LEFT(A2,2))&"人"
16、请教各位,现有出生日期,如何准确计算一个人的年龄(周岁)?
=DATEDIF(A1,NOW(),"y")
17、如何自动汇总花名册中的男女等人数?
因工作需要,需在花名册后面自动汇总出本单位的男、女、本科、大专、中专、正处、副处、正科、副科、科员等相关人数供领导参考。我试着用FREQUNCY
函数计算,但该函数只适用于数值,对于像“男”这样的文本却不行,没办法,只好将文本转换成数值,如将“男”替换成“1”、“女”替换成“2”,据此才汇总出男、女的人数。请问版主有否更简便的函数呢?另:花名册中的“出生年月”设置的是日期格式,为“19XX年X月”,应如何汇总出25岁、26-35
岁、36-45岁、46-55岁、56岁以上的人数?
=countif(a1:a100,"男")
汇总年龄段人数用的是FREQUENCY函数
18、excel关于日期时间相减的问题
我工作中要计算误工时间,如: 14:23到
15:17之间时间间隔为多少分
计算天数:
=DATEDIF(E8,E9,"d")
计算小时数:
=HOUR(E9-E8)
计算分钟数:
=MINUTE(E9-E8)
总计分钟数=天数&24&60+小时数&60+分钟数:=24*60*(a1-a2)
B1=(A1-A2), 然后设置单元格格式为“[mm]:@”
10、DATEDIF函数使用详解
计算两个日期之间的天数、月数或年数。提供此函数是为了与 Lotus 1-2-3
DATEDIF(start_date,end_date,unit)
Start_date
为一个日期,它代表时间段内的第一个日期或起始日期。日期有多种输入方法:带引号的文本串(例如
"")、系列数(例如,如果使用 1900 日期系统则 36921 代表 2001 年 1 月 30
日)或其它公式或函数的结果(例如,DATEVALUE(""))。有关日期系列数的详细信息,请参阅 NOW。
End_date 为一个日期,它代表时间段内的最后一个日期或结束日期。
Unit 为所需信息的返回类型。
"Y" 时间段中的整年数。
"M" 时间段中的整月数。
"D" 时间段中的天数。
"MD" start_date 与 end_date
日期中天数的差。忽略日期中的月和年。
"YM" start_date 与 end_date
日期中月数的差。忽略日期中的日和年。
"YD" start_date 与 end_date
日期中天数的差。忽略日期中的年。
Microsoft Excel
按顺序的系列数保存日期,这样就可以对其进行计算。如果工作簿使用 1900 日期系统,则 Excel 会将 1900 年 1 月 1
日保存为系列数 1。而如果工作簿使用 1904 日期系统,则 Excel 会将 1904 年 1 月 1 日保存为系列数 0,(而将
1904 年 1 月 2 日保存为系列数 1)。例如,在 1900 日期系统中 Excel 将 1998 年 1 月 1
日保存为系列数 35796,因为该日期距离 1900 年 1 月 1 日为 35795 天。请查阅 Microsoft Excel
如何存储日期和时间。
Excel for Windows 和 Excel for Macintosh
使用不同的默认日期系统。有关详细信息,请参阅 NOW。
示例DATEDIF("","","Y") 等于
2,即时间段中有两个整年。
DATEDIF("","","D") 等于
440,即在 2001 年 6 月 1 日和 2002 年 8 月 15 日之间有 440 天。
DATEDIF("","","YD") 等于 75,即在 6 月 1 日与 8 月 15 日之间有
75 天,忽略日期中的年。 DATEDIF("","","MD") 等于 14,即开始日期 1
和结束日期 15 之间的差,忽略日期中的年和月。
还是养老保险的问题!比四舍五入麻烦!
假如算出缴费年限是15年1、2、3、4、5、6
个月,则通通计为15.5,而7、8、9、10、11个月则又通通计为16,该怎样用函数表达?
=IF(DATEDIF($A9,$B9,"ym")+1&6,DATEDIF($A9,$B9,"y")+1&"年",DATEDIF
($A9,$B9,"y")&".5年")
关于日期转换年龄的问题?
各位好,有一问题急需各位帮助解决:如在A列输入1993年02月,要在B列自动显示出距今年的实际年龄,但这有一要求是,需以每年的8月为限,如1993年3月是9岁,1993年9月就应是10岁。请各位给予帮助解决,谢谢了
=IF(MONTH(A4)&=8,YEAR(TODAY())-YEAR(A4),YEAR(TODAY())-YEAR(A4)-1)
如何准确计算两个日期之间的月数
现在的函数datedif无法解决大小月的问题,如至其计算值为0;另外,edate也无法计算指定日期后几个月的时间,如后一个月,其结果为,而不是想要的。如何解决
公式 说明(结果)
=MONTH(A3)-MONTH(A2) 在同一年中两个日期之间经历的月份
=(YEAR(A4)-YEAR(A3))*12+MONTH(A4)-MONTH(A3) 跨年份的两个日期之间经历的月份
在工作中遇到这样一个问题,怎样解决?
比如 SUM(A1:AN)这个N先不能确定,判断以后才能确定(
最好使用函数解决)。
=SUM(INDIRECT("$A$1:$A$"&N))
SUM(INDIRECT("$A$1:$A$"&countif(D1:D10,"&0")))
如何用函数实现?
我想知道的是如何用函数来实现,而是用筛选的方法。
问题同下:有一组数,A1:A9依次是61,50,31,60,63,70,71,72,80,如何快速的算出“小于60的有几个数”,“大于等于60,小于等于69的有几个数”,“大于等于70,小于等于79的有几个数”!
使用countif语句,如
=countif(A1:A9,"&60") 就可以得出小于60的数目,类推。
如何填入月份即可自动引用对应月份的天数[求助]--&kevin转移
如何用最简单的办法解决下述问题:
在一个单元格中填入1-12中的一个数字,就可在其他单元格的计算公式中引用其对应月份的公历天数?(数字变换,公历天数同时变化)
=IF(AND(TRUNC(A1)=A1,A1&=12,A1&=1),IF(AND(A1=2,TRUNC(YEAR(NOW())/4)
=YEAR(NOW())/4),29,CHOOSE(A1,31,28,31,30,31,30,31,31,30,31,30,31)),"开玩笑吧:)")]
也许还可以再简单点:
=IF(AND(TRUNC(A1)=A1,A1&=12,A1&=1),DAY(DATE(YEAR(NOW()),A1+1,1)-1),"开玩笑吧:)")
问:可选的下拉式文字(小三角形)如何做出来?
如:职称可选的下拉式文字分别助工、工程师、高级工程师等
在单元格中预先输入下拉中的文字
数据-有效性-设置-下拉菜单(序列)-来源:"高级工程师,工程师",中间用逗号分隔。
因工作需要要对一些数量作出统计,因水平有限没法解决各位朋友,请各位大虾帮帮忙,将感激不尽!
1、统计某区域内重复的单元格数量,并按顺序排列出来;
2、统计D列中包含字母“1A”的行的A列非空单元格数。
例:(在此例中结果应为2)
1 编号 姓名 许可证号 序号
2 戴新华 1A01
3 1331086 李 英 1A02
4 陈积慧 1A03
5 王建华 1A04
6 1331004 唐顺英 1A05
7 1331005 汤 勇 A06
8 1331008 周礼忠 B01
9 1331009 唐盛五 无 B02
10 1331010 张小元 1590 C01
11 1331012 龙小英 C02
12 1331013 唐木莲 C03
=SUM((LEFT($D$1:$D$12,2)="1A")*($A$1:$A$12&&""))
Excel 彩蛋
财务人员会比其他人拥有较多的乐趣。这一点我们可以从微软的应用程序中所隐藏的复活节彩蛋看出端倪来。过去的 5
年之中,微软的Excel在每一个主要版本的产品中都隐藏了3D 的游戏,是所有 PC 版的软件中最好的复活节彩蛋娱乐。即使你的电脑上没有
Excel,你仍然可以从下面选择其他的彩蛋。
微软 Excel 2000彩蛋内容:
一个叫Dev Hunter的赛车游戏
寻宝秘笈:
1.在Excel 2000中打开一个新的文件。
2.在“文件”菜单中选择“另存为”,并在“文件类型”菜单中选择“Web页”。
3.选择“工作表”并勾选“加入功能”。
4.按“发布”按键。在发布为Web画面对话框中,选择“发布”按键。
5.打开你的Internet Explorer
(IE浏览器)。打开刚刚用Excel存的HTML文件。你将在浏览器的页面中间看到一个Excel的活页簿。
6.一直按Page
Down到第2000列,然后按住Tab直到光标停在WC栏。
7.按住键盘上的Shift、Ctrl和Alt键,用鼠标按再左上角的Office商标。
8. 现在,你被引进一个类似Spy
Hunter的全屏幕游戏里,这个游戏是Dev
Hunter。使用键盘上的方向键来移动。你将看到开发人员的名字印列在你所经过的路面上。
9.如果你够积极,你可以按空白键发射,按O可丢弃oil
slicks。当画面变暗的时候,你可以按H键来打开头上的灯。(注意: 你的系统必须具有DirectX ,才能找到这个彩蛋。)
微软 Excel 97
彩蛋内容:
一个模拟飞行游戏
寻宝秘笈:
1.打开一个空白的活页簿,然后按F5。
2.输入“X97:L97”后按下Enter键。
3.按键盘上的Tab键。
4.按住键盘上的Ctrl-Shift键不放,并用鼠标选择工具列上的“图标精灵”按键。
5.一个3D的模拟飞行游戏就会出现。使用鼠标来控制飞行;鼠标右键往前;
左键控制往回转。(注意: 你的系统必须具有DirectX ,才能找到这个彩蛋。)
微软 Excel 95
彩蛋内容:
一个叫做Hall of Tortured Souls的游戏
寻宝秘笈:
1.打开一个空白的活页簿。
2.选择第 95 列。
3.按一下Tab键到栏位B。
4.选择“说明”菜单中的“关于Microsoft Excel”选项。
5.按住键盘上的Ctrl、Alt和Shift三个按键,然后用鼠标按“技术支持”按键。
6.一个名为Hall of Tortured Souls
就会出现。使用光标来移动方向。
7.若想继续搜寻Excel开发人员的图片,请将游戏中的人物转身掉头180度并走下阶梯。输入excelkfa
后墙壁自然会消失,接着会出现一条狭窄的走道引导你走向目的。(注意: 你的系统必须具有DirectX ,才能找到这个彩蛋。)
Qualcomm Eudora Pro (3.x to 4.2)
彩蛋内容:
Eudora 内对各部门的另类趣译
寻宝秘笈:
1.选择“说明”表单中的“关于Eudora”选项。
2.按“Credits”或“More Credits”按键
(视你所使用的版本而定)。
3.人员的姓名表便开始一一列出,但这并非最精采的部分。只要再按住键盘的
Ctrl 键就会出现一些绰号和有关部门名称的趣味含义[例如,“市场部”这个标题就会变成“Marketing
Weenies”,而“业务”则变成“没问题,这可以加到产品里面”等。
在SUMIF中,当条件为某日至某日时,如何表达?
=SUMIF(B2:B13,"&=",C2:C13) -
SUMIF(B2:B13,"&",C2:C13)
注意储存格格式为通用即可
这个算式J6=F5*(B5-H5),而F5有可能是正数,也有可能是负数,(B5-H5)也有可能是正是负,但是,我要的结果总是一个正数,怎么做呢?
什么叫你要的结果总是一个正数?当它结果为负数时你打算怎么处理?1、把负数转为正数,那么就加个绝对值上去,即=ABS(F5*(B5-H5)),2、返回其他值,那么加个IF上去,即=IF(F5*(B5-H5)&0,"NA",F5*(B5-H5))
象四舍五入的问题,请教!
如=12.**,**表示01~12,而01~06计为12.5,07~12则进位为13,有解否?
假定12.**保存在B1单元格中,则输入公式假定12.**保存在B1单元格中,则输入公式=IF(B1*100-INT(B1)*100&=6,INT(B1)+0.5,INT(B1)+1)即可
以元为单位的数字转换为万元为单位呢?
如:348984,转换后为35
=ROUND(A1/10000,0)
关于个人所得税公式的问题!!
我编了个计算个人所得税的公式在计算8万以下的收入时都正常,但当我将条件加到大于10万时,公式计算显示出,超出范围!为什么?
EXCEL中的IF函数有使用的限制吗?
现将公式附下:=IF(CI277&0,(IF(CI277&=500,CI277*0.05,(IF(CI277&=2000,
(CI277*0.1-25),(IF(CI277&=5000,(CI277*0.15-125),(IF(CI277&=20000,(CI277*0.2
-375),IF(CI277&=40000,CI277*0.25-1375,"超出范围"))))))))),0)
.我只列到4万,以下依次是6万,8万,10万。
加IF到8万都正常,但加到10万就出问题!
(A1&=0,IF(A1&40000,IF(A1&500,A1*5%,IF(A1&%,IF(A1&
%,IF(A1&2%,A1*25%)))),IF(A1&6%,IF(A1&
8%,IF(A1&*40%,A1*45%)))),"数据错误")
(!!!)=IF(A1&=500,A1*0.05,(IF(A1&=2000,(A1*0.1-25),(IF(A1&=5000,(A1*0.15-125),(IF(A1&=20000,(A1*0.2-375),IF(A1&=40000,(A1*0.25-1375),"")))))))&IF(A1&=6.3-1500,IF(A1&=8.35-1750,IF(A1&=*0.4-2000))))
如何把两列的数合并成一列?
例如:在C1中输入“=A1&B1”,就可以将A1与B1并列,
如果输入“=A1&","&B1”,得到的结果是“A1,B1”这时的A1和B1只是作为文字并排而已。
怎么去掉一列中所有的日 只要年月
怎么去掉一列中所有的日 只要年月 有 1000多行 例如
变成 1999.09
所有列都要变
=left(a1,7)
a1为日期所在的单元格。
如何编写表达“今天”与过去某日期之差(天)的函数
=DATEDIF(A1,NOW(),"y")&"years,"&DATEDIF(A1,NOW(),"ym")&"
months"&DATEDIF(A1,NOW(),"md")&"
=today()-a1
肯定可以的,A1是检验日期,记得把当前单元格的格式设为常规
用拖拽复制公式时,如何使公式中的工作表序号变化,而单元格号不变?
[求助]用拖拽复制公式时,如何使公式中的工作表序号变化,而单元格号不变?
eg:='26'!Q18
使用 INDIRECT 函数和 ROW 函数,引用 Q18
时用绝对地址,即:
=INDIRECT(ROW()+?&"!$Q$18")
其中的“?”是修正值,用你行数与工作表序号的差值来代替这个“?”。
如果都要引用A1单元格,可用$a$1表示!-
如何快速制作下拉选单?
ALT+DOWN(下箭头)
如何快速输入当前日期?
如何将数字转换成文本?
TEXT()函数
在Excel中利用系统时间和出生年月计算年龄是人事管理、工资统计中经常性遇到的工作,笔者由于工作关系对此有些研究,现将有关计算方法介绍如下,供读者朋友们参考:
一、利用DAYS360、CEILING和TRUNC函数
1.函数简介
①DAYS360函数
它能按每年360天(每月30天)计算出两个日期间的天数,作为计算工龄的工具非常方便。它的语法为:
DAYS360(Start_date,end_date,method)
其中,Start_date是计算时间段的起始日期,end_date是计算时间段的结束日期,method用来指定计算方法的逻辑值(取FALSE或忽略使用美国方法,取TRUE则使用欧洲方法)。
另外,不同地方计算工龄的规则不尽相同。有的按“虚工龄”计算,如日至日工龄为3年;而有的则按“实工龄”计算,日至日工龄为2年;对此可使用CEILING函数或TRUNC函数处理。
②CEILING函数
它的语法为:
CEILING(number,significance)
其中number为待计算的数值,significance确定取整计算的倍数;该函数可将number沿着绝对值增大的方向,计算出一个最接近(或最小倍数significance)的整数。
③TRUNC函数
它的作用是将数字的指定部分截去,计算出一个最接近的整数或小数,语法为:
TRUNC(number,num_digits)
其中number为待计算的数值,num_digits用于指定小数部分的截取精度,取0时不保留小数、取1时保留一位小数(依次类推)。
2.计算公式
①“虚工龄”
根据计算要求和有关函数的特点,计算“虚工龄”的公式为:“=CEILING((DAYS360(A1,B1))/360,1)”。公式中的A1和B1分别存放工龄的起止日期,“DAYS360(A1,B1)”计算两个日期间的天数,(DAYS360(A1,B1))/360则按一年360天计算出工龄。由于工龄一般以年为单位,故用CEILING函数将上面的计算结果(沿绝对值增大的方向)取整,从而得出“虚工龄”。
②“实工龄”
计算“实工龄”的公式为:“=TRUNC((DAYS360(A1,B1))/360,0)”,公式中计算工龄天数的方法与上面的相同。TRUNC函数将(DAYS360(A1,B1))/360的计算结果截去小数部分,从而得出“实工龄”。如果计算结果需要保留一位小数,只须将公式修改为“=TRUNC((DAYS360(A1,B1))/360,1)”即可。
二、YEAR和RIGHT函数
1.函数简介
①YEAR函数
它可以计算出日期序列数(如两个日期相减的结果)所对应的年份数,其语法为:YEAR(Serial_
number),其中Serial_
number为待计算的日期序列数,既可以是一个具体的数值,也可以是一个表达式。
②RIGHT函数
该函数用来提取字符串最右边的若干个字符,因为YEAR函数的计算结果带有19等字样,必须利用RIGHT函数将它过滤掉。该函数的语法为:RIGHT(Text,Num_chars),其中Text是待计算的字符串,Num_chars用来指定从右向左提取的字符串长度(忽略时取1),例如“=RIGHT(“电脑爱好者”,3)”的计算结果为“爱好者”。
2.计算公式
由于YEAR和RIGHT函数的特点,它们组成的公式只能计算“实工龄”,具体形式为“=RIGHT(YEAR(A1-B1),2)”。公式中的A1和B1分别存放工龄的截止和起始日期(正好与DAYS360函数相反),“YEAR(A1-B1)”计算出两个日期间的年份数,RIGHT(YEAR(A1-B1),2)则通过自右向左提取年份的后两位(工龄一般都是一位或两位数)。计算出来的一位数工龄前有个“0”,与习惯不太相符,这是上述公式的缺点。
三、N和INT函数
1.函数简介
①N函数
N函数属于信息函数之列,它可以完成单元格对象的转换。就是将数值转换成数字,日期转换成序列值,TRUE转换成1,其它对象转换成0。其语法为:N(value),其中的value是待转换的单元格对象,它可以是数值、日期等数据,也可以是一个表达式。
②INT函数
该函数可以将一个数值向下取整为最接近的整数。语法为:INT(number),其中number是待取整的一个实数或表达式,用它将计算结果取整为“实工龄”非常方便。
2.计算公式
由于INT函数的固有特点,用N和INT函数构成的公式只能计算“实工龄”,具体形式为“=INT((N(A1-B1))/365)”。公式中的A1和B1分别存放工龄的截止和起始日期,“N(A1-B1)”计算工龄的序列数(其实就是工龄的天数),(N(A1-B1))/365将N(A1-B1)的计算结果转换为工龄,由于工龄数一般是小数,于是通过INT函数将它向下取最接近的整数。
一位做保险业务的朋友接到一笔团队大订单,有近千条记录。她花了半天的时间用Word录入了客户的档案后,根据要求需要补充填写每个客户的年龄。如果一个个用笔算,又是需要花上大半天的时间,还好客户档案中有每个人的身份证号,于是我用Excel很快帮她计算出了每位客户的年龄。
首先把Word中的客户档案全部复制到Excel中生成一个数据库文件。然后在数据库文件中新建一列,并命名为“出生年月”。因为身份证号有15位和18位,为了计算方便,先对身份证号进行排序。
用MID函数计算出第一个客户的出生年月。函数表达方式如下:MID(E2,7,2),表示第一个客户的身份证号在E列第二行中,要从这个位置中的第7个文本始返回2个长度的字符。
回车确认后,“J2”中的值变为“62”,表示该职工62年出生。接着下拉J2公式复制单元格,快速求出每个职工的出生年月(若身份证为18位,则公式变为MID(E2,9,2))再把J列的格式改为数值型。
3. 在D2中输入计算机公式“=103-J2”就可求出该职工的实际年龄。下拉D2中的公式再次复制,近千个职工的年龄就一键敲定。
小编注:以上的方法中的出生年月只有在2000年以前才有效,如果客户中有2000年以后出生的人,则计算时还要做些变通。
公式 =datedif(B2,today(),"y")
&&&&&&&&&&&
DATEDIF函数中,B2为出生日期,该列格式为时间格式,在输入时,在输入年月日时,年月日之间用“-”(小键盘中的减号)隔开。
&&&&&&&&&&&
“Y”为当前时间,即系统时间(*年*月*日 *时*分*秒),该时间为自动识别,不需要另外输入。
&&&&&&&&&&&
在C列中单元格的格式为常规,按回车键后,C2单元格中的数值就是计算后的年龄。
&&&&&&&&&&&
此函数在计算时,只有在两日期相差满12个月,才算为一年,假如生日是日,今天是日,用此函数计算的年龄则为0岁,这样算出的年龄其实是最公平的。
&&&&&&&&&&&
在计算好C2单元格后,使用“自动填充柄”往下拉,在整个工作表中就自动生成了该公式,这样,只要在B列中输入出生年月日,就会自动生成年龄了。
&&&&&&&&&&&
详细解释:DATEDIF函数,除Excel 2000中在帮助文档有描述外,其他版本的Excel在帮助文档中都没有
说明,并且在所有版本的函数向导中也都找不到此函数。但该函数在电子表格中确实存在,并且用来计
算两个日期之间的天数、月数或年数很方便。微软称,提供此函数是为了与Lotus
1-2-3兼容。
该函数的用法为“DATEDIF(Start_date,End_date,Unit)”,其中Start_date为一个日期,它代表时间段
内的第一个日期或起始日期。End_date为一个日期,它代表时间段内的最后一个日期或结束日期。Unit
为所需信息的返回类型。
“Y”为时间段中的整年数,“M”为时间段中的整月数,“D”时间段中的天数。“MD”为Start_date与
End_date日期中天数的差,可忽略日期中的月和年。“YM”为Start_date与End_date日期中月数的差,
可忽略日期中的日和年。“YD”为Start_date与End_date日期中天数的差,可忽略日期中的年。比如,
B2单元格中存放的是出生日期(输入年月日时,用斜线或短横线隔开),在C2单元格中输入“=datedif
(B2,today(),"y")”(C2单元格的格式为常规),按回车键后,C2单元格中的数值就是计算后的年龄。
此函数在计算时,只有在两日期相差满12个月,才算为一年,假如生日是日,今天是2005年
2月28日,用此函数计算的年龄则为0岁,这样算出的年龄其实是最公平的。
利用一个名为YEARFRAC和函数和一个取整函数INT可以轻松解决。
  说明:由于函数YEARFRAC也位于分析工具库中,因此使用前要先确定已经安装了分析工具库,如果没有安装则参照前面介绍的方法安装。
  在下图(图
24)所示的工作表中选中B7单元格,输入公式:=INT(YEARFRAC(B2,B3,3)) 图 24
  回车后用公式填充柄复制公式到D7单元格,B8单元格中的公式为:
  =YEARFRAC(B2,B3,3)
  回车后也用公式填充柄复制公式到D8单元格。
  从图24工作表中三组数据的比较可以看出,用计算两个日期之间年数的差的公式并不一定能得出年龄的正确结果。
  说明:函数YEARFRAC的功能为返回 start_date 和
之间的天数占全年天数的百分比。它的语法为YEARFRAC(start_date,end_date,basis)。其中参数Start_date??代表计算的开始日期,End_date?代表终止日期,Basis为日计数基准类型,如果取3则日计数基准为实际天数/365。
  如果不想使用YEARFRAC函数,则可以在B7单元格中输入公式:=INT((B3-B2)/365),最后得到的计算结果与使用函数完全一样。
通过身份证提取出生年月、性别
15位身份证号从第7位到第12位是出生年月日,年份用的是2位数。
18位身份证号从第7位到第14位是出生的年月日,年份用的是4位数。
从身份证号码中提取出表示出生年、月、日的数字,用文本函数MID()可以达到目的。
MID()——从指定位置开始提取指定个数的字符(从左向右)。
对一个身份证号码是15位或是18位进行判断,用逻辑判断函数IF()和字符个数计算函数LEN()辅助使用可以完成。
综合上述分析,可以通过下述操作,完成形如样式的出生年月日自动提取:
假如身份证号数据在A1单元格,在B1单元格中编辑公式
=IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2))
回车确认即可。
如果只要“年-月”格式,公式可以修改为
=IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2),MID(A1,7,4)&"-"&MID(A1,11,2))
-------------------------------------------------------------------------------------------------------------------------
这是根据身份证号码(15位和18位通用)自动提取性别和出生年月的自编公式,供需要的网友参考:
说明:公式中的B2是身份证号
1、根据身份证号码求性别:
=IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,"女","男"),IF(LEN(B2)=18,IF(MOD(VALUE(MID(B2,15,3)),2)=0,"女","男"),"身份证错"))
2、根据身份证号码求出生年月:
=IF(LEN(B2)=15,CONCATENATE("19",MID(B2,7,2),".",MID(B2,9,2)),IF(LEN(B2)=18,CONCATENATE(MID(B2,7,4),".",MID(B2,11,2)),"身份证错"))
3、根据身份证号码求年龄:
=IF(LEN(B2)=15,year(now())-1900-VALUE(MID(B2,7,2)),if(LEN(B2)=18,year(now())-VALUE(MID(B2,7,4)),"身份证错"))
----------------------------------------------------------------------------------------------------------------------------
接下来我们应将光标移至D3单元格中,然后输入“=IF(MID(B3,15,1)/2=TRUNC(MID(B3,15,1)/2),"女","男")”。这就表示取身份证号码的第15位数,若能被2整除,这表明该员工为女性,否则为男性。
从身份证号码中提取年龄
IF(LEN(B2)=15,year(now())-1900-VALUE(MID(B2,7,2)),if(LEN(B2)=18,year(now())-VALUE(MID(B2,7,4)),"身份证错"))
在excel中使身份证号自动算出性别、年龄、出生年月
20:00一、假如身份证号码在“A列”,如A2中,
1、判断年龄:如果想在Excel中“B列”单元格显示年龄,那么点击所在列的第一个待输入的单元格,在这个单元格编辑区内输入以下公式:
=IF(A2&&"",DATEDIF(TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00"),TODAY(),"y"),)
如果你的身份号码在D列的D5或F列。。那么记得更换公式中的“A2”为“D5”,记得更换四处哟。
最后托动柄,向下复制。
2、判断性别:
在C2中输入=IF(A2&&"",IF(MOD(RIGHT(LEFT(A2,17)),2),"男","女"),)
3生在出生年月日:A列为身份证号码,在B列显示出生年月日
=IF(A3&&"",TEXT((LEN(A3)=15)*19&MID(A3,7,6+(LEN(A3)=18)*2),"#-00-00")+0,)
A2, 为一组15位, 或18位身份证码 1] B2, "性别"公式为 :
=IF(MOD(RIGHT(LEFT(A2,17)),2),"男","女") 2] C2, "年龄"公式为 :
=DATEDIF(TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00"),TODAY(),"y")
三、 假如A1中输入的是身份证号,格式为文本格式。
则在B1中输入=YEAR(NOW())-VALUE(MID(A1,7,4)),算出的是此人的周岁。
在C1中输入=LOOKUP(MOD(VALUE(MID(A1,17,1)),2),{0,1},{"女","男"}),显示性别。
注:对于18位身份证号
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 excel计算公式 的文章

 

随机推荐