2017-04-25 440 views
-1

我有這個Excel單元格A2的內容USD.EUR[IDEALPRO,CASH,EUR]。我想使用Excel公式從字符串的最後部分提取子串EUR。我出來的最接近的公式是=RIGHT(A2,4)。但是,它返回EUR]從Excel中的這個字符串提取子字符串

什麼公式可以用來提取子字符串?

我使用的MS Excel 2013年

回答

1

如果您正在搜索的字符串長度只有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是您的字符串。此公式將最後一個分隔符",""]"之間的字符串進行unstrings。這太複雜了,但它可以幫助你。

0

您可以使用MIDREVERSETEXT功能的組合。

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

否則,如果長度是要取回部分不明。然後使用FIND函數在該特定單詞之前查找逗號。

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

ReverseText()似乎不存在於Excel 2013中 – user3848207

+0

'ReverseText()'可用於Excel 2013 – Wanderer

+0

對不起,我的Excel出了問題。我會upvote你的答案。 – user3848207

1

我會回答我自己的問題。它已經過測試可以工作。

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

RIGHT(A2,4)回報EUR]。之後,使用SUBSTITUTE刪除]

+0

較短:'=左(右(A2,4),3)'。 – pnuts

相關問題