【问题标题】:Format all cells in column from date to text将列中的所有单元格从日期格式化为文本
【发布时间】:2013-02-14 10:17:20
【问题描述】:

我有一个大约 500 行的 excel 文档。 我需要将 B 列中的所有单元格从日期格式化为文本。

这就是现在的样子:

2012-06-15
2012-06-01
2012-06-14

格式化成文本后的样子:

41075
41061
41074

据我了解,这是表示自 1900 年 1 月 1 日以来的天数的时间戳,对吗?无论如何,这不是我想要的。我希望该字段的值与文本的列类型完全相同。我已经找到了各种解决方案,使用这样的函数:=TEXT(B1, "yyyy-mm-dd") 但这不是重新格式化单元格,它是从一个单元格中提取一个值,重新格式化它并将其表示为另一个单元格中的文本。

我遵循的规则:I want all cells in B column to have the type text without changing the value

谢谢!

【问题讨论】:

  • 为什么需要将其作为文本 - 格式化值有什么问题?
  • 我们可以假设您所使用的文本表示在 excel 的其他地方使用吗?
  • 这个值也是从另一个源/程序输入或填充的吗?

标签: excel office-2013


【解决方案1】:

如果您的列 AD 是 500 行的日期,那么您:

  1. 使用您在单元格E1 中描述的=TEXT(A1, "yyyy-mm-dd") 函数。

  2. 将此公式复制 4 列宽,向下 500 行。

  3. 然后将复制并粘贴到前面的单元格中。

复制示例:

输出:

【讨论】:

    【解决方案2】:

    您说得对,Excel 在内部将日期存储为自 1900 年 1 月 1 日以来的天数(除了一个小的闰年错误)。

    因此,恐怕你不能两者兼得:

    • 要么保留价值,例如(41075) 并简单地将其格式化为日期,因此它将显示为2012-06-15 -
    • 或者您将其转换为文本格式 - 但是您要么
      • 失去基础价值 - 如果您使用您提到的文本函数将其转换为您希望的格式
      • 保留值 (41075),但看不到日期

    【讨论】:

    • 感谢您的回答。
    • 感谢您的快速答复。这一切的原因是我要在第三方服务中导入这个 excel 文档,它处理日期的方式很奇怪。我偶然发现了另一个“解决方案”:复制所有行并将其粘贴到记事本等文本编辑器中,然后从记事本复制并返回到 excel 中,从而覆盖所有单元格。 Excel 没有更简单的方法来执行此操作似乎不是很奇怪吗?
    • 如果您使用TEXT(...`创建字符串,导入是否有效?
    • 是的。只要单元格的类型为字符串(文本?),它就可以工作。他们没有调查它本身的价值。他们只是检查细胞类型并使用它。
    【解决方案3】:

    如果您正在输入值,您可以在值前添加' 以将其保留为文本。

    例如

    但是根据第三方服务用于导入这些值的方法,这可能不起作用,我敢打赌,除非您将其导出到文本编辑器并再次导入,否则您将无法绕过它。

    另外尝试为您的第三方服务使用不同类型的文本,例如"2012-06-15" 有些人看到引号并删除它们。

    【讨论】:

    • 问题不是最初将它们表示为文本,我可以这样做(只需将单元格类型设置为文本并输入值)。问题是我有一个 500 行的文档,每行有 4 个包含日期的单元格。我现在需要转换它们,而不必手动更改所有这些。
    • 我建议您可以使用您描述的text 函数并将此公式复制 4 列宽,向下 500 行,然后将值复制并粘贴到前面的单元格中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    • 2018-09-28
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多