【问题标题】:How to convert date format in Excel如何在Excel中转​​换日期格式
【发布时间】:2021-07-08 02:55:37
【问题描述】:

当我使用 SQL 查询提取数据并将日期复制并粘贴到 Excel 时 它会自动将 AM 或 PM 放在原始数据旁边。

例如:

2021-04-11 11:45:00.000   (SQL data)  -->  2021-04-11  11:45:00 **AM**

有一个 Excel 文件,我们在其中归档了数据透视表的原始数据。因此,我需要匹配以前的原始数据格式,我迷路了..

要存储原始数据,有以下几个步骤。

  1. 将日期日期拆分为日期和时间基础。 (对于小时列,我们使用 'hh' 格式)。例如)下午 1:15:00 显示为 13。
  2. 将日期数据转换为文本格式,以便从中提取月份。
  3. 复制我从第一步中提取的小时数据并转换为文本。进入 hh:mm:ss 并更改为文本。所以我可以提取 min 和其他信息。 (对于分钟数据,我将使用 MIN 函数,因为它是文本)

由于计算机的默认设置存在差异,因此更新数据时几乎没有错误。我需要遵循上述步骤和数据格式。 我在每个步骤中面临的错误是。

  1. 将日期数据转换为文本后,我无法使用 MONTH() 函数读取月份信息。例如,我拥有的日期数据是“2021-04-01”,它返回 0。我使用了 :: =MONTH([@date])

  2. 当我尝试复制“时间日期”并粘贴到另一列并转换 TEXT 格式时。它以文本形式返回我下午 1:15:00。如果我将数据转换为 13:15:00 并将其转换,则会出现错误。我用=TEXT(your_calc_formula,"hh:mm:ss")

请帮帮我。 提前谢谢.. !!

【问题讨论】:

  • 与其复制粘贴,不如通过数据菜单直接从数据库中获取数据到Excel中。您只需选择包含日期的列并将格式更改为适合您的格式。
  • 不要将日期转换为文本。相反,使用 NumberFormat 来格式化日期以供显示。这将允许像MONTH() 这样的函数正常工作。如果您需要日期,将它们转换为 TEXT 是完全错误的。

标签: sql excel date formatting format


【解决方案1】:

您说,2021-04-11 11:45:00.000(SQL 数据)--> 2021-04-11 11:45:00 AM。这告诉我 SQL 表达式是“真”日期。你应该保持这种状态。不要将其转换为文本。

真实日期是一个数字,在本例中为 44297.4895833333。格式 2021-04-11 11:45:00 AM 由粘贴 True 日期的单元格确定。您可以将该单元格的格式更改为您喜欢的任何格式。 “AM”的可能来源是您的 Windows 国际时间值设置,这意味着您粘贴 SQL 数据的工作表的单元格格式为“常规”,并且 Excel 在收到 True 日期时将其转换为日期/时间,使用在没有其他想法的情况下取自 Windows 的默认值。

从日期值 44297.4895833333 中,您可以提取月、日、年和时间。这些中的每一个都可以显示您想要的方式。事实上,Format(44297.4895833333, "dddd") 将显示“星期日”。 Format(CDbl(CDate("2021-04-11 11:45:00 AM")), "mmmm") 将显示“四月”。因此,您可能不必提取数字。但是您必须注意单元格中的值与其表面上的显示之间的差异。

【讨论】:

    猜你喜欢
    • 2013-04-01
    • 2016-06-19
    • 2020-07-08
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 2017-08-31
    相关资源
    最近更新 更多