請問如何將A欄只要有包含中文數字(無論縣市路段巷弄號樓)全轉換成B欄阿拉伯數字,但要注意
1.像B5、B10、B11可能一個地址會有2個以上中文數字,全都要轉換。
2.像B7、B13是連續數字,就不能以單數字轉換,例如7 10 8,而是要轉換為78。
我有在F:G欄設數字對照,但不確定該怎麼套用,或是根本不需要對照欄,以上求解~~~
其實我覺得這麼做沒有什麼太大意義
而且也不會解決你根本的問題
回到問題本身
如果只是要轉一到九十九
的話
VBA 我用笨方式寫好了
執行結果如下
1.執行前
2.執行後
註:最右邊那個 MATCH 是手動加上去的公式
VBA 沒有寫這段
我會建議你。巷弄號樓轉換就好。
路街的不要換。
如果路街的也想換。
我倒是建議表對應處理更換會比較好。
浩大~~~其實我的用意主要是為了比對資料使用。因為資料有地址需與不同資料來源的地址比對,但由於各個資料來源的正確性都不太一致,尤其人工輸入的資料更亂,所以才會想說既然如此不如全部轉換成數字,比對會比較簡單一點。還是浩大有更好的方法或建議?
如果只是單純比對的話。
我早期的做法可以給你試試看。
區段性比對查找。所由的區段性比對。
例:要找「五福十一路」
那我會先將其區分拆解為
「五福」「5福」+
「11路」「十一路」「一一路」「一十一路」(就是有這樣的混蛋打這樣)
再個別搜尋兩組條件相加有大於2的就行。
當然了,這是區段性比對才可以這樣幹。
如果是全句比對處理的話。
一般我會將阿拉伯數字先用正則解析出來。(因為純英數分離會比較容易)
再將其數字轉換成國字後再生成出來。然後再比對。
但並不會去改原來的文字。只是在比對時經由正則公式處理再後比對。
基本以上兩種方發,都是不更換原來的地址為原則。
而是採用比對是統一化處理後再做比對。
浩大~其實我原本是想用我設好的F:G由大至小比對,比對相符則取代成數字,但我不知道怎麼保留原字串單取代中間數字,尤其會遇到2個以上數字這種不規則狀況,我才會想破頭只好上網求助醬~~