EXCEL或WPS中将不同分类表头同时占有的统计

一行有10个单元格的分类表头,最左侧一列为人名,每人选择了10种横向表头中某几项东西,如何统计哪几样东西的组合各有多少数量(是不同的组合,共有多少种组合,每种组合各有多少人挑选)。组合很多,400多人挑选的。countif、countifs公式是最后没办法才能使用的办法。如下图实例,请告知方法。单列的数量是知道的(用countif),疑问就是组合怎么计算。组合太多用countifs也不好计算(countifs需要自己看有啥组合再去写组合公式筛选)。实例如下图还有很多人,很多组合,请问咋弄?求各位大神告知!这是EXCEL,wps有没有方法?

是不是您想要的?截图中吴其龙和papi酱选择相同,所以该组合有两个。用的是powerquery,主要用了unpivot其他列,然后根据姓名分组,再把同一人的选择组合成一个字段,再对该字段进行计数。提供示例文件供参考:链接:https://pan.baidu.com/s/1vLGXDQ3rp2_rIw43S31Kmw提取码:jyc2还是把详细步骤说一下:把原始数据变为表格类型(这一步不是必须,可以直接从powerquery引入来自于区域和表格的数据源,我做这一步主要是考虑到下载示例文件的同学怎么覆盖原始文件),点击【插入】选项卡上面的【表格】命令(因为我截图时已经是表格格式了,所以【表格】命令是灰色】:请点击输入图片描述确保插入的表格名字叫【表1】(这还是为了便于直接操作我发的示例文件的同学),方法是在【公式】选项卡上点击【名称管理器】,查看原始数据区域是不是都包括在一个表格里边了,而且表格名字叫【表1】,如果不是就修改。鼠标放在原始数据表格任意位置,在【数据】选项卡界面,点击【自表格/区域】,这样会弹出powerquery的查询编辑窗口:请点击输入图片描述这时我们要逆透视数据所在的行,便于下一步处理。方法是:选中姓名列,然后点击查询编辑器窗口的【转换】选项卡,点击【逆透视】-【逆透视其他列】:请点击输入图片描述逆透视的结果如下:请点击输入图片描述由于每个人选择的选项进行是一个组合,所以我们要把这些组合找出来,方法就是基于姓名分组,然后对【属性列】进行字符串合并——凡是同一个人勾选的项目,我们用【/】把它变成一个单一字符串。【√】不需要了,可以直接选中【值】列然后删除。现在开始来分组和形成组合:点击查询编辑器上的【fx】按钮,插入一个公式:=Table.Group(删除的其他列,{"姓名"},{{"组合",eachText.Combine(_[属性],"/")}})请点击输入图片描述这时我们就把每个人勾选的项目变成了一个一个单独的组合,如下图所示:请点击输入图片描述由于要统计每个组合的个数,所以我们需要在【组合】列基础上,再分组统计一次。还是按编辑器上公式栏左边的【fx】按钮,输入以下公式:【=Table.Group(分组的行,{"组合"},{{"count",eachTable.RowCount(_),typenumber}})】这样就得到最终结果了。最后,我们把结果加载到excel表格:直接点击查询编辑器上的【保存并上载】命令:请点击输入图片描述如果默认没有加载到表格,则在excel窗口点击【数据】-【查询和连接】,显示出刚才我们建立好的powerquery查询列表,在查询名称上右键点击【加载到…】:请点击输入图片描述然后选中【表】-【新工作表】,完成:请点击输入图片描述

追问

完全按照如上操作方法(只是第6步骤只执行了句号之后的工作【删对号那列】,前边添加 / 没找到看着也不需要),计算出来结果还是和您分享网盘里边文件我拿源文件代入进去数量一样,和实际数量不符。希望您查看下哪步骤不对,现将原文档及试验文档在一个表格里放置网盘,希望您下载查看解惑。
链接:https://pan.baidu.com/s/10aOPSZgjkaLdg5-ljSJpLA
提取码:0ns1

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-26
把问题作为内容(邮件主题一定要包含“excel”,本人以此为依据辨别非垃圾邮件,以免误删),excel样表文件(把现状和目标效果表示出)作为附件发到[email protected]帮你看下
相似回答