0

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

没那么难,我用了替代品,像这样:

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

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

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

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

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

它会变成1redred。

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

谢谢!

4

2 回答 2

2

试试这个

=SUBSTITUTE(SUBSTITUTE(E3,"Purple","2"),"Red","1")
于 2013-02-07T09:05:46.257 回答
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

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

于 2013-02-07T15:21:49.453 回答