You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术问询:如何从单个单元格中提取多个日期

从单个单元格提取多个日期到不同单元格

原公式问题分析

你使用的=REGEXEXTRACT(A6;"[0-9]+[0-9]+[/][0-9]+[0-9]+[/][0-9]+[0-9]")只能提取第一个日期,因为REGEXEXTRACT默认仅返回第一个匹配的结果,无法捕获后续的日期项。

解决方案(Google Sheets)

方法1:批量提取所有匹配日期(自动填充到右侧单元格)

在目标起始单元格(比如B5)输入以下公式,它会自动将所有提取到的日期填充到右侧单元格中:

=ARRAYFORMULA(IFERROR(REGEXEXTRACT(A5, REPT(".*?(\d{2}/\d{2}/\d{4})", SEQUENCE(1, 10)))))
  • \d{2}/\d{2}/\d{4}:匹配dd/mm/yyyy格式的日期(如果是mm/dd/yyyy格式,只需调整顺序)
  • SEQUENCE(1,10):预设最多提取10个日期,可根据实际需求修改数字
  • IFERROR:自动过滤无匹配的空单元格

方法2:先清理非日期内容再拆分

如果单元格内的日期格式统一,也可以先把非日期内容替换为分隔符,再拆分到不同单元格:

=FILTER(SPLIT(REGEXREPLACE(A5, "[^0-9/]", "|"), "|", TRUE, TRUE), LEN(SPLIT(REGEXREPLACE(A5, "[^0-9/]", "|"), "|", TRUE, TRUE))=10)
  • REGEXREPLACE(A5, "[^0-9/]", "|"):将所有非数字、非斜杠的内容替换为竖线分隔符
  • SPLIT(..., "|", TRUE, TRUE):按竖线拆分内容并忽略空值
  • FILTER(..., LEN(...)=10):仅保留长度为10的项(确保是完整的dd/mm/yyyy日期)

解决方案(Excel 365)

如果使用Excel 365,可借助TEXTSPLIT和正则替换实现:

=TEXTSPLIT(REGEXREPLACE(A5,"[^0-9/]+","|"),"|",,TRUE)

该公式会自动将所有日期拆分到右侧单元格,忽略空值。

效果示例

A5内容B5(提取结果)C5(提取结果)D5(提取结果)
此单元格包含01/02/2023,同时还有31/01/2023和25/12/202201/02/202331/01/202325/12/2022

内容的提问来源于stack exchange,提问作者Rodrigo Santos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 07:25:23