【问题标题】:Excel will not read dateExcel 不会读取日期
【发布时间】:2015-07-07 20:58:34
【问题描述】:

我已经尝试了一百万种方法来让 Excel 读取由这个公式提取的日期:

=(LEFT(VLOOKUP(C7,'Input Engagement Status'!C:M,9,FALSE),11))

我使用LEFT 是因为我引用的单元格同时存储了两个日期。输出为“mmm dd yyyy”。

我已尝试将文本分列,但公式被拉开而不是它读取的日期。

我已尝试自定义格式来为“mmm dd yyyy”创建新的日期格式。我已经从一般,变成数字,变成文本,我现在没有解决方案。任何帮助将不胜感激。

【问题讨论】:

  • 请发布显示两个日期存储在同一单元格中的示例数据。

标签: excel date formulas


【解决方案1】:

说明差异的一种方法是在工作表上注明日期。 Excel 将 1899 年 12 月 31 日之后的每一天的日期视为 1。今天恰好是 42,192(或 Excel 看到的 42192)。

如果您将 =TODAY() 放入单元格(例如 A1)并使用 =RIGHT(A1, 2),则 A1 单元格可能显示 07/07/2015 但基础值为 42192,因此 RIGHT(A1, 2) 将返回 92。格式显示 2015 年 7 月 7 日星期二和 RIGHT(A1, 2) 的单元格仍将返回 92。

如果您在同一个单元格中有两个日期,由空格或其他分隔符分隔为文本字符串,那么您应该能够从字符串值中提取前 11 个字符并将其转换回带有 DATEVALUE function 的日期.

在单个单元格中使用此数据 (A1):

Jul 07 2015  Jul 15 2015

使用SUBSTITUTE function 插入逗号,以便 DATEVALUE 正确解析日期。

=DATEVALUE(SUBSTITUTE(LEFT(A1, 11), " 20", ", 20"))
=DATEVALUE(SUBSTITUTE(RIGHT(A1, 11), " 20", ", 20"))

将结果格式化为日期。以上将返回 42,192 和 42,200(自 1899 年 12 月 31 日以来的天数)。将日期格式设置为 07/07/2015 和 07/15/2015。

您应该能够将您的VLOOKUP function 转录成那个简单的例子。

【讨论】:

    猜你喜欢
    • 2018-04-14
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多