【问题标题】:Problems changing date format of date as string将日期的日期格式更改为字符串时出现问题
【发布时间】:2013-10-24 19:39:00
【问题描述】:

我目前正在尝试将 yyyymmdd 类型的日期转换为 ddmmyyy 格式。

  • 我尝试过使用 DATE 函数和类似的东西:

    =DATE(LEFT(A3;4);MID(A3;5;3);RIGHT(A3;7))

    此函数的原始日期为 20120401,但公式返回:16.12.2104

  • 我尝试过使用函数 YEAR、MONTH 和 DAY 而不是 LEFT、MID 和 RIGHT,但这不是正确的方法。

  • 我也尝试过使用 DATEVALUE,但由于 Excel 可能无法将 yyyymmdd 识别为日期,它给了我一个 #VALUE!错误。

  • 我已经找到了几个 SQL 解决方案,但这还不是我的强项 - 这在 Excel 中应该很容易实现。

有没有办法在 Excel 中做到这一点?

【问题讨论】:

  • Err ...直到现在这个小评论甚至没有出现。好吧,这对我有用,现在我明白我在哪里犯了错误。非常感谢!
  • 如果您可以将此作为常规答案发布,我可以为您提供道具 ;-)。

标签: excel function date formulas excel-2013


【解决方案1】:

=DATE(LEFT(A3;4);MID(A3;5;3);RIGHT(A3;7))应用于A3中的20120401可以有效地重新组合左下角的组件字符:

这些有效地转换为右侧。

解决方案是简单地排除红色突出显示的数字:
=DATE(LEFT(A3;4);MID(A3;5;2);RIGHT(A3;2)) 但是语言环境可能是一个因素,并且在处理日期序列号和/或看起来是日期但实际上是字符串时,可能会涉及各种其他问题。

【讨论】:

  • 再次感谢兄弟,非常有用。我现在有 8 个代表。只要我达到 15,我就会在这里给你投票 ;-)。
【解决方案2】:

考虑:

=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))

【讨论】:

  • 我试过这个,一些教程建议这个公式。我不了解较旧的 Excel,但在 2013 版本中,该函数显示我必须使用这样的分号:DATE(year;month;day) ie DATE(left;mid;right) where LEFT, MID and RIGHT are (text; [ num_chars])。
  • 是的,我明白这一点,但正如我所说,我也尝试了带逗号的版本,但由于 Excel 显示我应该使用分号,它不会让我使用这个建议的公式,因为如果我在定义 LEFT 后不打算使用分号,Excel 认为我仍在定义 LEFT,而我已经在 MID/RIGHT 上。当我在每个函数(左、中、右)后使用分号但不在括号中时,也会发生同样的事情 - 该公式存在问题。到目前为止,最好的结果是使用正确的形式和分号,正如我在我的问题中发布的那样。但是输出错误。没有这些分号的任何其他类型都不起作用。
猜你喜欢
  • 2022-07-04
  • 1970-01-01
  • 2021-05-07
  • 2020-11-30
  • 2020-06-27
  • 1970-01-01
  • 1970-01-01
  • 2013-08-21
  • 1970-01-01
相关资源
最近更新 更多