首页 热点资讯 义务教育 高等教育 出国留学 考研考公

请问在Excel中B1=IF(ISBLANK(A1),"y",TODAY())为什么不显示日期,那地方错了?

发布网友 发布时间:2022-04-25 16:36

我来回答

3个回答

热心网友 时间:2023-10-18 15:13

假如:A1输入身份证号码、B1显示性别、C1显示出生日期、D1显示周岁。
需要设置:A1单元格为文本格式、B1和D1为常规格式、C1为日期格式。
1、显示性别:
B1输入公式:
=IF(A1="","",IF(AND(LEN(A1)<>15,LEN(A1)<>18),"错误",IF(ISERROR(1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"))),"错误",IF(OR((1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")))<VALUE("1905-01-01"),(1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")))>TODAY()),"错误",IF(MOD(MID(A1,15+(LEN(A1)=18)*2,1),2)=0,"女","男")))))
2、C1输入公式:
=IF(A1="","",IF(AND(LEN(A1)<>15,LEN(A1)<>18),"错误",IF(ISERROR(1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"))),"错误",IF(OR((1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")))<VALUE("1905-01-01"),(1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")))>TODAY()),"错误",VALUE(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#年00月00日"))))))
3、D1输入公式:
=IF(ISERROR(1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"))),"错误",IF(OR((1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")))<VALUE("1905-01-01"),(1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")))>TODAY()),"错误",DATEDIF(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"),TODAY(),"y")))
满足你的要求了

热心网友 时间:2023-10-18 15:14

公式没有错,但是估计你写反了 =IF(ISBLANK(A1),TODAY(),"y")
试试追问还是不行啊,=IF(ISBLANK(A1),"y","n")这样可以显示y,n但是换成TODAY(),就显示TRUE,FALSE了。

追答晕,你公式所在单元格被设置成了逻辑型.
改为常规或者日期型试试

热心网友 时间:2023-10-18 15:14

将B1单元格格式设置为日期型

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com