Excel中:在公式中替换为数字的字符串?(Excel: Replace strings with

2019-11-01 12:55发布

我有颜色字符串在我的专栏之一,喜欢红色,紫色等。 我想和相应的数字来替换那些颜色。 红色变为1,紫色变为2,依此类推。

那不是很难,我用替身,就像这样:

SUBSTITUTE(E3;"red";"1")

现在的问题IST一些列有2种或更多的颜色,比如“红紫色”,所以我尝试使用:

SUBSTITUTE(E3;"red";"1")&SUBSTITUTE(E3;"purple";"2")

这导致在我的专栏,看起来像1red的值,所以是从连接每个与替代我补充该行的颜色。 如果我添加另一种颜色,像

SUBSTITUTE(E3;"red";"1")&SUBSTITUTE(E3;"purple";"2")&SUBSTITUTE(E3;"green";"3")

它会成为1redred。

我怎样才能解决这个问题呢? 我想替换每个颜色字符串带有对应的号码。

谢谢!

Answer 1:

尝试这个

=SUBSTITUTE(SUBSTITUTE(E3,"Purple","2"),"Red","1")


Answer 2:

请考虑以下更紧凑的解决方案(假设测试的细胞是A2 ):

  • 使用MATCH :如果你需要返回排序号码,如1,2,3 ... -这个公式将做的工作:

     =IFERROR(MATCH(A2,{"Red","Green","Blue"},0),"UNKNOWN COLOR") 

您可以添加一个乘法器/定为返回的值也是如此。 在字符串中的序列顺序等于返回的数字。

  • 使用VLOOKUP :如果你需要一些定义集中返回的值-在2维数组常量定义它们:

     =IFERROR(VLOOKUP(A2,{"Red",10;"Green",20;"Blue",30},2,0),"UNKNOWN COLOR") 

对于此实施例10,20和30将被返回。

这两个公式中包含错误处理未指定的颜色。

示例文件共享: https://www.dropbox.com/s/77aj1vl6c5gek5c/ColorsLookup.xlsx

PS我不知道正确的阵列尺寸的分隔符,因为我的本地设置使用不同的,但在样本文件公式正常工作。



文章来源: Excel: Replace strings with numbers in a formula?