假设是excel 2016
先建立 一个查询
建立分组,如上图
在分组中,将内容如上图修改
= Table.Group(排序的行, {"姓名", "级别"}, {{"计数", each Table.RowCount(_), type number},{"项目1", each Text.Combine([项目],",") }})
删除计数列,并进行不聚合的透视
最后点开始,加载就行了。
可以使用迭代公式,按以下操作
在excel选项--公式 中启用迭代公式,迭代次数按照你的数据量确定,比如数据是100个,那迭代次数至少是100次。
假设你的数据在A1:C7中,在F3单元格中输入=IF($D$2=0,"",IF($D$2>=0,IF(OFFSET($A$1:$C$7,$D$2-1,1,1,1)&OFFSET($A$1:$C$7,$D$2-1,2,1,1)=$E3&F$2,F3&INDEX($A$1:$A$7,$D$2)&",",F3))),回车,但是现在没有想要的结果
在D2单元格中输入=D2+1,回车,这时就有你想要的结果了
黄色单元格输入=IF($E$1=0,"",IF($E$1>=0,IF(OFFSET(Sheet1!$A$1:$C$10,$E$1-1,1,1,1)&OFFSET(Sheet1!$A$1:$C$10,$E$1-1,2,1,1)=B$1&$A2,B2&INDEX(Sheet1!$A$1:$A$10,$E$1)&",",B2)))
再在E1单元格输入=E1+1