2015-07-10 74 views
0

我目前正在解析地址的過程。我唯一的要求是每個地址單元(地址1,地址2,地址3等)中不應多於40個字符。問題是這些地址都有不同的格式,我想防止在中間切斷文字。例如一個地址(G柱): Naaaaaaaaaaaaaaaaaaaaaaaame,342 Streeeeeet,城市,452342郵編,國家 That's多遠我得到:Excel解析地址字符限制

Adress3=IF(LEN(G3)>40;RIGHT(G3;LEN(G3)-FIND("*";SUBSTITUTE(G3;" ";"*";LEN(G3)-LEN(SUBSTITUTE(G3;" ";"")))));"") 

Adress1==IF(I3<>""; IF(RIGHT(IF(I3<>"";TRIM(SUBSTITUTE(G3; I3; "")); G3);1)=",";LEFT(IF(I3<>"";TRIM(SUBSTITUTE(G3; I3; "")); G3);LEN(IF(I3<>"";TRIM(SUBSTITUTE(G3; I3; "")); G3))-1);IF(I3<>"";TRIM(SUBSTITUTE(G3; I3; "")); G3)); IF(I3<>"";TRIM(SUBSTITUTE(G3; I3; "")); G3)) 

這工作,但我需要找到一種方法,執行此操作多次(因爲一些地址是很長),使我得到這樣的:

地址1:40個字符

地址2:40個字符

地址3:剩餘字符

有沒有辦法解決這個問題,而不使用VBA? 我希望我有道理,並會感謝任何建議!

+1

你能舉一個你想要的輸入和輸出的例子嗎?不清楚你的地址是否在一個單元格中? –

+0

所有地址在一列中都有獨立的單元格(G)。 輸入:Naaaaaaaaaaaaaaaaaaaaaaaame,342 Streeeeeet,城市,452342郵政編碼,國家 –

+0

輸出:地址1:Naaaaaaaaaaaaaaaaaaaaaaaame,342 地址2:Streeeeeet,城市,452342郵編, 地址3:國家 不應有在每個地址超過40個字符cell 感謝您的幫助! –

回答

0

這三個漸進式似乎適用於您的單個示例。

Parse and Truncate Address with worksheet functions

在G5的公式:K5是:

=TRIM(LEFT(SUBSTITUTE(G3, " ", REPT(" ", 99), 40-LEN(SUBSTITUTE(LEFT(G3, 40), " ", ""))), 40)) 
=IFERROR(TRIM(LEFT(SUBSTITUTE(MID(G3, LEN(G5&REPT(" ", 1)), 40), " ", REPT(" ", 99), 40-LEN(SUBSTITUTE(LEFT(MID(G3, LEN(G5&REPT(" ", 1)), 40), 40), " ", ""))), 40)), "") 
=IFERROR(TRIM(LEFT(SUBSTITUTE(MID(G3, LEN(G5&H5&REPT(" ", 2)), 40), " ", REPT(" ", 99), 40-LEN(SUBSTITUTE(LEFT(MID(G3, LEN(G5&H5&REPT(" ", 2)), 40), 40), " ", ""))), 40)), "") 
=IFERROR(TRIM(LEFT(SUBSTITUTE(MID(G3, LEN(G5&H5&I5&REPT(" ", 3)), 40), " ", REPT(" ", 99), 40-LEN(SUBSTITUTE(LEFT(MID(G3, LEN(G5&H5&I5&REPT(" ", 3)), 40), 40), " ", ""))), 40)), "") 
=IFERROR(TRIM(LEFT(SUBSTITUTE(MID(G3, LEN(G5&H5&I5&J5&REPT(" ", 4)), 40), " ", REPT(" ", 99), 40-LEN(SUBSTITUTE(LEFT(MID(G3, LEN(G5&H5&I5&J5&REPT(" ", 4)), 40), 40), " ", ""))), 40)), "") 

注意,在H5公式依賴於所述結果在G5和I5式依賴於H5和結果G5。

不知道你可能想用H5中的尾隨逗號做什麼。

+0

非常感謝,我會嘗試一下! –

+0

如果地址不超過120個字符,該公式的工作原理非常奇妙。我如何才能找到一個公式地址4(地址5)的剩餘字符(現在簡單地切斷)? –

+0

下一個會使用'MID(G3,LEN(G5&「」&H5&I5),40)',下一個會使用'MID(G3,LEN(G5&「,&H5&I5&J5) 。每一個開始的位置等於所有以前的作品的長度加上每個作品的空間。 – Jeeped