日期格式问题

日期格式问题

我从网络导出一些文件为 CSV,然后将该文件转换为 excel 文件,excel 文件中有一列名为(日期),现在当我在其上应用过滤器时,由于日期的两种不同格式,过滤器不会减慢正确信息的显示速度。其中一个是正确的,但另一个不是,我想让它们采用相同的格式,但它们没有根据我的需要进行定制

示例代码

在此图中,上面的两个日期符合我的需要,其余的左对齐日期不是我想要的格式

请帮我把它们变成相同的格式

答案1

字符串与数字

Excel 正在解释你的一些日期一些是文本字符串,一些是数字。源数据是问题的根源,在导出之前修复该问题将消除您的问题。但是,如果您想在事后清理格式混合,则可以使用公式将文本字符串转换为正确的日期。

假设

这些假设适用于以字符串形式存储的日期。您的实际日期将遵循应用于单元格的任何格式。

  • 以斜线分隔/
  • 先于 mm/dd/yy或者dd/mm/yy
  • 可以是一个或两个字符2/802/82/08等等。
  • 可以是 2 个或 4 个字符12/21/2022,或者12/21/22
A C
1 显示 实际价值 已转换 格式化
2 2020 年 12 月 27 日 44192 44192 20/12/27 0:00
3 2020 年 12 月 20 日 44185 44185 2020 年 12 月 20 日 0:00
4 19/12/20 04:23:48 19/12/20 04:23:48 44184.18319 20/12/19 4:23
5 13/09/20 03:46:16 13/09/20 03:46:16 44087.15713 2020-09-13 3:46
6 20/09/13 20/09/13 44087 2020 年 9 月 13 日 0:00
7 13/9/20 05:51:10 13/9/20 05:51:10 44087.24387 2020 年 9 月 13 日 5:51
8 2020/09/13 06:19:27 2020/09/13 06:19:27 44087.26351 2020-09-13 17:19

换算公式

如果显示的值是数字,则使用最小测试来接受它date,否则重新排列日期和月份。它不知道也不关心原始顺序和新顺序实际上是什么,只是会翻转它们。

在上面的样表的单元格 $C$2 中:

=BYROW(A2:A8, LAMBDA(x, IFERROR(x*1,
      TEXTJOIN("/",, INDEX(TEXTSPLIT(x,"/"),1,2),
                     INDEX(TEXTSPLIT(x,"/"),1,1),
                     INDEX(TEXTSPLIT(x,"/"),1,3))*1)))

上述示例表中的 C 列和 D 列具有相同的值。C 列的格式为十进制数,D 列的格式为任意日期/时间格式。

相关内容