使用 excel 中的单元格引用替换数组

Substitute array using cell references in excel

我有一组单元格,其中包含我想要 运行 替代函数的项目列表,数据类型如下所示:

a,c,d,f,b

a,f,c

b,a,d

我想要它,以便我将 a 替换为 1,将 b 替换为 2,等等...

目前我的公式如下所示:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"a",1),"b",2),"c",3),"d",4)

公式很好用,但有两个问题:

  1. 我有 25 个项目需要特定替换,因此嵌套 替换语句太长。

  2. 我希望能够轻松操纵要替换的值 in - 就像更改 vlookup table 数组中的值 - 这样我就可以 编辑它而不必费力地通过一个巨大的嵌套替代品 功能。所以理想情况下我想要一些像 =Substitute(A1,{B1,B2,B3,B4},{C1,C2,C3,C4}) 这样我就可以更改 B 列和 C 列中的值,并使其影响公式。

有什么方法可以用一个公式来做到这一点?我的替代解决方案是插入另外 25 列,在其自己的列中的 25 个选项中的每一个上使用查找函数,如果我的查找函数超过 0,则有一个 if 语句 returns 单元格引用,然后将所有内容连接在一起再次出现在第 26 列。我宁愿不使用 VBA 选项,因为我已经 运行 设置了一堆宏并且不想增加混乱。

P.S。请注意,a,b,c,d, 1,2,3,4 数据只是代表性的,实际数据是更长的字符串。

将数据集存储在某些 excel 列中

Col S Col T
A      1
B      2
C      3

=替代品(替代品(替代品(替代品(A1,S1,T1),S2,T2),S3,T3),S4,T4)

这将更好地编辑并增加可读性。 替换的替代方法是创建一个宏来循环遍历字符串并替换