excel - CSV 日期和分隔符问题

标签 excel csv formatting separator

我有一个 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 并输入公式,因为我需要将此文件提供给客户,并且每当他们打开该文件时它都应该显示正确的值。因此,我需要在逗号分隔的文件中编写公式,但是...文本是二维的,并且有一个逗号将我的日期与格式分开。

如果我输入:

= 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 文件中输入函数调用吗?

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

拉约斯·阿帕德。

最佳答案

If I type:

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

into my file, I will see 3 cells, the first being 5, the second is =TEXT("04/13/2010 05:54:00 AM" and the third is "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"")"

关于excel - CSV 日期和分隔符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12857745/

相关文章:

java - 将分钟数格式化为时间

c# - 使用 C# 将格式从一行复制到另一行

excel - 计数受三个条件

python - 处理 Python 中的越界/写入 CSV

在 Excel 电子表格文件中搜索空单元格时,Python xlwt 产生 AttributeError

java - 如何处理 Spark rdd 生成上的 CSV 文件列?

csv - Neo4j 使用带有空值的 MERGE

Google 表格中的日期格式无法按照说明工作

vba - 将一个数组复制到另一个数组

excel - 如何检查Excel-VBA中某些工作表是否存在?