检查文本列A中的字符串,返回B列中的另一个字符串 - Excel

时间:2016-10-14 13:04:13

标签: excel lookup

我正在尝试在A列中查找3个字符串(蓝色,红色,绿色)中的一个。在A栏中我有:

  

第1行:“罗伯特有蓝色短裤”

     

第二行:“玛丽亚穿红裙子”

     

第3行:“约翰有一辆绿色汽车”

每当我在A列中找到这3个单词中的一个时,我想用找到的实例(绿色,红色,蓝色)填充B列。

A列中总会有这三个单词中的一个,从不多于一个,单词的位置可以是字符串中的任何位置。

我知道如何将它放在Python或SQL中,但我正在努力使用Excel。

如果他们过去使用过这个解决方案,那么任何人都可以共享解决方案吗?

1 个答案:

答案 0 :(得分:3)

您可以使用此数组公式:

=INDEX({"Red","Blue","Green"},MATCH(TRUE,ISNUMBER(SEARCH({" Red "," Blue "," Green "}," " & A1 & " ")),0))

作为数组公式,必须在退出编辑模式时使用Ctrl-Shift-Enter确认。如果操作正确,那么Excel会将{}放在公式周围。

enter image description here

作为说明:

您也可以使用范围参考替换{"Red","Blue","Green"}。因此,如果三个单词在D1:D3中,则公式为:

=INDEX($D$1:$D$3,MATCH(TRUE,ISNUMBER(SEARCH(" " & $D$1:$D$3 & " "," " & A1 & " ")),0))