返回列表 上一主題 發帖

Excel 取特殊字元

Excel 取特殊字元

Dear 大大,
我要取儲存格右邊開始發現有"+"號後面的字串

我下的公式
=MID(A2,FIND("+",A2)+1,4) --> 因它抓到了第一個+號,所以就變成
3+L0000-29-ABC+PP    ---> L000


我想要變成下列答案
3+L0000-29-ABC+PP    ---> PP
3+A0000-30-CDE+PQQ     ---> PQQ

請問公式要怎麼修訂?
Just do it.

=TRIM(RIGHT(SUBSTITUTE(A2,"+",REPT(" ",9)),9))
EXCEL參考資料:
http://blog.xuite.net/smile1000mile/blog

TOP

回復 2# 准提部林

准提部林,早安
語法可以用

是否可以幫忙說明語法的意思呢?
=TRIM(RIGHT(SUBSTITUTE(A2,"+",REPT(" ",9)),9))



我只知道,去除字串空白函數:TRIM、SUBSTITUTE
謝謝您!
Just do it.

TOP

回復 3# jsc0518

=SUBSTITUTE(A2,"+",REPT(" ",9))
>> "3         L0000-29-ABC         PP"

"+"全變成9個空白字元, (若字串長, 可改成99)
右取9個字元, 再trim去空白
EXCEL參考資料:
http://blog.xuite.net/smile1000mile/blog

TOP

回復 4# 准提部林

准提部林

謝謝您的教導歐!
Just do it.

TOP

回復 2# 准提部林

Dear 准提部林

若我要抓右邊開始發現有"+"號後面的字串 (含加號)
我自己是用下列語法
3+L0000-29-ABC+PP    ---> +PP
="+"&TRIM(RIGHT(SUBSTITUTE(A2,"+",REPT(" ",9)),9))

是否有其他的方法?
Just do it.

TOP

本帖最後由 准提部林 於 2019-1-2 18:46 編輯

回復 6# jsc0518


那是最簡單又有效率的方法,
也可試試這個
=VLOOKUP("+*",RIGHT(A2,ROW($1:$19)),1,)  陣列公式(三鍵輸入)

或/一般公式:
=MID(A2,-LOOKUP(,-FIND("+",A2,ROW($1:$39))),9)
EXCEL參考資料:
http://blog.xuite.net/smile1000mile/blog

TOP

回復 7# 准提部林


准提部林
感謝您的回覆
請問一下,這一段語法的意思?
ROW($1:$19)),1,)
Just do it.

TOP

回復  准提部林


准提部林
感謝您的回覆
請問一下,這一段語法的意思?
ROW($119)),1,)
jsc0518 發表於 2019-1-3 19:37

你取錯公式的區域了
可以使用F9讀區部份公式的結果來了解公式的意義
選取FIND("+",A2,ROW($1:$39))後按F9
會出現一個陣列,find加上row($1:$39)的意思是從A2字串的第1、第2、第3...、第39位置開始找+這個符號並回傳39個結果
若你的字串於第39個字元後還有出現+的時候,就需修改為$1:$50或更大

我覺得lookup比較難理解,若解釋錯誤請協助指正
lookup會回傳小於或等於lookup_value的最大值
此公式改為MID(A2,LOOKUP(100,FIND("+",A2,ROW($1:$39))),9)
於此例中可得到相同的結果

未指定lookup_value,故傳回array中符合條件的最後一個
但回傳的15在EXCEL預設為通用格式並非數字,函式無法計算
故在FIND前方加上-,強制找到的結果變成數字,但也變成了負數
故lookup需再加-,轉為正數

TOP

回復 1# jsc0518

我要取儲存格右邊開始發現有"+"號後面的字串

我下的公式
=MID(A2,FIND("+",A2)+1,4) --> 因它抓到了第一個+號,所以就變成
3+L0000-29-ABC+PP    ---> L000

我想要變成下列答案
3+L0000-29-ABC+PP    ---> PP
3+A0000-30-CDE+PQQ     ---> PQQ


----------------------
若資料有規則性
你的公式只要簡單修改就可以使用,准大的公式是可以比開多個 "+" 找最後一個,彈性比較大。

=MID(A2,FIND("+",A2)+1,4)
改為
=MID(A2,FIND("+",A2,3)+1,9)  

3 是由第3字元起往後尋找,你的第一個 "+" 是在字串第2位置,所以由字串第3位置往後查詢第二個"+",若有未知數個 "+" ,就需要用 准大 的公式。
9 可以設定為 + 以後可以取的最多字元,所以也可以設為99、999...
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

        靜思自在 : 天上最美是星星,人生最美是溫情。
返回列表 上一主題