2

我有一个 CSV 文件,用逗号分隔,里面有一些日期值,比如"01/13/2010 05:00:00 AM", 或"04/01/2010 05:00:00 AM". 问题是,当我使用 Microsoft Excel 打开 CSV 文件时,这些天数将分别显示为01/13/2010 05:00:00 AM04/01/2010 05:00。第二个的值是04/01/2010 05:00:00,但它仍然显示04/01/2010 05:00。我进行了一些测试,发现 Excel 在某些情况下无法确定哪一天是哪一个月。事实上 Excel 得到一个字符串,如:

__/__/____ __:__:__ __

它从最后两个字符(AM/PM)推导出小时的值,它知道分钟和秒是什么,而且它看到四字符长数字序列时确定年份,所以问题是关于月份和天。如果字符串中的第一个和第二个数字都是 <= 12,那么它无法确定哪个是月份,哪个是年份,所以它弄乱了我的日期格式。

我想要一个日期格式,例如

MM/dd/yyyy HH:mm:ss AM/PM

我发现使用名为 TEXT 的函数可以做到这一点,如下所示:

=TEXT("04/13/2010 05:54:00 AM", "MM/dd/yyyy HH:mm:ss AM/PM")

它就像一个魅力,但它仍然猜测哪一天是哪一个月。但是,假设客户端将具有与 CSV 中的数据相同的默认日期格式,则月份和日期不会倒置。但是,我不想打开 Excel 并输入公式,因为我需要将此文件提供给客户,并且它应该在他们打开文件时显示正确的值。所以,我需要在逗号分隔的文件中编写公式,但是...... TEXT 是二维的,并且有一个逗号将我的日期与我的格式分开。

如果我输入:

= ABS(-5),=TEXT("04/13/2010 05:54:00 AM", "MM/dd/yyyy HH:mm:ss AM/PM")

在我的文件中,我会看到 3 个单元格,第一个是5,第二个是=TEXT("04/13/2010 05:54:00 AM",第三个是 "MM/dd/yyyy HH:mm:ss AM/PM")

如何防止这种行为?我可以在函数调用中使用其他东西而不是逗号吗?或者我可以更改分隔符吗?还是有更好的解决方案?

你能启发我,了解如何在 CSV 文件中输入函数调用吗?

提前感谢所有试图提供帮助的人,

拉霍斯阿尔帕德。

4

1 回答 1

2

如果我输入:

= ABS(-5),=TEXT("04/13/2010 05:54:00 AM", "MM/dd/yyyy HH:mm:ss AM/PM")

在我的文件中,我会看到 3 个单元格,第一个是 5 个,第二个是 =TEXT("04/13/2010 05:54:00 AM",第三个是 "MM/dd/yyyy HH:mm:ss AM /下午”)。

要使此示例正常工作,您需要用双引号将第二个数据项括起来以转义逗号。因此,您需要使用双双引号将它们解释为双引号内的双引号——我希望这是一个可读的句子。

因此,如果您在文件中使用它,您给出的示例应该可以工作:

=ABS(-5),"=TEXT(""04/13/2010 05:54:00 AM"", ""MM/dd/yyyy HH:mm:ss AM/PM"")"
于 2012-10-14T03:19:30.080 回答