我的一个列中有颜色字符串,如红色,紫色等。我想用相应的数字替换这些颜色。红色变为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。
我该如何解决这个问题?我想用相应的数字替换每个颜色字符串。
谢谢!
答案 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。我不确定正确的数组维分隔符,因为我的本地设置使用不同的分隔符,但在示例文件公式中工作正常。