使用excel

时间:2017-09-19 22:08:15

标签: arrays excel replace substitution

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

a,c,d,f,b

a,f,c

b,a,d

我想要它,所以我用1替换a,用2替换b等......

目前我的公式如下:

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

该公式效果很好,但有两个问题:

  1. 我有25个项目需要特定的替换,所以嵌套 替换语句太长了。

  2. 我希望能够轻松操纵取代的值 in - 比如改变vlookup表数组中的值 - 这样我就可以 编辑它,而不必涉及一个巨大的嵌套替代品 功能。理想情况下,我喜欢像这样的东西 =Substitute(A1,{B1,B2,B3,B4},{C1,C2,C3,C4})所以我可以更改B列和C列中的值,并让它影响公式。

  3. 用单一公式做任何事情?我的替代解决方案是插入另外25列,在其自己的列中的25个选项中的每一个上使用find函数,如果我的find函数超过0,则返回一个if语句返回一个单元格引用,然后在26日再次将所有内容连接在一起柱。我不想使用VBA选项,因为我已经运行了一堆宏,并且不希望增加混淆。

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

1 个答案:

答案 0 :(得分:1)

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

Col S Col T
A      1
B      2
C      3

= SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,S1,T1),S2,T2),S3,T3),S4,T4)

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