我尝试将我正在使用的报告保存为 CSV 文件,并将数据复制/粘贴到 Excel 电子表格中。但都无法解决我的问题。
Excel 将日期数据列转换为 mm/dd/yyyy 格式,但数据在源数据库和 CSV 文件中以 dd/mm/yyyy 格式存储。因此,它无法识别一半的数据,而另一半则是错误的。
例如,出生日期是 2020 年 1 月 10 日,在我从中提取的数据库显示为 2020/10/01,excel 存储为复制,但考虑到格式 mm/dd/yyyy,所以如果我在另一列中进行计算以使用“日期”,excel 会认为日期是 2020 年 10 月 1 日。
诸如 2020 年 1 月 24 日之类的日期存储为粘贴的 24/01/2020,但不会使用它进行计算,因为当然没有 24 这样的月份。我检查了单个单元格以查看它使用的格式 10/01/2020 显示为英语美国格式。
如果我将其更改为英语澳大利亚...它会交换 dd/mm 值,因此该值仍然不正确。转换为数字不起作用,因为它首先没有将其读取为正确的日期格式。有没有办法解决我遇到的这个格式问题。
谢谢娜塔莉
答案1
请注意,Excel 使用您计算机的区域设置来解释 csv 文件并在 Excel 中显示它们。
如果您的日期采用国际格式 dd/mm/yyyy,则(假设您使用 Windows 10)从 Windows 任务栏(而不是 Excel)搜索区域设置,然后选择“其他日期、时间和区域设置”,它将在经典的 Windows 7 控制面板中打开。导航到日期设置并将其更改为与 csv 文件中的格式相同的格式。记下您之前的设置,因为您可能需要在导入后将其改回。
例如,您还可以根据您的 csv 文件数字格式将小数符号从 . 更改为 ,或反之亦然。
在最糟糕的情况下,如果多种格式不兼容,您可能只需要导入为文本,然后使用烦人的文本函数自行转换为日期,例如
=DATE(RIGHT(A1,4), MID(A1, FIND("/", A1)+1, 2), LEFT(A1,2))
答案2
你真是个特别的人!几乎所有遇到这个问题的人都因为无法打开 CSV 文件并让它工作而感到沮丧。他们只是不想用其他方法。你不仅愿意从 CSV 文件复制粘贴,还愿意将其放入你费尽心思格式化为文本的列中。我祝贺你!
因此,您可以将其作为文本放入文本列中。如果您愿意再执行一步,它们可以是您想要的格式的日期(mm/dd/yyyy)。好吧,还有两个步骤。
首先,现在更改列数据的格式。在数字格式选项卡中,选择日期集合,然后查看选项卡中心的格式示例。在中心的示例选项下有一个下拉列表,标有“区域设置(位置):”... 滚动到“英语(澳大利亚)”并选择它。
上面的日期格式示例将会改变,您可以选择您想要的确切版本。
当然,文本表示不会改变。这是真正的步骤。您需要强制(“强制”)它。有很多方法可以做到这一点,但合适的方法是转到功能区菜单,数据选项卡。找到Text to Columns
并单击它。
分隔或固定宽度实际上并不重要,因为如果您选择分隔路线,您将通过确保未选中任何内容来选择“无分隔符”,并且最终会得到固定宽度的结果:第 3 步(共 3 步),您可以在其中设置转换后您的列将具有的格式类型。
选择“日期”单选按钮,然后在其右侧的下拉列表中选择DMY
。您选择要输出的内容,而不是输入的形式。
单击“完成”后,工作就完成了。
未来,您可能需要研究 Power Query。由于您有一个用于数据的 CSV,因此 PQ 将是最简单的使用方式。无需公式或编程,只需从文件中提取数据,删除所有不需要的列,然后将日期列转换为...日期,并以您指定的格式。
保存所有内容,每当您需要导入新数据时,让其更新电子表格中的表格,或者甚至使用辅助电子表格来执行此操作,并每次将结果导入生产表。如果生产电子表格中有一个辅助页面(按照此方法操作,它会在您第一次“加载”其结果时自行创建一个),然后复制并粘贴到主表,或使用公式复制信息。
如果您能够/允许使用宏,则可以设置一个带有宏的按钮来更新查询,甚至更多。
如果没有其他选择,那么一个“辅助电子表格”就很不错了,你可以将转换后的日期加载到其中,然后在需要时复制并粘贴。但上述方法每次也都相当容易,所以……也许一个有六个,另一个有六个。