提问人:M Muaz 提问时间:1/19/2023 更新时间:1/19/2023 访问量:219
如何在excel公式中提取最后一个“,”之前的文本?
How to extract text before the last "," in excel formula?
问:
我正在尝试生成一个公式,该公式可以在最后一个逗号之前提取文本。
例如:
假设在单元格 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”需要什么调整?
提前感谢您的帮助
答:
2赞
Mayukh Bhattacharya
1/19/2023
#1
用FILTERXML()
• 细胞中使用的配方B1
=FILTERXML("<m><b>"&SUBSTITUTE(A1,", ","</b><b>")&"</b></m>","//b[last()-1]")
您可以阅读有关JvdV Sir的深入研究和示例的更多信息。FILTERXML()
Excel - 使用 FILTERXML 从字符串中提取子字符串
你也可以试试这个,
• 细胞中使用的配方C1
=TRIM(MID(SUBSTITUTE(A1,", ",REPT(" ",100)),(LEN(A1)-LEN(SUBSTITUTE(A1,",","")))*100-99,100))
另一种使用TEXTSPLIT()
=INDEX(TEXTSPLIT(A1,,", "),LEN(A1)-LEN(SUBSTITUTE(A1,",","")))
3赞
JvdV
1/19/2023
#2
使用 ms365:
公式:B1
=@TAKE(TEXTSPLIT(A1,,", "),-2)
评论