我见过这个公式,手动添加值并返回值很好,但维护起来很费力:
=IFS(ISNUMBER(SEARCH("Hello",[@Column1])),"Welcome",(ISNUMBER(SEARCH("Hi",[@Column1]))),"Welcome",TRUE,"")
但我想要的是使其更易于维护,使用搜索词列表和表格中的预期文本结果,例如
搜索和结果标准表
搜索 | 返回 |
---|---|
猫 | 是的 |
人类 | 没有 |
狗 | 是的 |
宝贝 | 没有 |
要搜索的文本和预期返回值 - 将从搜索列表表值中查找任何值并填写上面返回列表中的值,例如
可搜索文本 | 退货 |
---|---|
拉布拉多犬 | 是的 |
澳大利亚人 | 没有 |
拉布拉多猫 | 是的 |
奥地利宝宝 | 没有 |
拉布拉多狗男孩 | 是的 |
抱歉这个例子很糟糕 谢谢 院长
见上文
=IFS(ISNUMBER(SEARCH("Hello",[@Column1])),"Welcome",(ISNUMBER(SEARCH("Hi",[@Column1]))),"Welcome",TRUE,"")
可以工作,但对于大型搜索值和结果列表来说并不理想
尝试以下公式-
=IF(OR(XLOOKUP(TEXTSPLIT(A2,," "),$G$2:$G$5,$H$2:$H$5,"No")="Yes"),"Yes","No")
要使其成为动态溢出数组,请使用
MAP()
或 BYROW()
函数。
=MAP(A2:A6,LAMBDA(x,IF(OR(XLOOKUP(TEXTSPLIT(x,," "),$G$2:$G$5,$H$2:$H$5,"No")="Yes"),"Yes","No")))
编辑:如果您使用
那么我们可以像这样简化它 -TRUE/FALSE
=OR(XLOOKUP(TEXTSPLIT(A2,," "),$G$2:$G$5,$H$2:$H$5,FALSE))