永发信息网

=text(1*mid(A1,7,8),"0000-00-00")

答案:1  悬赏:20  手机版
解决时间 2021-03-31 22:40
  • 提问者网友:抽煙菂渘情少年
  • 2021-03-31 18:31
=text(1*mid(A1,7,8),"0000-00-00")
最佳答案
  • 五星知识达人网友:冷風如刀
  • 2021-03-31 19:23
text是一个返回文本类型的函数,一般有两个参数组成,前一个引号文本或文本单元格,后一个表示文本类型,你的公式中1*mid(A1,7,8)就是第一个参数,0000-00-00就是第二个参数。也就是说将1*mid(A1,7,8)得到的结果,改变成“0000-00-00 ” 形式的文本。
mid是一个截取文本部分字符段的函数,它一般有三个参数,第一个参数表示引用的文本或文本单元格,第二个表示从第几个文本字符开始截取,第三个表示截取几个,像你公式中的mid(A1,7,8),表示将A1里的文本字符串从第7个字符开始截取,共取8个字符,而组成的文本字符串,再拿1* 这么一下,就由文本变成数字格式。追问首先是非常感谢啊~~~
其次还是想再请教请教
=DATEDIF(TEXT(MId(A1,7,6+(LEN(A1)=18)*2),(#-00-00)*1,"2006-10-31","Y")
在上面这个公式中
1.mid的参数分别A1,7,6,(LEN(A1)=18
可以这样理解吗?
2. 在上面这个公式中
*2
#
*1 (这个还是把文本变成数字格式的意思吗?)
Y
这些又分别是什么意思呢?追答首先我想问一下,你的A1单元格是什么内容,
然后我想告诉你,你的公式可能有错误,你先告诉我A1是什么内容,
然后公式想达到什么结果吧!追问是身份证号~~
这个公式最后的结果会是至2006年的周岁
其实已经可以算出来具体的数,就是想在多了解一点
=DATEDIF(TEXT(MId(A1,7,6+(LEN(A1)=18)*2),("#-00-00")*1,"2006-10-31","Y")
少加了两个引号~~~~忽忽低头认错状追答你的A1是身份证号码吧:
你的公式有错误哦,改为这样吧:
=DATEDIF(TEXT(MId(A1,7,6+(LEN(A1)=18)*2),"#-00-00"),"2006-10-31","Y")
mid的参数分别为:A1、7、6+(LEN(A1)=18)*2
因为身份证的号码长度有两种:一种是18位,一种是15位,(LEN(A1)=18)是判断A1号码长度是否是 18位,是则为true, 即1,否则为false,即0,当是18位时,从第6个开始取8位,15位时取6位,"#"代表文本的意思;不需要“*1”,这个是不对的;Y是datedif函数的最后一个参数,意思是取整年数。返回结果,即此人的生日到2006-10-31日是多少年,即此人在2006年时是多少岁!追问1.#代表文本
那#-00-00有什么特殊的含义吗
2.text的参数是这样吗
MId(A1,7,6+(LEN(A1)=18)*2),"#-00-00")
"2006-10-31"
"Y"
3.Y是datedif函数的最后一个参数
那datedif的参数是怎么区分的呢追答1)#-00-00,当然就是将MId(A1,7,6+(LEN(A1)=18)*2)所计算得到的文本一分为三了,后面的00即占用两个字符位置,一共四个0,即占用了四个字符位置,剩余的就全部放在前面的位置了,故用#代替一下即可,即MId(A1,7,6+(LEN(A1)=18)*2)所得结果假如是19760114的话,那么用text函数改为#-00-00的格式就变成了1976-01-14;结果假如是760114的话,那么用text函数改为#-00-00的格式就变成了76-01-14;两种情况都会默认为是1976年1月14日。
2)MId(A1,7,6+(LEN(A1)=18)*2)是text的第一个参数,"#-00-00"是它的第二个参数。
3)TEXT(MId(A1,7,6+(LEN(A1)=18)*2),"#-00-00")这一整句是datedif的第一个参数,"2006-10-31"是它的第二个参数,"Y"是它的第三个参数;

~还没说这么多……,那个~~,明白了吧!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯