首页 > 解决方案 > 如何在一个范围内的单元格中搜索项目?

问题描述

我有表 A

╔═══╦═════╦═════════════╦══════════════════╗
║   ║  a  ║      b      ║         c        ║
╠═══╬═════╬═════════════╬══════════════════╣
║ 1 ║ ID  ║ LIST VALUES ║ Table B Values   ║
╠═══╬═════╬═════════════╬══════════════════╣
║ 2 ║ 123 ║ 231,583     ║ eggs,bacon       ║
╠═══╬═════╬═════════════╬══════════════════╣
║ 3 ║ 789 ║ 518,732     ║ bacon,bread      ║
╠═══╬═════╬═════════════╬══════════════════╣
║ 4 ║ 101 ║ 55,38       ║ tomato,onion     ║
╠═══╬═════╬═════════════╬══════════════════╣
║ 5 ║ 213 ║ 894,231     ║ ham,eggs         ║
╠═══╬═════╬═════════════╬══════════════════╣
║ 6 ║ 141 ║ 55,38,894   ║ tomato,onion,ham ║
╠═══╬═════╬═════════════╬══════════════════╣
║ 7 ║ 516 ║ 548,43      ║ milk,butter      ║
╚═══╩═════╩═════════════╩══════════════════╝

我有表 B

╔═══╦═════╦═════════════╗
║   ║  a  ║      b      ║
╠═══╬═════╬═════════════╣
║ 1 ║ ID  ║ LIST VALUES ║
╠═══╬═════╬═════════════╣
║ 2 ║ 231 ║ eggs        ║
╠═══╬═════╬═════════════╣
║ 3 ║ 518 ║ bacon       ║
╠═══╬═════╬═════════════╣
║ 4 ║ 732 ║ bread       ║
╠═══╬═════╬═════════════╣
║ 5 ║ 55  ║ tomato      ║
╠═══╬═════╬═════════════╣
║ 6 ║ 38  ║ onion       ║
╠═══╬═════╬═════════════╣
║ 7 ║ 894 ║ ham         ║
╠═══╬═════╬═════════════╣
║ 8 ║ 548 ║ milk        ║
╠═══╬═════╬═════════════╣
║ 9 ║ 43  ║ butter      ║
╚═══╩═════╩═════════════╝

这些是我拥有的数据的表示,以及我需要帮助的内容。实际数据比这些表长很多,分隔的项目可能很长。

我想要做的是填充表 A列 C。我需要在整个范围内搜索TABLE BA中列出的项目的单元格内的TABLE AB中的项目。

我想这也可以反之亦然。我熟悉 INDEX-MATCH 函数,但我不确定如何在单元格中添加搜索。

标签: excelexcel-formula

解决方案


如果您有 Windows Excel,请尝试:

C2: =TEXTJOIN(",",TRUE,VLOOKUP(FILTERXML("<t><s>"&SUBSTITUTE(B2,",","</s><s>")&"</s></t>","//s"),$G$2:$H$9,2,FALSE))

表 A

在此处输入图像描述

表 B

在此处输入图像描述

结果

在此处输入图像描述


推荐阅读