我有颜色字符串在我的专栏之一,喜欢红色,紫色等。 我想和相应的数字来替换那些颜色。 红色变为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。
我怎样才能解决这个问题呢? 我想替换每个颜色字符串带有对应的号码。
谢谢!
尝试这个
=SUBSTITUTE(SUBSTITUTE(E3,"Purple","2"),"Red","1")
请考虑以下更紧凑的解决方案(假设测试的细胞是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我不知道正确的阵列尺寸的分隔符,因为我的本地设置使用不同的,但在样本文件公式正常工作。