检查文本列A中的string,返回列B中的另一个string – Excel

我试图在列A中查找3个string(蓝色,红色,绿色)之一。在AI列中有:

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

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

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

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

A列中的这三个单词总是会有一个,不能超过一个,单词的位置可以在string中的任何位置。

我知道如何把它放在Python或SQL,但我挣扎与Excel。

任何人都可以共享一个解决scheme,如果他们过去使用这个?

你可以使用这个数组公式:

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

作为一个数组公式,在退出编辑模式时,必须用Ctrl-Shift-Enter确认。 如果正确完成,则Excel将在公式周围放置{}

在这里输入图像描述

作为一个说明:

您也可以用范围参考replace{"Red","Blue","Green"} 。 所以如果这三个词在D1:D3中,那么公式就是:

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