如何在excel公式中提取最后一个“,”之前的文本?

How to extract text before the last "," in excel formula?

提问人:M Muaz 提问时间:1/19/2023 更新时间:1/19/2023 访问量:219

问:

我正在尝试生成一个公式,该公式可以在最后一个逗号之前提取文本。

例如:

假设在单元格 A1 中,单元格具有以下内容:“A100、B100、C100、D100”

我想要单元格 B1 上返回值的公式:“C100”

我能够产生两个公式,它们并不完全做到这一点,但认为稍作调整可能会奏效。

第一个公式将返回最后一个逗号之后的值,即“D100”

=MID(A1,FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))+1,LEN(A1))

第二个公式将返回最后一个逗号之前的所有内容,即“A100、B100、C100”

=IFERROR(LEFT(A1,FIND("=",SUBSTITUTE(A1,",","=",LEN(A1)-LEN(SUBSTITUTE(A1,",",""))))-1),"")

有谁知道获得“C100”需要什么调整?

提前感谢您的帮助

excel 公式

评论


答:

2赞 Mayukh Bhattacharya 1/19/2023 #1

FILTERXML()

enter image description here


• 细胞中使用的配方B1

=FILTERXML("<m><b>"&SUBSTITUTE(A1,", ","</b><b>")&"</b></m>","//b[last()-1]")

您可以阅读有关JvdV Sir的深入研究和示例的更多信息。FILTERXML()

Excel - 使用 FILTERXML 从字符串中提取子字符串


你也可以试试这个,

enter image description here


• 细胞中使用的配方C1

=TRIM(MID(SUBSTITUTE(A1,", ",REPT(" ",100)),(LEN(A1)-LEN(SUBSTITUTE(A1,",","")))*100-99,100))

另一种使用TEXTSPLIT()

enter image description here


=INDEX(TEXTSPLIT(A1,,", "),LEN(A1)-LEN(SUBSTITUTE(A1,",","")))

3赞 JvdV 1/19/2023 #2

使用 ms365:

enter image description here

公式:B1

=@TAKE(TEXTSPLIT(A1,,", "),-2)