Excel 在带有分隔单元格的外部工作表上使用索引/匹配
我有一个电子表格,Alpha,它引用了一个外部电子表格Bravo 我需要Alpha的Excel 在带有分隔单元格的外部工作表上使用索引/匹配,excel,excel-formula,Excel,Excel Formula,我有一个电子表格,Alpha,它引用了一个外部电子表格Bravo 我需要Alpha的B2单元格在Bravo中检查列A中包含AlphaA2中字符串的所有单元格。如果找到匹配项,则将该行的B列中的值复制到AlphaB2。目前,我使用以下公式得出了这一结论: =INDEX([Bravo.xlsb]Sheet1!A$2:B$22,MATCH(A2,[Bravo.xlsb]Sheet1!$A$2:$A$22,0),2) …但是,我在Bravo中有一些单元格,它们有多个字符串,由分隔符分隔,需要检查。使问
B2
单元格在Bravo中检查列A
中包含AlphaA2
中字符串的所有单元格。如果找到匹配项,则将该行的B
列中的值复制到AlphaB2
。目前,我使用以下公式得出了这一结论:
=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.csv:
所以我的问题是,如何修改公式以处理包含分隔字符串的单元格
更新
为了澄清这一点,在运行任何公式之前,Alpha的外观如下:
Alpha.csv (pre-formula)
Items Category Group (results)
Oranges|Chicken
Ice Cream|Pears|Steaks
…这就是布拉沃的样子
Bravo.csv
Item Categories Category Group
Fruits>Pears|Fruit>Oranges Fruits & Health
Meat>Steaks|Meat>Chicken|Meat>Lamb Meats
Deserts>Ice cream Deserts & Sweets
我需要Alpha的B2来获取A2中的每个字符串(有时用分隔符分隔多个字符串),通过Bravo检查每个字符串的匹配列。如果找到匹配项,则将相应的类别组名称从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
一种选择是简单地使用文本到列功能来在Alpha文档中分隔列表。这将允许您使用以下公式:
=INDEX([Bravo.xlsx]Sheet1!$B:$B,MATCH("*"&A2&"*",[Bravo.xlsx]Sheet1!$A:$A,0))
此公式查找AlphaA2
中的值,在Bravo的A列中,该值前面有任何值,后面有任何值
否则,您必须更具体地确定要搜索的类别,在这种情况下,您可以利用right()
mid()
和left()
来调整match()
函数。我更新了我的问题,希望能澄清Melk。感谢您的回复。是否需要将Alpha列a
中的项目放在一起?你能在不使用分隔符的情况下将它们分隔成单独的行,并使每一行都属于一个类别吗?该工作表有4000行,其中一些项目属于10个或更多类别,我担心这会成为一个噩梦。我认为,在这种情况下,你最好的选择来自某个VBA。然而,不幸的是,我对VBA不够精通,无法在这里提供帮助。祝你好运!