组合具有唯一条件的文本的数组公式

Array Formula to Combine Text with Unique Condition

我有一份客户名单和他们购买的产品。

我想将每个客户购买的每个产品分别合并到客户姓名旁边的一个单元格中。

有什么数组公式可以做到这一点吗?公式预计是单个公式,输入新数据时可以自动return取值,所以我觉得应该是数组公式。

这是示例案例

https://docs.google.com/spreadsheets/d/1GpCbpFz7wrZjamhtm9rHk38RgyAUCBx54BeQCIeG1H4/edit#gid=0

预期的return可以在E:E中看到。但预期的公式不应该是这样的,因为当我输入新数据时将公式拖到各处有点痛苦,它应该像一个数组公式。

擦除D:E中的内容,然后进入D1

=arrayformula(regexreplace({unique(A1:A), trim(transpose(query(if((transpose(unique(A1:A))=A1:A)*len(A1:A),B1:B&" - ",),,50000)))},"-$", ))

看看是否可行?