在Excel中将文本转换为日期

时间:2013-11-05 23:06:15

标签: excel excel-formula

目前,我使用查询从数据库导出了一些数据,其中“注释”列的每一行都以格式为MM / DD / YY的日期开头。

我使用=LEFT(TEXT,8)函数仅提取日期,但碰巧某些日期的格式不一致,所以我们可能会有一些M / D / YY,其中月份或日期不是两个数字,这将包括';'作为分隔符,因为它少于8个字符。

有没有办法可以格式化文字,以便';'被排除在外?这样我就可以对数据进行排序。

3 个答案:

答案 0 :(得分:4)

我认为DATEVALUE函数可以满足您的大部分需求。它采用许多不同的日期格式(M / D / YYYY,MM / DD / YYYY等)并将其转换为excel日期(即自1900年1月1日以来的天数)。

下面的公式表示:

  • 如果日期是干净的,则只需应用DATEVALUE功能
  • 如果出现错误,只需使用';'
  • 左侧的部分

假设2013年9月1日是细胞A2:

Input Data      Sortable Excel Date
----------      -------------------
9/1/2013;       =IFERROR(DATEVALUE(A2),DATEVALUE(LEFT(A2,FIND(";",A2)-1)))
09/2/2013;      9/2/2013
10/1/2013;      10/1/2013
10/10/2013      10/10/2013

我制作了一个实时Excel样本here

答案 1 :(得分:2)

假设您的文字如下:; 1 /; 2/13或1/2/13 ;;或;;; 1/2/13

你可以使用这样的替代品:

=SUBSTITUTE(A1,";","")

结果将是:

enter image description here

答案 2 :(得分:2)

因此,如果日期是A2的前6个,7个或8个字符,您可以使用此公式获取日期

=LOOKUP(10^10,LEFT(A2,{6,7,8})+0)

格式化所需日期格式的结果单元格

由于结果是有效日期,您可以对这些进行排序,就像对数字进行排序一样