如何在Excel中提取‘! ’与‘z @’之间的目标数字?
在Excel中提取指定位置数字的解决方案
嘿,这个需求其实很清晰——要从字符串里提取位于第二个“! ”之后、“z @”之前的数字“456”,咱们分两种Excel版本来实现,适配不同的使用场景:
一、Excel 365/2021及以上版本(推荐)
这类版本支持TEXTAFTER和TEXTBEFORE这两个便捷的文本处理函数,一步到位就能搞定:
假设目标字符串在单元格A1中,直接用下面的公式:
=TEXTBEFORE(TEXTAFTER(A1, "! ", 2), "z @")
公式解释:
TEXTAFTER(A1, "! ", 2):从A1的字符串里,提取第2次出现“! ”之后的所有内容,也就是"456z @ jkl"TEXTBEFORE(..., "z @"):把上面得到的内容,截取到“z @”出现之前的部分,最终就得到了"456"
二、旧版Excel(2019及更早)
如果你的Excel不支持新函数,就用经典的MID+FIND组合来实现:
同样假设字符串在A1,公式如下:
=MID(A1, FIND("! ", A1, FIND("! ", A1)+1)+2, FIND("z @", A1, FIND("! ", A1, FIND("! ", A1)+1)) - (FIND("! ", A1, FIND("! ", A1)+1)+2))
公式拆解:
FIND("! ", A1, FIND("! ", A1)+1):找到第2次出现“! ”的起始位置- 加上
2是跳过“! ”这两个字符,定位到数字的起始位置 FIND("z @", A1, ...):找到第2个“! ”之后“z @”的位置,用这个位置减去数字的起始位置,得到数字的长度- 最后用
MID从起始位置开始,提取对应长度的内容,就是目标数字
内容的提问来源于stack exchange,提问作者refah
相关产品推荐
相关产品推荐

