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

Tableau中批量替换日期并添加距今天数的实现方法

解决方案

针对你需要批量为Contact列中Call/Visit/Skype后的日期添加距指定日期(10 Jan, 2023)天数的需求,以下是基于REGEXP_REPLACE结合日期计算函数的实现方案,分两种常用工具场景说明:

场景1:Tableau(匹配你提到的DATEPARSE函数使用场景)

创建一个新的计算字段,使用以下公式:

REGEXP_REPLACE(
  [Contact],
  '(\d{2} [A-Za-z]{3}, \d{2})',
  "$1 (" + STR(INT(DATE('2023-01-10') - DATEPARSE('dd MMM, yy', $1))) + " Days)"
)

公式说明:

  • (\d{2} [A-Za-z]{3}, \d{2}):正则捕获组,精准匹配dd MMM, yy格式的日期(如22 Dec, 22)
  • DATE('2023-01-10'):固定你指定的基准日期,避免TODAY()随时间变动导致结果变化
  • DATEPARSE('dd MMM, yy', $1):将捕获到的日期字符串转换为可计算的日期格式
  • INT(DATE(...) - DATEPARSE(...)):计算两个日期的天数差并取整
  • STR(...):将天数转换为字符串,拼接成(X Days)的格式
  • REGEXP_REPLACE:把原日期替换为日期 (X Days)的组合形式

场景2:Google Sheets

假设Contact列在A列,在空白列(如B列)输入以下数组公式,自动批量处理整列数据:

=ARRAYFORMULA(
  IF(
    A:A="",,
    REGEXREPLACE(
      A:A,
      "(\d{2} [A-Za-z]{3}, \d{2})",
      "$1 ("&INT(DATE(2023,1,10)-DATEVALUE(REGEXEXTRACT(A:A,"(\d{2} [A-Za-z]{3}, \d{2})")))&" Days)"
    )
  )
)

公式说明:

  • ARRAYFORMULA:实现整列批量处理,无需手动下拉公式
  • DATE(2023,1,10):指定固定的基准日期
  • DATEVALUE(REGEXEXTRACT(...)):提取并转换日期字符串为可计算的日期格式
  • INT(...):计算天数差并取整
  • REGEXREPLACE:完成日期与天数的拼接替换

关键注意点

  • 若日期的月份缩写存在大小写差异,当前正则表达式(\d{2} [A-Za-z]{3}, \d{2})已兼容大小写匹配
  • 若需要使用动态当前日期而非固定值,直接替换公式中的DATE('2023-01-10')或DATE(2023,1,10)为TODAY()即可,但结果会随日期变动更新

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 11:55:26