从不同的数据返回日期,其中日期的格式为文本,日期的数字从1到2不等

时间:2016-09-09 08:34:08

标签: excel date excel-formula substitution

Data  -----------------| ----- Formula ---|------------------- Date (Output) ------------------------------ 

(name - Aug 7, 2015) --------------------------------------------------------- 07/08/15


| -'}{[]//-;'; (lots of characters) (name - Aug 7, 2015) -------------------07/08/15

长度总是在很大程度上变化(名称也会变化 - 2015年1月27日) - 2015年1月27日

Varied text (name - Aug 17, 2015) ----------------------------------------- 17/08/15

数据的问题在于它使用了多个字符并且不断变化,并且某些日期显示缩短了一个数字(例如(名称 - 2015年8月17日)(名称 - 2015年8月7日))难以使用=正确和=中间位置变化(停止阅读作为日期。我已经包括下面的图片,因为我知道我的数据没有以干净的方式显示,提前道歉。)

以下是我尝试过的一些公式:

 =DATEVALUE(MID(A2,FIND("-",A2)+1,LEN(A2)- FIND("-",A2)-1)) 
    由于符号太多,
  • 无法返回正确的值。
=RIGHT(A2,14) , =SUBSTITUTE(RIGHT(C2,14),")","") , =datevalue 
  • 无法在当天获取一位数的日期。

Data

with formulas

1 个答案:

答案 0 :(得分:1)

它是您的第一个公式的稍长版本,但它适用于您提供的示例:

=DATEVALUE(MID(A1,FIND("@",SUBSTITUTE(A1,"-","@",(LEN(A1)-LEN(SUBSTITUTE(A1,"-","")))/LEN("-")))+1,LEN(A1)- FIND("@",SUBSTITUTE(A1,"-","@",(LEN(A1)-LEN(SUBSTITUTE(A1,"-","")))/LEN("-")))-1))

它会删除所有“ - ”但最后一个,并且与您对其余文本执行的操作相同。