Excel – 查找单元格中的部分匹配,并从另一个表中返回匹配的类别

我有一个关键字下拉列表(Table1),下一列有相应的“类别”,例如:

Keyword Category EE Telecommunications Water Utilities Amazon Internet Transaction 

在一个单独的工作表上,我有另一个表(表2)的交易。 我想检查表1中的任何关键字是否在表2中的每个事务的描述中,如果是,则返回相应的类别(来自表1)。 如果find了多个匹配项,我只需要一个返回的值来表示(如果find多个匹配项,那么匹配唯一类别的名称,找不到匹配项的空白,或者其他值(例如'多个'))。

我已经尝试过INDEX/MATCHSEARCH组合,而且我一直在研究几个小时。 我很确定我需要使用{array}公式,但我不能正确的。

我也尝试过使用VBA来遍历Table2中的每一行来检查Table1中的每一行,但是它们需要很长的时间才能处理大量的事务。

表2需要看起来像这样:

 Description Category PAYPAL PAYMENT Internet Transaction AVIVA Insurance BD270 MKN Anglian Water Utilties ATM 32334 <multiple matches> 

这将做你想要的,但我不承诺这将是非常有效的几个logging。 以Ctrl + Shift + Enter的formsinput数组公式

 {=IF(SUM(--NOT(ISERROR(FIND([table1.Col1],[table2.lookupValue]))))<>1,IF(SUM(--NOT(ISERROR([table1.Col1],[table2.lookupValue]))))>1,"Multiple matches",""),INDEX([table1.Col2],SUM((ROW([table1.Col1])-1)*NOT(ISERROR(FIND([table1.Col1],[table2.lookupValue]))))))}