我有一个由第三方程序创建的Excel工作表。
其中一列的日期格式为:" 2015年1月19日03:00:00 PM"
我希望这些日期以下列格式显示:" 19/01/2015"
我选择了一个或多个单元格,右键单击并选择"格式化单元格...",选择"日期"在该类别中,然后选择" 14/03/2001"在类型中,无济于事,日期不会改变。
我也试过" Custom"从类别和" dd / mm / yyyy"从类型,再一次,没有任何变化。
该文件不受保护,工作表可编辑。
有人可以解释我的错误吗?
此致 Crouz
答案 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行,一列日期很乱。没有多少技巧可行。花了一整天在网上进入疯狂的公式,没有成功。请参阅剪辑
红色圆圈细胞内容(有问题的内容)根本不会改变,无论你做什么招数。包括手动删除它们并以“DD-MM-YYYY”格式输入数字,或从蓝色格式复制和粘贴格式。基本上没有任何效果...... STUBBORNNESS !!
可以看出,细胞内容无论如何都不会改变。
解决这个问题的唯一方法是:
将Excel工作表上传到Google云端硬盘。在Google云端硬盘上执行以下操作:
点击以使用Google电子表格打开文件
将其作为Google电子表格打开后,选择包含日期的整个列。
选择格式类型为日期(您可以选择所需的任何日期格式)。
将Google电子表格下载为.xlsx。该列的所有内容现在都是日期
答案 3 :(得分:0)
您的数据在 A1 中,在 B1 中输入:
=DATEVALUE(MID(A1,1,12))
并将 B1 格式化为 dd / mm / yyyy 例如:
如果单元格似乎有日期/时间,但它没有响应格式更改,则可能是 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)
我针对日期格式类似问题的解决方案通过以下方式解决:
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))