Excel - 过滤后从列中获取唯一值

Excel - 过滤后从列中获取唯一值

在我的源数据中,有一列是公司,另一列是产品。我的目标是使用公司名称填充该客户的独特产品列表。

工作簿中的示例图像

图中有一些柱子A(公司)和(产品)。A 列中重复了多个公司名称,B 列中重复了多个产品名称。我的目标是在一个单元格中输入公司名称,然后在另一系列单元格中获取该公司具有的唯一值的列表。

就我的用例而言,我的列表中永远不会有共享产品名称的不同公司。我还会为每家公司设置最多 6 个独特的项目。

我找到了一些生成唯一列表的参考资料,但我无法弄清楚如何通过公司名称来限制其结果。

部分解决方案的链接

我使用的是当前版本的 Excel,不知道这是否有影响。我曾考虑过一些非公式解决方案来解决这个问题,但在我的用例中,我将复制工作表,如果可能的话,公式最适合这种情况。如果您能分享任何帮助/见解,我将不胜感激。谢谢。

答案1

自从

列表中永远不会有共享产品名称的不同公司

因此,请通过删除重复项来“清理”列表(您的示例中有重复项)。对于此解决方案,我使用上面引用的条件和已删除重复项的列表。还假设列表位于 A&B 列,(输入的)公司名称位于 E1,第一个结果位于 E3。

把这个放到 E3 中:

=IFERROR(INDEX(B:B,MATCH(E1,A:A,0)),"")

然后在 E4 中将其向下拖动:

=IF(E3="","",IF(INDEX(A:A,MATCH(E3,B:B,0)+1)=$E$1,INDEX(B:B,MATCH(E3,B:B,0)+1),""))

希望有帮助。如果公式的任何部分有困难,请询问。(:

相关内容