在单元格中查找某个文本并在另一个单元格中写入

Ras*_*ich 1 excel excel-formula

我有一个单元格A1有下面的句子"颜色是橙色",我想搜索这句话,找到它是否有橙色字,如果是,则在单元格B1中写入橙色,如果没有则搜索黑色,如果是,则写入黑色,如果找不到绿色等等.我必须搜索10种不同的颜色.我需要一个简单的excel公式而不是VBA.

Ron*_*eld 5

就像是:

=IFERROR(CHOOSE(MATCH(TRUE,ISNUMBER(SEARCH({"red","orange","black","yellow"},A1)),0),"red","orange","black","yellow"),"")
Run Code Online (Sandbox Code Playgroud)

请注意SEARCH函数中的数组常量,以及CHOOSE函数的匹配选项

使用LOOKUP的第二种方法也可以使用,并且可以使用两个数组常量,这意味着您可以轻松列出一系列单元格中的颜色并使用公式中的范围引用:

=IFERROR(LOOKUP(2,1/ISNUMBER(SEARCH({"red","orange","black","yellow"},A1)),{"red","orange","black","yellow"}),"")
Run Code Online (Sandbox Code Playgroud)

或者,使用范围参考:

=IFERROR(LOOKUP(2,1/ISNUMBER(SEARCH($I$1:$I$10,A1)),$I$1:$I$10),"")
Run Code Online (Sandbox Code Playgroud)

请注意,如果使用此技术,I1:I10中不能有空白单元格.我假设您正在检查的每个单元格中只列出一种颜色.

如果A1中可能有多种颜色,使用第一个(... CHOOSE(MATCH ...)公式,按优先级顺序列出颜色;使用最后一个(... LOOKUP(...)公式,列表颜色按优先顺序相反.