excel function 將地址內cut出人名

2009-08-31 5:29 am
請問點樣用excel function將cell內既地址cut 部份出黎?
例如:
Chan Ah Kam
33/F, Grand Building, Catholic Centre,
15-18 Connaught Road,
Central,
Hong Kong

地址分行,只要第一行"Chan Ah Kam"或者只要第四行同第五行"Central, ""Hong Kong"
更新1:

多謝兩位解答,巨集我更加不明白,因為我還要稍作修改,由另一檔案提取地址,所以還是用function方便

回答 (3)

2009-09-03 7:03 am
✔ 最佳答案
發問的表達能力有問題
原表資料有多少組, 及在那裡?
在那裡顯示答案?
要求的答案是什麼?

2009-09-01 23:21:23 補充:
請試以下公式:
B1 =LEFT(A1,FIND(CHAR(10),A1)-1)
C1 =TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",999),LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10),))-1),999,99))
將B1:C1下拉
參考檔案: http://www.FunP.Net/654449

2009-09-02 10:27:19 補充:
C1 公式, 先用兩個Len函數找出隔行符的總數, 如5行, 即有4個隔行符CHAR(10), 再減一, 即3
再用其他函數擷取第3個隔行符開始至尾的內容, 故永遠都是最後兩行

2009-09-02 23:03:31 補充:
已將意見區C1的公式優化, 稍為簡短
假設A欄是地址, 每格多行
B1=LEFT(A1,FIND(CHAR(10),A1)-1)
C1=SUBSTITUTE(TRIM(RIGHT(SUBSTITUTE(A1,CHAR(10),REPT(" ",999)),2000)),REPT(" ",999)," ")
將B1:C1 下拉
如用vba更加高效, 就算A欄有過千組地址, 亦可秒內解決(按一下制便可執行巨集), 又無需做選擇性貼上 值, 以下是我寫的vba代碼
Sub splitx()
Dim ar()
r = [a65536].End(xlUp).Row
ReDim Preserve ar(1 To r, 1 To 2)
For i = 1 To r
ii = Replace(Cells(i, 1), Chr(10), Space(999))
ar(i, 1) = Trim(Left(ii, 999))
ar(i, 2) = Replace(Trim(Right(ii, 2000)), Space(999), " ")
Next
[b1].Resize(r, 2) = ar
End Sub
參考檔案: http://www.funp.net/754577

2009-09-02 6:33 pm
假設你的data 在A1, A2, A3, ...
下面的 MACRO 可以解答你的問題:
Sub Macro1()
'
'
'
ro = 1

rep:

x = Cells(ro, 1)

If x = "" Or Len(x) < 1 Then End

j = 1
b(1) = 1


For i = 1 To Len(x)

a = Asc(Mid(x, i, 1))

If a < 32 Then
j = j + 1
b(j) = i
End If

Next i

Cells(ro, 2) = Mid(x, b(1), b(2) - b(1))
Cells(ro, 3) = Mid(x, b(j - 2), b(j - 1) - b(j - 2))



If Len(x) <> b(j) Then
Cells(ro, 3) = Mid(x, b(j - 1), b(j) - b(j - 1))
Cells(ro, 4) = Right(x, Len(x) - b(j))

Else
Cells(ro, 3) = Mid(x, b(j - 2), b(j - 1) - b(j - 2))
Cells(ro, 4) = Mid(x, b(j - 1), b(j) - b(j - 1))
End If

ro = ro + 1
GoTo rep

End Sub

所需的資料會 EXTRACT 在column B, C 和 D.
2009-09-01 11:53 am
原表有15組,即15個地址,由A1至A15
答案顯示在B1至B15(地址第一行)及C1至C15(地址最後兩行,不一定是第四第五行,因為有些地址會多於五行)

謝謝

2009-09-02 04:37:01 補充:
好惦呀,多謝你,幫左我好大忙
我睇唔明C1,點解result係最後兩行,而唔係最後三行或者一行?

2009-09-02 18:54:31 補充:
大概明白,多謝指敎,你要唔要加返個答案落回答?

2009-09-03 01:35:28 補充:
原來vba真的更好用,更能達到我要的效果,只可惜我看不懂,謝謝


收錄日期: 2021-04-19 22:39:37
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20090830000051KK02107

檢視 Wayback Machine 備份