如何用数据透视表统计值在多列中的出现总次数?
如何用数据透视表统计值在多列中的出现总次数?
嗨,我来帮你搞定这个问题!其实不用纠结合并现有的透视表,换个思路处理数据源,就能轻松得到你想要的总次数统计~
方法一:用Power Query逆透视列(推荐,适合大数据量)
这是最省心的方法,能快速把多列数据转换成单列结构,让透视表直接汇总:
- 选中你的原始数据区域(记得包含C、D列的表头),点击Excel顶部的「数据」选项卡,选择「从表格/区域」(如果是旧版Excel,可能需要先安装Power Query插件)。
- 进入Power Query编辑器后,选中你要统计的C、D列,右键点击列标题,选择「逆透视列」。这时候原来的多列会变成两列:「属性」(记录原来的列名,比如C、D)和「值」(对应的名字)。
- 如果有空白行,直接选中「值」列的空值,右键删除整行就行。
- 点击编辑器顶部的「关闭并上载」,处理好的数据会自动放到新工作表里。
- 现在用这个新工作表的「值」列做数据透视表:行标签选名字,值字段选「计数」,这样每个名字在所有列里的总出现次数就出来啦!比如你说的名字在C列出现2次、D列1次,这里就会显示3次。
方法二:用辅助列手动拼接(适合小数据量)
如果不想用Power Query,也可以用简单的辅助列来实现:
- 在原始数据旁边插一列(比如E列),先把C列的所有名字依次复制到E列;
- 接着在C列数据的下方,把D列的所有名字也复制到E列里,相当于把C、D列的内容纵向拼接成一列;
- 然后用这个E列做数据透视表,行标签选名字,值字段选「计数」,同样能得到总次数。
为什么原来的方法行不通?
你之前尝试合并透视表遇到困难,是因为原来的透视表是按列维度分别统计的,而我们需要把所有列的名字放到同一维度下汇总。所以核心就是把多列转换成单列结构,这样透视表就能轻松帮你统计总次数啦!
备注:内容来源于stack exchange,提问作者Neil Doherty
相关产品推荐
相关产品推荐

