You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Excel处理CSV特殊日期格式:移除冗余内容实现按日期排序

我来帮你搞定这个Excel日期识别的问题!你遇到的这种带星期、UTC的格式确实挺头疼,下面给你几个好用的解决方法,不管是用公式还是批量替换都能搞定:

方法一:用公式精准提取日期(适合单单元格或小批量)

分两种Excel版本给你不同的公式方案:

适合Excel 365/2021的简洁公式

直接用新版函数组合,一步到位提取有效日期:

=TEXTAFTER(TEXTBEFORE(B2," ",-2)," ")

简单解释:TEXTBEFORE(B2," ",-2)会定位到倒数第二个空格,提取前面的内容(也就是Sun 06 Aug 2017),再用TEXTAFTER去掉最前面的星期部分,最终得到06 Aug 2017,Excel能直接识别成日期。

兼容旧版Excel的公式

如果你的Excel没有TEXTAFTER/TEXTBEFORE,可以用MID+FIND组合:

=LEFT(MID(B2,5,LEN(B2)-4),FIND(":",MID(B2,5,LEN(B2)-4))-2)

解释:先通过MID(B2,5,LEN(B2)-4)去掉开头的星期(比如Sun ),得到06 Aug 2017 14:45 UTC;再找到时间里的冒号位置,取冒号前面的内容(减2是去掉冒号前的空格),最终得到纯日期部分。

方法二:批量查找替换(无需公式,适合大量数据)

这个方法最快,不用写公式,直接批量处理4000+行数据:

  1. 去掉开头的星期
    • Ctrl+H打开查找替换窗口
    • 查找内容填??? (三个问号加空格,问号是通配符,刚好匹配3个字母的星期+空格)
    • 替换内容留空,点击「全部替换」,所有开头的Sun Mon 都会被删掉
  2. 去掉结尾的时间和UTC
    • 继续用查找替换,查找内容填 *(空格加星号,星号匹配空格后的所有内容)
    • 替换内容留空,点击「全部替换」,日期后面的 14:45 UTC这类内容就都没了
  3. 最后选中处理后的单元格,右键→设置单元格格式→选择合适的日期格式,Excel就能正确识别并排序了!
方法三:Power Query批量转换(适合超大文件,4000+行更高效)

如果数据量很大,用Power Query处理更省心,还能保留原始数据:

  1. 打开Excel,点击「数据」选项卡→「从文本/CSV」,导入你的CSV文件
  2. 在Power Query编辑器中,选中日期列:
    • 点击「转换」选项卡→「拆分列」→「按分隔符」,选择空格作为分隔符,拆分为多列
    • 此时会得到5列:星期、日、月、年、时间UTC,删掉星期和时间UTC列
    • 选中日、月、年三列,点击「转换」→「合并列」,用空格作为分隔符合并成新列
    • 选中合并后的列,点击「转换」→「数据类型」→「日期」,系统会自动把06 Aug 2017转换成Excel可识别的日期格式
  3. 点击「关闭并上载」,把处理好的数据导入Excel,直接排序即可!

最后提醒:不管用哪种方法,处理完后最好把公式结果复制,右键→粘贴为值,避免排序时出现异常。

内容的提问来源于stack exchange,提问作者Ruairi McNicholas

火山引擎 最新活动