如何在Excel中提取兩個字元之間的文本

如何在Excel中提取兩個字元之間的文本

我正在嘗試從“en_US@”和“;”之間提取產品信息例如,如果我得到“en_US@Terminal Block;”我希望返回接線盒。我這樣做的方法是:

=MID(B2, FIND("en_US@",B2)+6, FIND(";", B2, FIND("@", B2)+1)-FIND("@",B2)-1)

哪個是對的。

我的問題是我可以編寫程式碼來包含“??_??@”作為要查找的程式碼的選項,這樣我就會查找“en_US”或“??_??”開始文字擷取?

答案1

這似乎有效:

=IF(SUMPRODUCT( -- ISNUMBER(SEARCH({"en_US@","~?~?_~?~?@"},A1)))>0,MID(A1, FIND("@",A1)+1, FIND(";", A1, FIND("@", A1)+1)-FIND("@",A1)-1),"NA")

神奇之處在於 SUMPRODUCT( -- ISNUMBER(SEARCH({...},cell)))>0 位,已討論這裡

要專門 SEARCH() 查找“?”,您必須用波浪號分隔每個字符,因為搜尋處理“?”預設為通配符。

與原始版本相比唯一的另一件事是從 IF() 開始,看看它是否找到一個字元序列,然後找到“@”。

相關內容