如何使用SUBSTITUTE()获取一系列值?

假设有多个这样的值:

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

最初,我想我可以创build一个查找表来search“pa”,“tx”和“ny”,这样他们就可以变成“PA”,“TX”,“NY”。

理想情况下,我想写一个函数,将所有的上限值在一个新的列。 最初是这样的:

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

Q31:Q35是较低的状态范围,而R31:R35是较高的状态。 但是,这并不是我想要的方式。 有没有一种方法可以在没有硬编码的情况下replace小写字母状态? 我以为查找表会工作,但事实并非如此。

我想最终的结果是这样的:

 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") 

查找表应该工作,尝试使用vlookup。 你想从地址中取出两个正确的字符,并用它作为查找值来返回大写字母版本,就像这样(假设在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)) 

尝试一个数组公式。

在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 

在E2中input这个公式:

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

在公式栏中键入CTRL SHIFT和ENTER。 你会在这个公式中看到{}:

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

然后复制E3和E4中的公式。