2016-12-13 29 views
0

假設有像這樣多個值:如何使用SUBSTITUTE()獲取一系列值?

Address 
123 Fake Street, Philadelphia, pa 
456 Real Street, Houston, tx 
789 Soho Street, New York, ny 

本來,我以爲我可以創建一個查找表來搜索「啪」的一聲,「TX」和「NY」,使他們得到上'd:「PA」,「TX」,「NY」。

理想情況下,我想編寫一個函數,該函數將在新列中包含所有上限值。本來,這樣的事情:

=substitute(O33,Q31:Q35,R31:R35) 

Q31:Q35是較低的國家範圍,並R31:R35是上部的狀態。但是,這並不符合我的想法。有沒有辦法在沒有硬編碼的情況下替換小寫字母狀態?我認爲查找表可以工作,但事實並非如此。

我想最終的結果是這樣的:

Address          New Address 
123 Fake Street, Philadelphia, pa   123 Fake Street, Philadelphia, PA 
456 Real Street, Houston, tx    456 Real Street, Houston, TX 
789 Soho Street, New York, ny    789 Soho Street, New York, NY 

沒有做這個新地址的每一行:

substitute(A2, "pa", "PA") 
substitute(A3, "tx", "TX") 
substitute(A4, "ny", "NY") 
+0

我試過你的配方,它工作得很好,這個配方有什麼問題? – bzimor

回答

1

的查找表應該工作,請嘗試使用VLOOKUP。你想從地址取2點正確的字符並使用它作爲查找值返回大寫版本,大致是這樣的(假設在A1地址):

new value = left(A1, len(A1)-2) & vlookup(right(A1, 2), Q31:R35, 2, false) 

也如果沒有複雜的映射,即你總是隻是大寫最後2個字符,你可以這樣做:

new value = left(A1, len(A1)-2) & upper(right(A1, 2)) 
+0

這個問題看起來可能只使用SUBSTITUTE()嗎? – Leon

+0

你可能會找到一種方法,當我手邊有簡單的問題時,我通常不會尋找解決問題的難題;) – lllpratll

0

嘗試一個數組公式。

在A2

直到A4你有你的地址

123 Fake Street, Philadelphia, pa 
456 Real Street, Houston, tx 
789 Soho Street, New York, ny 
在Q31

:Q33和R31:R33您有:

pa PA 
tx TX 
ny NY 

在E,輸入公式:

=SUBSTITUTE(A2:A4;Q31:Q33;R31:R33) 

在公式欄中鍵入CTRL SHIFT並回車。 你會看到{}這樣的公式:

{=SUBSTITUTE(A2:A4;Q31:Q33;R31:R33)} 

然後在E3和E4將公式複製。

相關問題