Excel 公式查找两个外部字符之间的中间文本

Mab*_*bel 3 excel spreadsheet formula excel-formula office365

我试图找出一个公式来查找两个下划线字符之间的值。我试图从下面的字符串中提取“12345_XYZXYZ”。12345 和 XYZXYZ 是可变的,因为处理这些部分的实际数据可以是任意数量的字符,但始终位于 2 个外部下划线之间,并在它们之间有一个下划线。我本来希望使用下划线作为指示符,但事实上有 3 个下划线,其中一个位于字符串的中间,这让我感到困惑:

单元格 A1:

ABCDEF_12345_XYZXYZ_-423423
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试过的公式在 B2 中,它只返回 12345:

=LEFT(MID(A1,FIND("_",A1)+1,LEN(A1)),FIND("_",MID(A1,FIND("_",A1)+1,LEN(A1)))-1)
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助!

Jvd*_*vdV 5

对于 ms365,如果可用,最简单的是:

在此输入图像描述

公式为B1:

=TEXTBEFORE(TEXTAFTER(A1,"_"),"_",-1)
Run Code Online (Sandbox Code Playgroud)

编辑; 对于任何版本,请尝试:

=MID(LEFT(A1,FIND("|",SUBSTITUTE(A1,"_","|",3))-1),FIND("_",A1)+1,LEN(A1))
Run Code Online (Sandbox Code Playgroud)

其中|将是任何要“分割”的字符的占位符,否则这显然不会出现在字符串中。