我有一个CSV文件,以逗号分隔,我内部有一些日期值,例如"01/13/2010 05:00:00 AM"
或"04/01/2010 05:00:00 AM"
。问题是,当我使用Microsoft Excel打开CSV文件时,它们将分别显示为01/13/2010 05:00:00 AM
和04/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文件中输入函数调用吗?
提前感谢所有试图提供帮助的人,
LajosÁrpád。
答案 0 :(得分: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 / PM”)。
要使此示例有效,您需要用双引号括住第二个数据项以转义逗号。因此,您需要使用双引号将它们解释为双引号内的双引号 - 我希望这是一个可读的句子。
因此,如果您在文件中使用此示例,那么您提供的示例应该有效:
=ABS(-5),"=TEXT(""04/13/2010 05:54:00 AM"", ""MM/dd/yyyy HH:mm:ss AM/PM"")"