返回列表 上一主題 發帖

字元取代

字元取代

請教以下如何函數判斷及取代字元.
字串 145001STM, 字串中"00" (字串的第4&5碼)用"-"取代, -更改後為 145-1STM
同時判斷, 如果字串為145010STM , 字串中"0"(字串的第4碼)用"-"取代, -更改後為 145-10STM
感謝.
fangac

=REPLACE(A1,4,3-LEN(MID(A1,4,2)*10),"-")
=REPLACE(A1,4,3,TEXT(MID(A1,4,3),"-#"))

145001STM > 145-1STM
145012STM > 145-12STM
145243STM > 145-243STM

TOP

回復 2# 准提部林

謝謝版主.
因為會遇到以下的狀況,
145001STM > 145-1STM
145012STM > 145-12STM
210B001STM > 210-1STM
218-xxxx         >     不變 218-xxxx
不在以上範圍的> 不變 12345xxx
所以把函數串在一起(如下),看起來有點卡卡, 不過答案還是出來了.
=IF(LEFT(F2,4)="210B",(REPLACE(F2,4,3,TEXT(MID(F2,3,1),"-#"))),(IF(LEFT($F2,3)="218",$F2,(IF(ISNUMBER(MID($F2,4,2)*10),(REPLACE($F2,4,3-LEN(MID($F2,4,2)*10),"-")),$F2)))))
感謝你.
fangac

TOP

=LEFT(A1,3)&SUBSTITUTE(SUBSTITUTE(MID(A1,4,2),"00",0),0,"-")&MID(A1,6,99)
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

=LEFT(A1,3)&"-"&MID(A1,MATCH(,0/MID(MID(A1,4,9),ROW($1:$9),1),)+3,9)

TOP

回復 3# fangsc

=LEFT(A1,3)&"-"&MID(A1,5+MAX((MID(A1,5,{1,2,3})=REPT(0,{1,2,3}))*{1,2,3}),99)
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

        靜思自在 : 真正的愛心,是照顧好自己的這顆心。
返回列表 上一主題