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

如何组合LEFT、SEARCH与REGEXREPLACE函数提取目标癌症名称

表格固定格式字段提取公式方案

需求说明

处理表格数据时,需从A列字段中提取纯癌症名称,剔除开头的Deaths -前缀,以及癌症名称后的性别、年龄等附属字段。
A列所有数据遵循统一格式,示例内容如下:

Deaths - Prostate cancer - Sex: Both - Age: Age-standardized (Rate)
Deaths - Breast cancer - Sex: Both - Age: Age-standardized (Rate)
Deaths - Testicular cancer - Sex: Both - Age: Age-standardized (Rate)
Deaths - Non-melanoma cancer - Sex: Both - Age: Age-standardized (Rate)
Deaths - Tracheal, bronchus, and lung cancer - Sex: Both - Age: Age-standardized (Rate)

已实现效果

当前通过LEFT与SEARCH组合公式:

=LEFT(A2, SEARCH("cancer", A2)-1)

已经完成cancer及后续文本的移除,返回结果如下:

Deaths - Breast 
Deaths - Testicular 
Deaths - Non-melanoma 
Deaths - Tracheal, bronchus, and lung

待解决问题

现有结果残留前缀Deaths与连接短横,无法将REGEXREPLACE和现有LEFT、SEARCH逻辑整合为单条公式,无法得到纯癌症名称。
期望最终输出结果如下:

Breast 
Testicular 
Non-melanoma 
Tracheal, bronchus, and lung
Prostate

可用实现方案

根据使用的表格工具不同,可选择以下两种单公式方案:

  • 通用兼容方案(适配所有版本Excel、WPS、Google Sheets,无需正则支持)
=TRIM(MID(A2, 9, SEARCH(" cancer - ", A2)-9))

逻辑说明:开头固定前缀Deaths - 长度固定为9个字符,直接从第10位开始截取文本,截取到固定分隔符cancer -的位置停止,最后用TRIM清除首尾多余空格即可。

  • 正则简洁方案(适配Google Sheets、Excel 365、最新版WPS等支持正则函数的工具)
=REGEXREPLACE(A2, "^Deaths - (.*?) cancer - .*$", "$1")

逻辑说明:通过正则匹配整行文本,将Deaths - 和cancer -之间的癌症名称捕获为第一个分组,直接把整行内容替换为分组内的文本即可,不需要额外处理空格,容错性更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 06:27:14