Excel 中的替换和格式公式不正确

Excel 中的替换和格式公式不正确

我创建了一个公式,可以将日期格式从 MM/DD/YYYY 和 MM-DD-YYYY 更改为“mmm”。但是,它只适用于包含“/”的单元格。我该如何修复此公式?

=TEXT(SUBSTITUTE((LEFT((TEXT((SUBSTITUTE((F33),"-","/")),"mm/dd/yyyy")),10))," ",""),"mmm")

截屏

干杯

答案1

问题在于 CSV 文件中的日期格式和 Windows 区域短日期 (WRSD) 格式不同。

Excel 将根据您的 WRSD 设置解析日期,这些设置很可能是 DMY。因此,当日期的第二部分大于 12 时,它将变为文本。而未变为文本的日期的 D 和 M 将与应有的相反。这可能是因为 CSV 设置为 MDY。

为了解决这个问题,你可以将 WRSD 更改为 MDY打开 CSV,或者你可以进口CSV 文件。这将打开文本导入向导,让您有机会告诉 Excel CSV 文件中的日期是 MDY,从而覆盖您的 WSRD。

在不同版本的 Excel 中,导入文件的方式有所不同。但一般来说,您可以导航到“数据”选项卡并查找显示“来自文本”的内容。这样会弹出一个文件选择对话框。

如果您有 O365,您可能需要从后续对话框中选择“转换数据”才能正确定义日期列;在早期版本中,您应该看到类似文本到列向导的东西,它将提供相同的功能。

然后,要获取月份,您可以将列格式化为mmm或使用简单的文本函数: =text(cell_ref, "mmm"

很可能对于非文本日期,您的公式不会返回 CSV 文件创建者想要的月份。由于您使用文本字符串的方法,它似乎是正确的。“实际日期”将使用上面显示的简单公式显示月份。您可以查看它们是否与您的右对齐日期一致。

相关内容