標題:
[發問]
擷取部分字元
[打印本頁]
作者:
shootingstar
時間:
2013-4-3 11:38
標題:
擷取部分字元
如果我在A1欄有:學校地址:407 台中市西屯區文華路100號
我要如何在B1欄取出"407"、C1欄取"出台中市西屯區"
謝謝!
作者:
Bodhidharma
時間:
2013-4-3 12:50
回復
1#
shootingstar
基本上就是用mid函數,不過要看資料的格式
如果全部的格式都是"學校地址:xxx xxxxx區xxxxxxxxx"的話就可用
B1=mid(A1,6,3)
C1=mid(A1,10,6)
如果格式字數不一樣,或是想要抓的東西不一樣(郵遞區號是否都是三碼?區域要抓到鄉?鎮?區?),就必需另外設計
可參考
http://office.microsoft.com/zh-tw/excel-help/HA010102341.aspx
作者:
shootingstar
時間:
2013-4-3 15:47
回復
2#
Bodhidharma
謝謝Bodhidharma 的回答,我也是用MID函數取得我要的資訊,以下是我自己寫的函數,有點冗長,不過約8成以上可以達成目標
B1=MID(A1,FIND(":",A1)+1,3)
C1==MID(A1,MAX(IF(ISERR(FIND({"縣","市"},A1)),0,FIND({"縣","市"},A1)))-2,3)&MID(A1,MAX(IF(ISERR(FIND({"鄉","鎮","市","區","村"},A1)),0,FIND({"鄉","鎮","市","區","村"},A)))-2,3)
C1的函數幾乎可以達成我的需求,可是如果我的A1欄是只有"學校地址:"或是"學校地址:407 台中市文華路100號"就會出現#VALUE!的錯誤訊息,有法可解嗎?謝謝。
作者:
Bodhidharma
時間:
2013-4-4 01:03
回復 Bodhidharma
謝謝Bodhidharma 的回答,我也是用MID函數取得我要的資訊,以下是我自己寫的函 ...
shootingstar 發表於 2013-4-3 15:47
用你的公式試了一些地址:
學校地址:407 台中市西屯區文華路100號 407 台中市西屯區
學校地址:407 台中市文華路100號 407 台中市台中市
學校地址: #VALUE!
學校地址:123 桃園縣中壢市xx路xx號 123 中壢市中壢市
有幾個問題:
#VALUE!部分:
從「公式→評估值公式」中追蹤,可以看出因為「縣」和「市」都找不到,因此回傳0,0還要減2出現負值就會有問題,解決方法可以再加一個iserror:if(iserror(原公式),"",原公式)
note: excel2007後有iferror公式,可以用iferror(原公式,"")即可
「市」重複出現的問題:
因為有時候市是在前面(如:新北市xxx),有時候在後面(如:桃園縣中壢市)出現
因此有出現市的時候,公式就會出問題(重複找)
解決方法應該很多種
比方說
若"縣"存在,查鄉鎮市區村
若"市"存在,查鄉鎮區村
作者:
Hsieh
時間:
2013-4-4 10:51
回復
3#
shootingstar
試試附檔
[attach]14534[/attach]
作者:
shootingstar
時間:
2013-4-5 10:00
回復
5#
Hsieh
謝謝Hsieh的回覆,如果沒有B1郵遞區號這一欄,公式要如何修改?謝謝。
作者:
Hsieh
時間:
2013-4-5 15:16
回復
6#
shootingstar
通常公式中參照到的位址,直接將該參照公式取代即可
但是,因為公式長度限制會造成無法直接將公式帶入
這時就將該參照的公式寫成定義名稱來帶入即可
[attach]14542[/attach]
作者:
ML089
時間:
2013-4-8 15:54
回復
6#
shootingstar
取區域號碼
B1 =IF(COUNT(-MID(A1,7,1)),-LOOKUP(,-MID(A1,6,{1,2,3})),"")
取地址前段
C1 =SUBSTITUTE(MID(A1,6,-5-LOOKUP(,-FIND({"縣","鄉","鎮","市","區","村","里"},A1))),B1,)
作者:
Hsieh
時間:
2013-4-8 16:36
回復
8#
ML089
地址前綴字元不確定長度會出錯
[attach]14583[/attach]
作者:
ML089
時間:
2013-4-8 17:43
回復
9#
Hsieh
取郵遞區號以 ":" 為分界
=IF(COUNT(-MID(A2,FIND(":",A2)+1,1)),-LOOKUP(,-MID(A2,FIND(":",A2)+1,{1,2,3})),"")
取地址前段
參考 超版的公式 為佳
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)