从 Excel 单元格内的此字符串中提取子字符串

Extract substring from this string inside Excel cell

我有这个 Excel 单元格 A2,内容为 USD.EUR[IDEALPRO,CASH,EUR]

我想使用 Excel 公式从字符串的最后部分提取子字符串 EUR。我得出的最接近的公式是 =RIGHT(A2,4)。但是,它 returns EUR]

提取子串可以用什么公式?

我正在使用 MS Excel 2013.

您可以组合使用 MIDREVERSETEXT 函数。

公式

=REVERSETEXT(MID(REVERSETEXT(A1), 2, 3))

否则,如果您要检索的部分的长度未知。然后使用 FIND 函数查找特定单词前的逗号。

=REVERSETEXT(MID(REVERSETEXT(A3), 2, FIND(",", REVERSETEXT(A3)) - 2))

我会回答我自己的问题。它已经过测试。

=SUBSTITUTE(RIGHT(A2,4),"]","")

RIGHT(A2,4)returnsEUR]。之后,使用 SUBSTITUTE 删除 ].

如果您要搜索的字符串只有 3 bytes 长,那么您的简单公式就可以了。但如果它改变了呢?试试下面的方法,

=MID(SUBSTITUTE(F2,",","#",LEN(F2)-LEN(SUBSTITUTE(F2,",",""))),FIND("#",SUBSTITUTE(F2,",","#",LEN(F2)-LEN(SUBSTITUTE(F2,",",""))))+1,FIND("]",SUBSTITUTE(F2,",","#",LEN(F2)-LEN(SUBSTITUTE(F2,",",""))))-FIND("#",SUBSTITUTE(F2,",","#",LEN(F2)-LEN(SUBSTITUTE(F2,",",""))))-1)

其中 F2 是您的字符串。此公式取消最后一个定界符 ",""]" 之间的字符串。这太复杂了,但它可能对你有帮助。