使用表格在excel中替换或替换文本

时间:2017-07-26 18:58:26

标签: excel vba excel-vba excel-formula excel-2010

我想在excel中创建一个超级替代函数(如果有这样的话)。根据我的需要,嵌套是不够的,因为我的替换列表很长。

我想要做的是有一个带有两列的命名表,该函数用作查找潜在替换的函数。第一列包含原始文本,第二列包含替换文本。

Sample Data

如果我们看一下上面的例子,列R和S由我的表组成,列R作为我希望用S列中等效行条目替换的原始文本,如果在我的列表中找到的话。第V列中的我的数据是我想要处理的列表。我希望W列中的公式查看V列中的等效条目,并在表中查找文本中的任何匹配项。如果有匹配,那么我希望R列中的文本替换为S列中的文本。在某些情况下,可以有2个匹配,如LHR的顶部示例:JFK'理想情况下应该更换为“LON:NYC'

有很多方法可以使用VBA,但我想知道是否有一个Excel公式选项,因为我不知道从哪里开始VBA。

非常感谢您的帮助。

谢谢, NEHA

1 个答案:

答案 0 :(得分:1)

这将按照您的要求执行:

=SUBSTITUTE(SUBSTITUTE(V2,LEFT(V2,3),IFERROR(VLOOKUP(LEFT(V2,3),R:S,2,FALSE),LEFT(V2,3))),RIGHT(SUBSTITUTE(V2,LEFT(V2,3),IFERROR(VLOOKUP(LEFT(V2,3),R:S,2,FALSE),LEFT(V2,3))),3),IFERROR(VLOOKUP(RIGHT(SUBSTITUTE(V2,LEFT(V2,3),IFERROR(VLOOKUP(LEFT(V2,3),R:S,2,FALSE),LEFT(V2,3))),3),R:S,2,FALSE),RIGHT(SUBSTITUTE(V2,LEFT(V2,3),IFERROR(VLOOKUP(LEFT(V2,3),R:S,2,FALSE),LEFT(V2,3))),3)))

enter image description here