Excel中fx-TODAY
发布网友
发布时间:2024-08-07 03:09
我来回答
共5个回答
热心网友
时间:2024-08-14 04:22
其实很简单的,楼主可以把上面几位朋友的函数复制粘贴试试看,验证一下。
随便举个例子: 身份证号为321181780914528
一楼:obayang =YEAR(NOW())-MID(A27,7,4)
显示结果为 “ -5800 ”;
二楼:zzhulove =YEAR(TODAY())-VALUE(MID(A1,7,4))
显示结果为 “ -5800 ”;
三楼:feigames =IF(A2<>"",DATEDIF(TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00"),TODAY(),"y"),)
显示结果为 “ 30 ”;
四楼:z45966255 =YEAR(TODAY())-IF(LEN(A1)=18,MID(A1,7,4),(19&MID(A1,7,2)))
显示结果为 “ 31 ”。
一楼、二楼的朋友没有考虑旧身份证(15位的),公式是不够周全的;
三楼的DATEDIF函数和四楼的TODAY()函数,结果的话是三楼的准确。
因为计算年龄的话,是以实际年龄为准的,就像上面的例子321181780914528,这人的出生日期是1978年9月14日,那么他的实际年龄应该是30岁,要到2009年9月14日才正好31岁的。
四楼的只是计算了年份,月份没有考虑,要把相差的月份也都算进去才行的。
所以三楼的公式楼主可以采用,不过楼主自己也可以拓展下思维,这个也不一定就是唯一答案,公式可能还可以简化下的。
热心网友
时间:2024-08-14 04:20
=IF(A2<>"",DATEDIF(TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00"),TODAY(),"y"),)
A2为身份证号码,判断身份证位数,然后计算,楼上的2位,只是取得数字,然后减,取得的数字貌似不是日期类型吧。
热心网友
时间:2024-08-14 04:25
假设你的身份证号码在A1
在B1输入
=YEAR(TODAY())-VALUE(MID(A1,7,4))
热心网友
时间:2024-08-14 04:22
=YEAR(NOW())-MID(A27,7,4)
意思就是用现在的年份减去身份证所在的单元格的七位开始的4个数
也就是生日中的年份
热心网友
时间:2024-08-14 04:20
***************************************
要考虑18位与15位的问题
=YEAR(TODAY())-IF(LEN(A1)=18,MID(A1,7,4),(19&MID(A1,7,2)))
=YEAR(TODAY()) --今天
- --减去
IF(LEN(A1)=18, --判定是否是18位
MID(A1,7,4),(19&MID(A1,7,2)))
热心网友
时间:2024-08-14 04:24
其实很简单的,楼主可以把上面几位朋友的函数复制粘贴试试看,验证一下。
随便举个例子: 身份证号为321181780914528
一楼:obayang =YEAR(NOW())-MID(A27,7,4)
显示结果为 “ -5800 ”;
二楼:zzhulove =YEAR(TODAY())-VALUE(MID(A1,7,4))
显示结果为 “ -5800 ”;
三楼:feigames =IF(A2<>"",DATEDIF(TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00"),TODAY(),"y"),)
显示结果为 “ 30 ”;
四楼:z45966255 =YEAR(TODAY())-IF(LEN(A1)=18,MID(A1,7,4),(19&MID(A1,7,2)))
显示结果为 “ 31 ”。
一楼、二楼的朋友没有考虑旧身份证(15位的),公式是不够周全的;
三楼的DATEDIF函数和四楼的TODAY()函数,结果的话是三楼的准确。
因为计算年龄的话,是以实际年龄为准的,就像上面的例子321181780914528,这人的出生日期是1978年9月14日,那么他的实际年龄应该是30岁,要到2009年9月14日才正好31岁的。
四楼的只是计算了年份,月份没有考虑,要把相差的月份也都算进去才行的。
所以三楼的公式楼主可以采用,不过楼主自己也可以拓展下思维,这个也不一定就是唯一答案,公式可能还可以简化下的。
热心网友
时间:2024-08-14 04:25
=YEAR(NOW())-MID(A27,7,4)
意思就是用现在的年份减去身份证所在的单元格的七位开始的4个数
也就是生日中的年份
热心网友
时间:2024-08-14 04:20
***************************************
要考虑18位与15位的问题
=YEAR(TODAY())-IF(LEN(A1)=18,MID(A1,7,4),(19&MID(A1,7,2)))
=YEAR(TODAY()) --今天
- --减去
IF(LEN(A1)=18, --判定是否是18位
MID(A1,7,4),(19&MID(A1,7,2)))
热心网友
时间:2024-08-14 04:21
=IF(A2<>"",DATEDIF(TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00"),TODAY(),"y"),)
A2为身份证号码,判断身份证位数,然后计算,楼上的2位,只是取得数字,然后减,取得的数字貌似不是日期类型吧。
热心网友
时间:2024-08-14 04:23
假设你的身份证号码在A1
在B1输入
=YEAR(TODAY())-VALUE(MID(A1,7,4))