在外部工作表上使用带有分隔单元格的索引/匹配

时间:2017-09-15 13:43:02

标签: excel excel-formula

我有一个电子表格,Alpha引用外部电子表格Bravo。

我需要Alpha的B2单元格在Bravo中检查列A中包含Alpha A2字符串的所有单元格。如果找到匹配项,则会将该行的B列中的值复制到Alpha B2。我目前使用以下公式进行此操作:

=INDEX([Bravo.xlsb]Sheet1!A$2:B$22,MATCH(A2,[Bravo.xlsb]Sheet1!$A$2:$A$22,0),2)

..但是,我在Bravo中有一些单元格,它们有多个字符串,用分隔符分隔,需要检查。更复杂的是,Alpha的A列中的一些参考单元具有由分隔符分隔的多个字符串。理想情况下,下面的图片显示了我需要这个公式如何工作:

Alpha.csv:

bravo.xlsb

Bravo.csv:

alpha.xlsb example

所以我的问题是,如何修改公式以使用包含分隔字符串的单元格呢?

更新

为了澄清这是Alpha在运行任何公式之前的样子:

Alpha.csv (pre-formula)                             

Items                                   Category Group (results)
Oranges|Chicken                         
Ice Cream|Pears|Steaks

......这就是Bravo的样子

Bravo.csv

Item Categories                         Category Group
Fruits>Pears|Fruit>Oranges              Fruits & Health
Meat>Steaks|Meat>Chicken|Meat>Lamb      Meats
Deserts>Ice cream                       Deserts & Sweets

我需要B2的Alpha来获取A2中的每个字符串(有时通过分隔符分隔多个字符串)检查Bravo A列以查找每个字符串的匹配项。如果找到匹配项,则会将相应的类别组名称从Bravo的B列添加到Alpha B2单元格。

对于A2中的每个字符串重复此操作,如果有多个字符串添加到|中分隔符,直到检查完所有字符串。结果如下:

Alpha.csv (post-formula)                                

Items                                   Category Group (results)
Oranges|Chicken                         Fruits & Health|Meats
Ice Cream|Pears|Steaks                  Deserts & Sweets|Fruits & Health|Meats

1 个答案:

答案 0 :(得分:2)

一种选择是简单地使用Text-to-Columns功能来界定Alpha文档中的列表。这将允许您使用此公式:

=INDEX([Bravo.xlsx]Sheet1!$B:$B,MATCH("*"&A2&"*",[Bravo.xlsx]Sheet1!$A:$A,0))

此公式在Alpha A2中查找其中包含任何值的值以及Bravo中A列中的任何值。

否则,您必须更具体地了解您要搜索哪个类别,在这种情况下,您可以使用right() mid()left()来调整您的{{1功能。