close
標題:

excel 擷取數字

發問:

 

此文章來自奇摩知識+如有不便請留言告知

台中市 中區 崇德路一段517號 台中市 中區 大墩六街284號 台中市 中區 民權路586號 台中市 中區 中清路106之20號 我想要分成兩欄 B欄是路名 崇德路一段 大墩六街 民權路 中清路 C欄是號碼 517 284 586 106 麻煩各位高手,謝謝 更新: 回應夏日高手: 縣市鄉鎮區都無空格的話,如下: 台中縣大里市東榮路369號 台中縣大肚鄉中和村中山路111號 南投縣竹山鎮祖師街79號1樓 台南市富北街7號之一1樓 台南市東區中華東路三段383號1. 2F 台中市西區自治街155號12樓 台北縣板橋市文化路二段182巷1弄2號3樓 [擷取成兩欄] B欄是道路名 東榮路 中山路 祖師街 富北街 中華東路三段 自治街 文化路二段 C欄是門牌號碼 369 111 79 7 383 155 2 更新 2: 夏日高手: 你的方法真的很好用!! 謝謝你 我想再請問一個問題,如下: 04-27085577 我只要4就好了,我函數一直試不出來,請教我,謝謝你

最佳解答:

以上面的資料應該有7成機率做的出來,但是我想以版主的資料庫來說不一定全正確,在於地區縣市後面是否都有空一個,xx區後又是一個空格,建議是上傳各10筆資料庫都有的情況來做範本,不然這一題會一直重修。 太複雜的話我也沒辦法了。 2008-11-29 10:40:00 補充: 圖片參考:http://xs433.xs.to/xs433/08485/ppp975.png D1輔助欄,雖然可以跟E1合在一起,但就這樣子好了。 =MID(A1,4,(SEARCHB("?",A1)-6)/2) E1 =MID(D1,MAX(IF(ISERR(FIND({"鄉","鎮","市","區","村"},D1)),0,FIND({"鄉","鎮","市","區","村"},D1)))+1,15) F1 =-LOOKUP(1,-RIGHT(MID(A1,1,FIND("號",A1)-1),ROW($1:$9))) 下載點 http://www.FunP.Net/473541 下面是不輔助合起來的公式~一字長 =MID(MID(A1,4,(SEARCHB("?",A1)-6)/2),MAX(IF(ISERR(FIND({"鄉","鎮","市","區","村"},MID(A1,4,(SEARCHB("?",A1)-6)/2))),0,FIND({"鄉","鎮","市","區","村"},MID(A1,4,(SEARCHB("?",A1)-6)/2))))+1,15) 2008-11-29 10:53:18 補充: 以上公式應該能解決版主9成以上的資料庫問題了,總是會有一些特例,請版主自行手動解決了!! 2008-11-29 12:14:39 補充: 的確可以省略1,PO上來之後看了一下,但都上傳了就沒在修,不輔助公式也可以在修,但最近想花點時間在VBA所以就不想太多了,能用就好。 2008-11-30 14:38:03 補充: 假設資料在A1 B1公式 =--MID(A1,2,1) 2008-11-30 21:27:03 補充: 不輔助的公式小修一下,還有問題的話點我的大頭!! =MID(LEFT(A1,SEARCHB("?",A1)/2),MAX(IF(ISERR(FIND({"鄉","鎮","市","區","村"},A1)),0,FIND({"鄉","鎮","市","區","村"},A1)))+1,15) 2008-11-30 22:54:05 補充: 填入郵遞區號的動作 A欄 台中縣大里市東榮路369號 台中縣大肚鄉中和村中山路111號 南投縣竹山鎮祖師街79號1樓 台南市富北街7號之一1樓 台南市東區中華東路三段383號1. 2F 台中市西區自治街155號12樓 台北縣板橋市文化路二段182巷1弄2號3樓 2008-11-30 22:54:16 補充: B欄 412 432 557 第四列因為只知道街名,可能無法用函數判別 701 403 220 關於這個問題只能建一個總參照用vlookup來實現,但是我想差不多只能套中個7~8成吧! 總參照就是列出所有的資料如台北市的話 2008-11-30 22:56:54 補充: A欄 台北市中正區 台北市萬華區 B欄 100 XXX 一直這樣子下去 大致是這樣子的但要先從資料庫建一輔助欄取出區域名稱,因我沒時間幫想這問題,也沒有所有的郵遞區號表,無法幫上忙,建議是版主另開一問題請人幫解,問題不會太困難。

其他解答:

取號方法高明 可把1也省略 =-LOOKUP(,-RIGHT(MID(A1,1,FIND("號",A1)-1),ROW($1:$9))) 本來的想法 =LOOKUP(9E+307,--RIGHT(MID(A1,1,FIND("號",A1)-1),ROW($1:$9))) 用「9E+307」字元數比較長 ^^ 2008-11-29 11:34:23 補充: 台中縣太平市東村路188巷1號 這個住址就不適用,應該很難整理出通解|||||這一題變數太多~很難準確作出來7C4150FCDCEDD023
arrow
arrow

    yffuhxy 發表在 痞客邦 留言(0) 人氣()