請問大神們如何在不規格字串當中抓取郵遞區號?

星幻 wrote:
=IFERROR(MID...(恕刪)


謝謝大大!!!
這邊後來有用定義每個縣市然後抓取前五碼
這個方法等等也來試試看,多學一招了!!!
縣市名稱表列之後
直接往前抓就好
基本上程式不難寫
jafe wrote:
謝謝大大!!!
這邊後來有用定義每個縣市然後抓取前五碼
這個方法等等也來試試看,多學一招了!!!


你謝錯人了,我只是拿mk2-paul的公式來分解成相容於非新版的Office而已,公式本身是mk2-paul寫的,你應該感謝的是他。

guiltyboa wrote:
縣市名稱表列之後
直接往前抓就好
基本上程式不難寫


若是用程式的話,這很簡單,但偏偏它是Excel…

在陣列比對上,Excel一直比較沒辦法有效率的作到。(不運行VBA的情況下)
mk2-paul wrote:
=IFERROR(MID...(恕刪)

謝謝 大大指導! 學習了
星幻 wrote:
若是用程式的話,這很簡單,但偏偏它是Excel…
在陣列比對上,Excel一直比較沒辦法有效率的作到。(不運行VBA的情況下)



guiltyboa wrote:
縣市名稱表列之後
直接往前抓就好
基本上程式不難寫


使用regexp設定好Pattern,可省略列表、陣列比對,簡易vba範例,請參考






'郵遞區號
Function get_number(S As String)
Application.Volatile
Dim Find_Num
With CreateObject("VBScript.RegExp")
.Pattern = "\d+(?=\D+[縣市])"
.Global = True
Set Find_Num = .Execute(S)
End With
If Find_Num.Count = 0 Then get_number = "" Else get_number = Find_Num(0)
End Function







'地址
………
………
………
.Pattern = "\D+[縣市].*[樓號fF]"
………
………
………
一般寫程式,我會用空白去區分字串,

比對區號,如果住址有全顯示,

還可以做二次驗證。

(只是說我的情形,不是要接)
列印程式,非急件一千多元可以完成,
通常幫我外快客戶寫都這個價,
到場費用另計。
不是VBA程式。
等那一天,利益不是人的主要目的,那麼我才會被別人說服....................
heartgame wrote:
一般寫程式,我會用空(恕刪)

謝謝 大大提供相關資訊!
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!