答案1
如果您的初始表是Table3
,并且标签指示没有对 Excel 版本的限制,则输入到单个单元格中的此公式将产生您想要的结果:
=LET(
v, SORT(
UNIQUE(Table3[Value])
),
g, Table3[Group],
HSTACK(
v,
BYROW(
v,
LAMBDA(vals,
TEXTJOIN(
",",
,
SORT(
FILTER(
g,
Table3[Value] =
vals
)
)
)
)
)
)
)
您需要查看各种功能的帮助,以便更好地理解其工作原理。但基本上,
- 创建唯一的、排序的值列表
- 过滤表格中的每个值
- 将每个值的组连接起来(使用 TextJoin)
答案2
评论中建议的答案Destroy666
包括一个“老派”答案和一个“现代”答案(使用 Power Query)。下面是一个介于两者之间的答案,现代功能,但不是 Power Query(根据数据的大小以及您需要处理数据的频率,这可能会过度使用)。
以下公式适用于您的样本数据的范围。请更改范围以适应:
对于要分组的值:
=SORT( UNIQUE( A1:A13 ))
对于分组:
=TEXTJOIN( ", ", FALSE, SORT( FILTER( $B$1:$B$13, $A$1:$A$13 = $D2 )))
复制并粘贴分组列。