excel中文日期怎么变成数字日期?

有很多日期,怎么转变成类似2014-1-23 ? 单元格格式设置无效。。。
分列无效。 后来从excelhome论坛搞了个牛逼方案
=LOOKUP(1,0/(TEXT(ROW($40000:$42150),"[DBNum1]e年m月d日")=F82),ROW($40000:$42150))

这种直接输入的中文日期想转成日期格式还没想到好的简单的方法,如果数据量较大时,我这有两个笨办法:

    替换法:

    用阿拉伯数字替换中文字,由于中文表达的方式,和阿拉伯数字的方式不一致,一定要注意替换顺序,先按序替换“三十日”为“30日”,“二十日”为“20日”、“十日”为“10日”、“十月”为“10月”,然后再替换”十“为”1“、”二十“为”2“、”三十“为”3“,“〇”、“一”、……“九”为”0“、”1“……”9“,这里一定要注意“〇”可能写法上有不同。

    函数法:

    图中,C3917输入:

    =--(SUM((MATCH(SUBSTITUTE(MID($B3917,{1,2,3,4},1),"〇",TEXT(0,"[dbnum1]")),TEXT(ROW($1:$10)-1,"[dbnum1]"),0)-1)*10^{3,2,1,0})&TEXT(MATCH(MID($B3917,6,7),TEXT(ROW($1:$366),"[dbnum1]m月d日"),0),"-m-d")),数组公式,即同时按Shift+Ctrl+Enter结束公式编辑,会自动生成一对{},下拉。由于该函数为数组公式,运算量较大,最好是一次性生成数字后,用选择性粘贴数值到原B列,然后删除该公式。生成数值后,可按需要设置成想要的日期格式。如果公式不可用,把公式中的"〇"换成表中的"〇"即可。


你找的这个方法:

=LOOKUP(1,0/(TEXT(ROW($40000:$42150),"[DBNum1]e年m月d日")=F82),ROW($40000:$42150)),确实牛,比我给出的笨办法强得太多了,多谢分享!!!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-23
前面我说用分列的方法确实是大意了,但你没有追问我也就没有多想了

=LOOKUP(1,0/(TEXT(ROW($40000:$42150),"[DBNum1]e年m月d日")=F82),ROW($40000:$42150))

这个公式不错,但日期只限于在40000到42150(也就是2009年7月6日到2015年5月26日)之间,使用时要注意一下就行了
第2个回答  2015-05-17
如果 你设置不行,那建议把文档发上来,追问

不方便传……

追答

就留日期那段,其它删掉。或者自己自定义格式

第3个回答  2018-01-16

你好,用了这个公式之后,大部分汉字日期都能转换,但是个别日期无法转换,格式我都调成一致的,不知道具体为什么,如下图,大神可以帮我看下吗?

第4个回答  2020-01-21
因为excel默认的单元格格式是数值格式,因此在默认状态下会自动变为数字。1.选定单元格(可以是多个单元格)2.选择菜单“格式→单元格”(或直接在单元格上单击鼠标右键后选择“设置单元格格式”)3.在打开的“单元格格式”窗口中单击“数字”选项卡,在“分类”中选定“文本”并“确定”即可。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网