如何 excel 旋转 table,headers 放在一边?
How to excel pivot a table, on which headers are aside?
在 Excel 我确实有以下条目:
现在我想在 excel 中创建一个 Pivot(或另一种方式)来显示这样的结果。当然是以简单、动态和自动的方式:
Group1:
-> John Doe, Luke Smith
Group2:
-> John Doe
Group 3:
-> Mike Cando
Group 4:
-> Luke Smith
不幸的是,我的数据透视表将名称显示为字段,而不是组:
有什么方法可以更改数据透视表中带组的名称字段?还是有更好/更简单的方法来达到我想要的结果?
使用 Office 365 Excel:
=TEXTJOIN(", ",TRUE,FILTER($B:$D,B2:D2="x"))
更多动态包括 headers 根据要求放在一边(也需要 Office 365):
=LET(header,$A:$D, data,A2:D5, groupdata,INDEX(data,,1), xml1,IFERROR(FILTERXML("<t><s>"&SUBSTITUTE(TEXTJOIN(", ",1,IF(data<>"",header,""))&",","0, ","</s><s>")&"</s></t>","//s"),""), xml,FILTER(xml1,LEN(xml1)<>0), leftxml,LEFT(xml,LEN(xml)-1), CHOOSE({1,2}, groupdata, leftxml))
没有 LET:
=CHOOSE({1,2},A2:A5,LEFT(FILTER(IFERROR(FILTERXML("<t><s>"&SUBSTITUTE(TEXTJOIN(", ",1,IF($A:$D<>"",$A:$D,""))&",","0, ","</s><s>")&"</s></t>","//s"),""),LEN(IFERROR(FILTERXML("<t><s>"&SUBSTITUTE(TEXTJOIN(", ",1,IF($A:$D<>"",$A:$D,""))&",","0, ","</s><s>")&"</s></t>","//s"),""))<>0),LEN(FILTER(IFERROR(FILTERXML("<t><s>"&SUBSTITUTE(TEXTJOIN(", ",1,IF($A:$D<>"",$A:$D,""))&",","0, ","</s><s>")&"</s></t>","//s"),""),LEN(IFERROR(FILTERXML("<t><s>"&SUBSTITUTE(TEXTJOIN(", ",1,IF($A:$D<>"",$A:$D,""))&",","0, ","</s><s>")&"</s></t>","//s"),""))<>0))-1))
在 Excel 我确实有以下条目:
现在我想在 excel 中创建一个 Pivot(或另一种方式)来显示这样的结果。当然是以简单、动态和自动的方式:
Group1:
-> John Doe, Luke Smith
Group2:
-> John Doe
Group 3:
-> Mike Cando
Group 4:
-> Luke Smith
不幸的是,我的数据透视表将名称显示为字段,而不是组:
有什么方法可以更改数据透视表中带组的名称字段?还是有更好/更简单的方法来达到我想要的结果?
使用 Office 365 Excel:
=TEXTJOIN(", ",TRUE,FILTER($B:$D,B2:D2="x"))
更多动态包括 headers 根据要求放在一边(也需要 Office 365):
=LET(header,$A:$D, data,A2:D5, groupdata,INDEX(data,,1), xml1,IFERROR(FILTERXML("<t><s>"&SUBSTITUTE(TEXTJOIN(", ",1,IF(data<>"",header,""))&",","0, ","</s><s>")&"</s></t>","//s"),""), xml,FILTER(xml1,LEN(xml1)<>0), leftxml,LEFT(xml,LEN(xml)-1), CHOOSE({1,2}, groupdata, leftxml))
没有 LET:
=CHOOSE({1,2},A2:A5,LEFT(FILTER(IFERROR(FILTERXML("<t><s>"&SUBSTITUTE(TEXTJOIN(", ",1,IF($A:$D<>"",$A:$D,""))&",","0, ","</s><s>")&"</s></t>","//s"),""),LEN(IFERROR(FILTERXML("<t><s>"&SUBSTITUTE(TEXTJOIN(", ",1,IF($A:$D<>"",$A:$D,""))&",","0, ","</s><s>")&"</s></t>","//s"),""))<>0),LEN(FILTER(IFERROR(FILTERXML("<t><s>"&SUBSTITUTE(TEXTJOIN(", ",1,IF($A:$D<>"",$A:$D,""))&",","0, ","</s><s>")&"</s></t>","//s"),""),LEN(IFERROR(FILTERXML("<t><s>"&SUBSTITUTE(TEXTJOIN(", ",1,IF($A:$D<>"",$A:$D,""))&",","0, ","</s><s>")&"</s></t>","//s"),""))<>0))-1))