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

Excel中结合LEN与FIND函数提取指定字母后的ID内容

提取指定字母开头的完整ID解决方案

一、Excel 365/2021 版本(支持动态数组函数)

提取所有目标字母开头的ID(如提取所有A开头项)

使用以下公式,自动拆分单元格内容并筛选出目标项:

=TEXTJOIN(", ", TRUE, IF(LEFT(TEXTSPLIT(E2, ", "))="A", TEXTSPLIT(E2, ", "), ""))

替换公式中的"A"为其他字母(如"D")即可提取对应ID。

提取单个目标字母开头的ID(单元格仅含一个目标项)

用更简洁的定位公式:

=XLOOKUP("A*", TEXTSPLIT(E2, ", "), TEXTSPLIT(E2, ", "), "")

二、旧版Excel(无动态数组函数)

单元格仅含一个目标字母开头的ID

使用数组公式(输入后按 Ctrl+Shift+Enter 确认,不能直接回车):

=MID(E2,FIND("A",E2),MATCH(TRUE,ISERROR(VALUE(MID(E2,FIND("A",E2)+ROW(INDIRECT("1:"&LEN(E2)-FIND("A",E2)+1)),1))),0)-1)

原理:找到目标字母的位置后,动态判断后续字符是否为数字,直到遇到非数字字符为止,确定提取长度。

单元格含多个目标字母开头的ID

同样使用数组公式(按 Ctrl+Shift+Enter 确认):

=TEXTJOIN(", ", TRUE, IF(LEFT(TRIM(MID(SUBSTITUTE(E2,", ",REPT(" ",LEN(E2))),ROW(INDIRECT("1:"&LEN(E2)-LEN(SUBSTITUTE(E2,", ",""))+1))*LEN(E2)-LEN(E2)+1,LEN(E2))))="A", TRIM(MID(SUBSTITUTE(E2,", ",REPT(" ",LEN(E2))),ROW(INDIRECT("1:"&LEN(E2)-LEN(SUBSTITUTE(E2,", ",""))+1))*LEN(E2)-LEN(E2)+1,LEN(E2))), ""))

三、原公式问题说明

你之前的公式固定减去3是错误的——不同ID后续的字符长度不固定(比如A7后是, D4,A14后是, J14),无法用固定数值计算提取长度,必须通过动态判断数字结束位置来解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 17:47:39