CSVdate和分隔符问题

我有一个CSV文件,用逗号分隔,里面有一些date值,比如"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 。 我做了一些testing,我意识到Excel无法确定哪一天是哪一天,哪几天是几个月。 事实上,Excel获取的string如下所示:

 __/__/____ __:__:__ __ 

它从最后两个字符(AM / PM)中推断出小时的值,它知道分秒是什么,也就是确定了四字符长序列的年份,所以问题是关于月和天。 如果string中的第一个和第二个数字都是<= 12,那么它就不能确定哪个是哪个月份,哪个是年份,所以它弄乱了我的date格式。

我想有一个date格式如

 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中的数据相同的默认date格式,则不会反转月份和date。 但是,我不想打开Excel并在其中键入公式,因为我需要将此文件提供给客户端,并且每当打开文件时都应该显示正确的值。 所以,我需要在逗号分隔的文件中写公式,但是… TEXT是二维的,并有一个逗号分隔我的date和我的格式。

如果我input:

 = 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")

我怎样才能防止这种行为? 我可以在我的函数调用中使用别的东西而不是逗号吗? 或者我可以更改分隔符? 还是有更好的解决scheme?

你能否启发我,学习如何在CSV文件中input函数调用?

预先感谢所有想要帮助的人,

LajosÁrpád。

如果我input:

 = 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"")"