如何匹配逗号分隔列表然后使用索引在 excel 中获取逗号分隔结果

How to match comma separated list then use index to get comma separated result in excel

我查了table:

A B
A Apple
B Banana

我的列为

A
A
A,B
B

我喜欢结果显示为

A B
A Apple
A,B Apple, Banana
B Banana

要使用公式执行此操作,必须具有 Office365 和 Excel 2019 中可用的 TEXTJOIN。

=TEXTJOIN(", ",TRUE,VLOOKUP(FILTERXML("<a><b>"&SUBSTITUTE(D1,",","</b><b>")&"</b></a>","//b"),A:B,2,FALSE))

如果没有 TEXTJOIN,vba 或许多辅助列将是必要的。

使用 vba 可以创建一个 TEXTJOIN look-a-like。一个见

我们还需要转换为索引匹配:

=TEXTJOIN(", ",TRUE,INDEX(B:B,N(IF({1},MATCH(FILTERXML("<a><b>"&SUBSTITUTE(D1,",","</b><b>")&"</b></a>","//b"),A:A,0)))))

这需要在退出编辑模式时使用 Ctrl-Shift-Enter 而不是 Enter 来确认。