標題:
Excel 取特殊字元
[打印本頁]
作者:
jsc0518
時間:
2018-12-31 17:08
標題:
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
請問公式要怎麼修訂?
作者:
准提部林
時間:
2018-12-31 17:11
=TRIM(RIGHT(SUBSTITUTE(A2,"+",REPT(" ",9)),9))
作者:
jsc0518
時間:
2019-1-1 09:32
回復
2#
准提部林
准提部林,早安
語法可以用
是否可以幫忙說明語法的意思呢?
=TRIM(RIGHT(SUBSTITUTE(A2,"+",REPT(" ",9)),9))
我只知道,去除字串空白函數:TRIM、SUBSTITUTE
謝謝您!
作者:
准提部林
時間:
2019-1-1 09:44
回復
3#
jsc0518
=SUBSTITUTE(A2,"+",REPT(" ",9))
>> "3 L0000-29-ABC PP"
"+"全變成9個空白字元, (若字串長, 可改成99)
右取9個字元, 再trim去空白
作者:
jsc0518
時間:
2019-1-1 09:47
回復
4#
准提部林
准提部林
謝謝您的教導歐!
作者:
jsc0518
時間:
2019-1-2 18:19
回復
2#
准提部林
Dear 准提部林
若我要抓右邊開始發現有"+"號後面的字串
(含加號)
我自己是用下列語法
3+L0000-29-ABC+PP ---> +PP
="+"&TRIM(RIGHT(SUBSTITUTE(A2,"+",REPT(" ",9)),9))
是否有其他的方法?
作者:
准提部林
時間:
2019-1-2 18:38
本帖最後由 准提部林 於 2019-1-2 18:46 編輯
回復
6#
jsc0518
那是最簡單又有效率的方法,
也可試試這個
=VLOOKUP("+*",RIGHT(A2,ROW($1:$19)),1,) 陣列公式(三鍵輸入)
或/一般公式:
=MID(A2,-LOOKUP(,-FIND("+",A2,ROW($1:$39))),9)
作者:
jsc0518
時間:
2019-1-3 19:37
回復
7#
准提部林
准提部林
感謝您的回覆
請問一下,這一段語法的意思?
ROW($1:$19)),1,)
作者:
vvcvc
時間:
2019-1-12 16:47
回復 准提部林
准提部林
感謝您的回覆
請問一下,這一段語法的意思?
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需再加-,轉為正數
作者:
ML089
時間:
2019-1-13 09:17
回復
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...
作者:
jsc0518
時間:
2019-1-13 10:29
回復
10#
ML089
ML089 早安!
感謝您對公式用法上說明,讓我學習到很多。
Thanks
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)