如果您没有多种类型的汽车,您可以简单地使用 SUBSTITUTE,而不是使用 vlookup。作为
=SUBSTITUTE(A1, "TSX", "ACURA")
然后将其包装多次,每种可能性一次:
=SUBSTITUTE(SUBSTITUTE(A1, "TSX", "ACURA"),"S-CLASS", "MERCEDES"))
如果您有很多可能性,这将需要 2 个帮助列或 vba。让我知道是否是这种情况。基本上没有 vba,您需要在 1 列中搜索第一个术语,然后将第二个术语放在第二个公式中,然后用 vlookup 等效替换第一个术语,然后用 vlookup 等效替换第二个术语(使用上述替代)。
编辑
再次阅读 q 似乎有很多可能性,因此我们需要使用两个辅助列和区域公式来解决。 VBA 可能更好,但在我的手机上,所以不能错误测试任何东西,而且你可能不想要 vba。
这些帮助列的原理是找出文本中存在哪 2 辆车。一旦你知道哪两个存在,你可以像上面一样简单地替换它们。
我们将放入列 B 和 C 的公式的第一阶段(假设您的“vlookup text”位于 sheet2 的第 1 行到第 100 行的 A 和 B 列中)是:
=If(iserror(search($A1,sheet2!$A$1:$A100)),"",row(sheet2!$A$1:$A$100))
这是一个数组公式,适用于您指定范围内的每个单元格。要确认它,请按 CTRL + SHIFT + ENTER 而不是 ENTER。它为您提供了一系列结果,您需要将其合并为一个答案。因此在 B 列中,将其包装在 MIN 函数中。对于 C 列,将其包装在 Max 函数中。
所以现在 B 列显示第 1 个匹配项的行号,C 行显示第 2 个匹配项的行号。
所以现在在 D 列中,我们知道第一个匹配项的行号,第一个替换项,然后是匹配项和替换项。全部替换如下:
=Substitute(substitute(A1,INDEX(SHEET2!$A$1:$A$100, B1),INDEX(SHEET2!$B$1:$B$100, C1)),INDEX(SHEET2!$A$1:$A$100, C1),INDEX(SHEET2!$B$1:$B$100, B1)))
确保使用 CTRL SHIFT ENTER 确认,而不是直接输入。
抱歉,如果这不是 100% 格式化的;我在我的手机上,如果它导致问题,稍后会错误检查。如果您对它的工作原理有任何疑问,请告诉我。