excel日期格式化不起作用

时间:2015-02-14 15:07:17

标签: excel excel-2010

我有一个由第三方程序创建的Excel工作表。

其中一列的日期格式为:" 2015年1月19日03:00:00 PM"

我希望这些日期以下列格式显示:" 19/01/2015"

我选择了一个或多个单元格,右键单击并选择"格式化单元格...",选择"日期"在该类别中,然后选择" 14/03/2001"在类型中,无济于事,日期不会改变。

我也试过" Custom"从类别和" dd / mm / yyyy"从类型,再一次,没有任何变化。

该文件不受保护,工作表可编辑。

有人可以解释我的错误吗?

此致 Crouz

12 个答案:

答案 0 :(得分:29)

以下对我有用:

  • 选择日期列。
  • 转到数据选项卡,然后选择“文本到列”。
  • 在第一个屏幕上,将“单选按钮”保留为“分隔符”,然后单击“下一步”。
  • 取消选择任何分隔符框(一切空白),然后单击“下一步”。
  • 在列数据格式下选择日期
  • 单击“完成”。

现在你有了日期值

答案 1 :(得分:3)

根据您的区域设置(英国)以及无法格式化更改日期,您的日期时间字符串是文本。下面的公式将日期部分转换为“真实”日期,然后您可以应用您希望的格式:

=DATE(MID(A1,FIND(",",A1)+1,5),MATCH(LEFT(A1,3),{"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"},0),MID(SUBSTITUTE(A1,",","   "),5,5))

可以使用有关输入格式的更多信息来简化一点,但上述情况应该可以正常工作。此外,如果您需要保留时间部分,只需附加:

+RIGHT(A1,11)

到上面的公式。

答案 2 :(得分:1)

我有类似的问题。我的Excel工作表有102,300行,一列日期很乱。没有多少技巧可行。花了一整天在网上进入疯狂的公式,没有成功。请参阅剪辑

  1. 列的外观(Excel上的“短日期”格式)
  2. 红色圆圈细胞内容(有问题的内容)根本不会改变,无论你做什么招数。包括手动删除它们并以“DD-MM-YYYY”格式输入数字,或从蓝色格式复制和粘贴格式。基本上没有任何效果...... STUBBORNNESS !!

    cells

    1. 列的外观(Excel上的“长日期”格式)
    2. 可以看出,细胞内容无论如何都不会改变。

      column

      1. 我是如何解决的
      2. 解决这个问题的唯一方法是:

        1. 将Excel工作表上传到Google云端硬盘。在Google云端硬盘上执行以下操作:

        2. 点击以使用Google电子表格打开文件

        3. 将其作为Google电子表格打开后,选择包含日期的整个列。

        4. 选择格式类型为日期(您可以选择所需的任何日期格式)。

        5. 将Google电子表格下载为.xlsx。该列的所有内容现在都是日期

答案 3 :(得分:0)

您的数据在 A1 中,在 B1 中输入:

=DATEVALUE(MID(A1,1,12))

并将 B1 格式化为 dd / mm / yyyy 例如:

enter image description here

如果单元格似乎有日期/时间,但它没有响应格式更改,则可能是 Text 值而非正版日期/时间。

答案 4 :(得分:0)

虽然您没有将VBA标记为可能的解决方案,但您可能会使用某些人觉得VBA缺点的优势;除非明确告知要使用其他人,否则VBA严重违反北美地区的设置。

点击 Alt + F11 ,当VBE打开时,立即使用下拉菜单插入►模块( Alt + 中号)。将以下内容粘贴到窗格标题中,例如 Book1 - Module1(代码)

Sub mdy_2_dmy_by_Sel()
    Dim rDT As Range
    With Selection
        .Replace what:=Chr(160), replacement:=Chr(32), lookat:=xlPart
        .TextToColumns Destination:=.Cells(1, 1), DataType:=xlFixedWidth, FieldInfo:=Array(0, 1)
        For Each rDT In .Cells
            rDT = CDate(rDT.Value2)
        Next rDT
        .NumberFormat = "dd/mm/yyyy"
    End With
End Sub

点击 Alt + Q 返回工作表。选择所有日期(只是日期,而不是整列),然后点击 Alt + F8 运行宏。

请注意,日期和时间都会保留。如果您希望查看基础时间和日期,请更改单元格编号格式。

答案 5 :(得分:0)

今天这个问题困扰了20分钟。我的问题与该线程中的MARIO相同,但是我的解决方案更容易。如果您查看上面的回答,蓝色圆圈中的日期为“月/日/年”,红色日期为“日/月/年”。更改红色日期格式以匹配蓝色日期格式,然后选择所有这些日期,右键单击,设置单元格格式,在“日期”类别中选择所需的类型。红色日期可以手动更改,也可以使用其他Excel魔术来更改日期和月份。

答案 6 :(得分:0)

如果日期以文本形式存储,则

DATEVALUE函数将有所帮助

=DATEVALUE("Jan 19, 2015 03:00:00 PM")

答案 7 :(得分:0)

另一种解决一列中无法转换的单元格的方法是将它们复制到记事本,然后CLEAR ALL(格式化和内容)并将这些单元格粘贴到记事本中细胞。

然后您可以将它们设置为日期,文本或其他任何内容。

清除格式对我不起作用。 Excel 365 ,可能是 2019 版本。

答案 8 :(得分:0)

选择要格式化的单元格。 按CTRL + 1。 在单元格格式框中,单击数字选项卡。 在类别列表中,单击日期。 在“类型”下,选择一个日期格式。

答案 9 :(得分:0)

解决此问题的唯一方法是:

将Excel工作表上传到Google云端硬盘。在Google云端硬盘上执行以下操作:

单击以使用Google电子表格打开文件

作为Google电子表格打开后,选择带有日期的整个列。

将格式类型选择为日期(您可以选择所需的任何格式)。

以.xlsx下载Google电子表格。列中的所有内容现在都是日期

答案 10 :(得分:0)

我针对日期格式类似问题的解决方案通过以下方式解决:

  1. 复制问题表,然后将其粘贴到工作表中
  2. 删除问题表。
  3. 将工作表n重命名为问题表的名称。

QED。

问题单包含我想读取为2017年7月21日的日期数据,除了42937外,该数据不会显示其他任何内容。我要做的第一件事是关闭Excel并重新启动它。随后进行了更多尝试。我放弃了自己的解决方案。我尝试了一些在线建议。然后,我再尝试一次- Walla -以上三个步骤解决了该问题。至于为什么存在这个问题?显然,这与“ the”表有关。走吧!

我相信不足以让您知道-Rodalsa。

答案 11 :(得分:-1)

与ron rosefield类似,但有点简化。

= DATE(RIGHT(α-1,4),MATCH(MID(A1,4,2),{ “01”; “02”; “03”; “04”; “05”; “06”;” 07 “;” 08 “;” 09 “;” 10 “;” 11 “;” 12" },0),LEFT(A1,2))