我有一张表(表1),其中包含"关键字"下一列,及其相应的"类别"在下一栏中,例如:
Keyword Category
EE Telecommunications
Water Utilities
Amazon Internet Transaction
在单独的工作表上,我有另一个表(Table2)的事务。我想检查Table1中的任何关键字是否在Table2中的每个事务的描述中,如果是,则返回相应的Category(来自Table1)。如果找到多个匹配项,我只需要返回一个值来表示如此(因此,匹配的唯一类别的名称,找不到匹配项的空白或其他值(例如' Multiple')如果不止一个匹配被发现)。
我尝试了INDEX/MATCH
和SEARCH
组合,并且我已经研究了几个小时。我非常确定我需要使用{array}
公式,但我无法做到正确。
我还尝试过VBA来遍历Table2中的每一行,以检查Table1中哪一行确实有效,但是需要花费很长时间进行大量事务。
表2需要看起来像这样:
Description Category
PAYPAL PAYMENT Internet Transaction
AVIVA Insurance
BD270 MKN
Anglian Water Utilties
ATM 32334 <multiple matches>
答案 0 :(得分:0)
这将做你想要的,虽然我不保证它会对几个记录非常有效。使用 Ctrl + Shift + 输入
将其作为数组公式输入{=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]))))))}