Excel:用公式中的数字替换字符串?

时间:2013-02-07 08:57:14

标签: excel excel-2010

我的一个列中有颜色字符串,如红色,紫色等。我想用相应的数字替换这些颜色。红色变为1,紫色变为2,依此类推。

这不是那么难,我用替补,就像这样:

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

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

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

这导致我的列中的值看起来像1red,我添加的每个& SUBSTITUTE附加了该行的颜色。如果我添加了另一种颜色,就像那样

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

它将成为1redred。

我该如何解决这个问题?我想用相应的数字替换每个颜色字符串。

谢谢!

2 个答案:

答案 0 :(得分:2)

试试这个

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

答案 1 :(得分:1)

请考虑以下更紧凑的解决方案(假设测试的单元格为A2):

  • 使用MATCH:如果您需要返回序列号,如1,2,3 ...... - 此公式将完成此任务:

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

您也可以为返回值添加乘数/常数。按字符串顺序排序等于返回的数字。

  • 使用VLOOKUP:如果您需要一些已定义的返回值集 - 将它们定义为2-dim数组常量:

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

对于此示例10,将返回20和30。

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

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

P.S。我不确定正确的数组维分隔符,因为我的本地设置使用不同的分隔符,但在示例文件公式中工作正常。