Excel中用于逗号分隔列表的任何成员的VLOOKUP

如果我有一个值的数组,每个true或false像这样:

Foo TRUE
Bar FALSE
Spam
Egg TRUE
Chips FALSE

包含逗号分隔列表的单元格如下所示:

Foo,Spam,Chips

我想要一个函数,如果逗号分隔列表中的任何值在表中的值为TRUE ,将返回TRUE ,如下所示:

Foo,Spam,Chips TRUEFooTRUE
Bar,Spam FALSE因为这不是SpamTRUE
Egg,Foo TRUE FooEgg都为TRUE ,函数以任意顺序与列表一起工作

实质上,我希望能够对任意长度的逗号分隔列表的每个成员进行VLOOKUP ,并返回结果的逻辑或。 我想我需要写一个macros来做到这一点。 我的VBA虽然有点弱,我会从哪里开始呢?

用A1:B5中的表格和您希望在E1中执行检查的第一个分隔string,在F1中:

=SUMPRODUCT(0+(ISNUMBER(SEARCH(","&A$1:A$5&",",","&E1&","))),0+B$1:B$5)>0

向下复制,以获得类似E2,E3等string的结果

问候

如果我得到正确的问题,你可以使用这样的公式:

 =OR(ISNUMBER(SEARCH("foo";E1));ISNUMBER(SEARCH("egg";E1))) 

search:find文本中的确切math; 如果find,则返回1值ISNUMBER:根据里面的值是否为数字返回true或false并且OR:即使其中一个文本位于列表中,也会使得答案为真。

希望能帮助到你!