我在 Google Sheets 选项卡中有两列,一个组列和一个项目列。项目列中的每个条目都是唯一的,并且只出现在一个组中。
团体 | 物品 |
---|---|
一个 | 十 |
一个 | 是 |
一个 | 是 |
乙 | 我 |
乙 | J |
乙 | 钾 |
碳 | 磷 |
碳 | 问 |
碳 | R |
我想在新工作表中创建一个列,该列包含组 A,后面是该组中的所有项目,然后是一个空行,然后是组 B 及其项目。对所有组继续使用此模式。公式应自动更新以包含原始工作表中添加的任何新组或项目。
输出 |
---|
一个 |
十 |
是 |
是 |
乙 |
我 |
J |
钾 |
碳 |
磷 |
问 |
R |
我搜索了一下,在 stack overflow 或其他地方没有找到任何类似的问题。ChatGPT 和 Gemini 提供了一些使用 ARRAYFORMULA 的建议,例如:
=ARRAYFORMULA(IF(A2:A<>"", A2:A&" | "&TEXTJOIN(", ",TRUE,FILTER(B2:B, A2:A=A2:A)), ""))
但输出不是我需要的。
使用筛选器和数组公式
您可以使用
FILTER
根据组代码对项目进行分组。然后,使用TOCOL
和的组合TOROW
将数组转换为所需的格式。公式应如下所示:输出:
注意:只能手动将组代码(样本数据中的 A、B、C)设置为
STRONG
/格式。BOLD
参考:
另一种解决方案是使用
REDUCE
: