Board logo

標題: [發問] 字串的分割 [打印本頁]

作者: callinner    時間: 2011-11-7 08:50     標題: 字串的分割

我有一筆資料類似下面的資料
D10026J
X12037L
CF15020R
W10J20036K
WH13526R5
JR15037KA
S21Q20024KD

這些資料的規則就是(代碼1)11122(代碼2)
兩組代碼中間夾著五個數字
我需要把這些資料分成「代碼1,111,22,代碼2」這四個儲存格
我的函數寫法如下
代碼1:{=LEFT(我的資料,MATCH(TRUE,ISNUMBER(1*MID(我的資料,ROW($1:$10),1)),0)-1)}
111:{=MID(我的資料,MATCH(TRUE,ISNUMBER(1*MID(我的資料,ROW($1:$10),1)),0),3)}
22:{=MID(我的資料,MATCH(TRUE,ISNUMBER(1*MID(我的資料,ROW($1:$10),1)),0)+3,2)}
代碼2:{=MID(我的資料,MATCH(TRUE,ISNUMBER(1*MID(我的資料,ROW($1:$10),1)),0)+5,4)}
這個寫法可以適用於大部份的資料
但遇到如S21Q20024KD的資料時代碼1只會讀到S,代碼2只會讀到024K
跟我所要的資料不符合,代碼1=S21Q,代碼2=KD
針對這幾筆較特殊的資料,函數部份要怎樣修改比較好?
作者: ANGELA    時間: 2011-11-7 10:13

定義名稱AA
AA=MATCH(1=1,ISNUMBER(--MID(Sheet1!$A1,ROW(Sheet1!$1:$9),5)),)
B1=LEFT(A1,AA-1)
C1=MID(A1,AA,3)
D1=MID(A1,AA+3,2)
E1=MID(A1,AA+5,9)
已知中間有連續5個數字,找出它開始的位置,即是AA.
作者: callinner    時間: 2011-11-7 17:23

本帖最後由 callinner 於 2011-11-7 17:27 編輯

回復 2# ANGELA

解決了
這個寫法比我原本的簡單多了
又上了一課,感謝^^

可以再順便請問一下
--MID(工作表1!$A1,ROW($1:$10),5)
中的--是什麼意思?
感謝^^
作者: binargoo    時間: 2011-11-7 19:22

回復 3# callinner


   
   
http://forum.twbts.com/thread-4980-1-2.html





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)