【问题标题】:Change date in excel在excel中更改日期
【发布时间】:2020-03-06 12:57:07
【问题描述】:

我正在尝试将我在 Excel 中的单元格的日期格式更改为另一种日期格式。目前是这种格式:apr, 10, 2017 01:58:24 PM。我想在没有时间的情况下将其设置为 dd-mm-yyyy 等普通格式,但我无法使其与 excel 中的格式一起使用。

提前致谢, 凯斯特

【问题讨论】:

  • 如果 excel 将值识别为日期,只需选择要格式化的单元格,单击格式下拉菜单并选择 short date。你试过吗?
  • 是的,我试过了,但我认为 excel 无法识别当前格式
  • 天数小于 10 的日期看起来如何?即apr, 01, 2017 01:58:24 PMapr, 1, 2017 01:58:24 PM
  • 10 天以下的天数前面有一个零,所以 2017 年 4 月 1 日 01:58:24 PM

标签: excel date format


【解决方案1】:

你可以用这个:

=(MID(A2,FIND(",",A2)+2,FIND(",",SUBSTITUTE(A2,",","@",1))-FIND(",",A2)-2)&"-"&LEFT(A2,FIND(",",A2)-1)&"-"&MID(A2,FIND(",",SUBSTITUTE(A2,",","@",1))+2,LEN(A2)))*1

这基本上是一些字符串操作(以及将 , 替换为 @ 以提供帮助)以将其置于 excel 理解的通用格式 'd-m-y h:m:s t' 中,然后乘以将字符串加 1 以强制转换为数字(在本例中为 42835.58222);您只需将其格式化为日期(重要!):


编辑:每cmets,第一个逗号实际上并不存在,所以修改后的公式:

=(MID(A2,FIND(" ",A2)+1,FIND(",",A2)-FIND(" ",A2)-1)&"-"&LEFT(A2,FIND(" ",A2)-1)&"-"&MID(A2,FIND(",",A2)+2,LEN(A2)))*1

【讨论】:

  • 您好杰瑞,感谢您的评论。我不知道为什么,但是当我尝试使用代码时出现错误。我也犯了一个错误,月份和日期没有被逗号分隔,所以:2017 年 4 月 6 日下午 3:42:14。我不确定这是否有很大变化,但是当我尝试添加逗号的代码时,它也不起作用。
  • @Kessie 是的,它改变了一切。给我几秒钟
  • @Kessie 好的,在答案中添加了调整后的内容
  • 非常感谢,成功了!我还发现了为什么它一开始会出错,我的 excel 使用 ;而不是逗号
  • 很抱歉问你这么多,但我还有最后一个问题。除了给出#VALUE! 的月份之外,您的代码运行良好。 mrt 23, 2017 03:12:26 PM 这是牢房里的样子。 mrt 是荷兰语中 March 的缩写,但是其他一些月份也是荷兰语,它们仍然可以使用您的代码。您可能知道是什么原因造成的吗?
【解决方案2】:

A1 中有数据,在 B1 中输入:

=DATE(MID(A1,10,4),MATCH(LEFT(A1,3),{"jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"},0),MID(A1,6,2))

并应用所需的格式:

(这会生成可用于排序、计算等的真正 Excel 日期)
(假设日期字段始终为两位数) em>
(如果您的月份列表不是英语,请编辑月份列表)

【讨论】:

    猜你喜欢
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-22
    • 1970-01-01
    相关资源
    最近更新 更多