[英]Excel - Look for partial matches in a cell and return the matched category from another table
我有一个表格(Table1),其中一栏的下方是“关键字”,而下一栏则是其对应的“类别”,例如:
Keyword Category
EE Telecommunications
Water Utilities
Amazon Internet Transaction
在单独的工作表上,我有另一个事务表(表2)。 我想检查Table2中每个事务的描述中是否有Table1中的任何关键字,如果是,则返回相应的Category(来自Table1)。 如果找到了多个匹配项,我只需要返回一个值即可表明这一点(因此,可以找到唯一匹配的类别的名称,如果没有找到匹配项,则为空白;如果找到多个匹配项,则为另一个值(例如“ Multiple”))。
我尝试了INDEX/MATCH
和SEARCH
组合,并且已经研究了数小时。 我很确定我需要使用{array}
公式,但是我无法正确使用它。
我还尝试了VBA遍历Table2中的每一行,以检查Table1中的每一行是否正常工作,但是要花很多时间来处理大量事务。
Table2需要看起来像这样:
Description Category
PAYPAL PAYMENT Internet Transaction
AVIVA Insurance
BD270 MKN
Anglian Water Utilties
ATM 32334 <multiple matches>
这将完成您想要的操作,尽管我不保证通过几条记录将非常有效。 使用Ctrl + Shift + Enter将其输入为数组公式
{=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]))))))}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.