检查文本列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))