もしかしたら一括処理や、標準関数をご希望だったかもしれませんが、
ユーザ定義関数ということでVBAの例です。
下記を標準モジュールに置き、A1 に処理データがあるとした
B1 =SplitAddress($A1,1)
C1 =SplitAddress($A1,2)
として、どうでしょうか。
Option Explicit Function SplitAddress(adr, pos) SplitAddress = "" Dim sPos As Long sPos = InStr(adr, "区") If sPos > 0 Then If pos = 1 Then SplitAddress = Left(adr, sPos) If pos = 2 Then SplitAddress = Mid(adr, sPos + 1) Exit Function End If sPos = InStr(2, adr, "市") If sPos > 0 Then If pos = 1 Then SplitAddress = Left(adr, sPos) If pos = 2 Then SplitAddress = Mid(adr, sPos + 1) Exit Function End If sPos = InStr(2, adr, "郡") If sPos > 0 Then sPos = InStr(sPos + 1, adr, "町") If sPos > 0 Then If pos = 1 Then SplitAddress = Left(adr, sPos) If pos = 2 Then SplitAddress = Mid(adr, sPos + 1) Exit Function End If sPos = InStr(sPos + 1, adr, "村") If sPos > 0 Then If pos = 1 Then SplitAddress = Left(adr, sPos) If pos = 2 Then SplitAddress = Mid(adr, sPos + 1) Exit Function End If End If If pos = 1 Then SplitAddress = adr End Function