Excel有合并单元格的表格怎么做透视表(数据透视表有合并单元格怎么办)
读者朋友在工作中遇到的一个小问题,Excel多个文本内容如何合并到同一个单元格内?像下图这样:
第一反应是使用数据透视表,但是数据透视表的值区域不支持文本展示,那么如何实现这一功能呢?
TEXTJOIN函数
F2单元格内输入公式之后(注意其中的相对引用与绝对引用):
=TEXTJOIN("
",1,IF(($B$2:$B$27=F$1)*($A$2:$A$27=$E2),$C$2:$C$27,""))
启用单元格自动换行功能,即可完成需求表的制作。
函数解释:
TEXTJOIN的第一个参数是文本分隔符,这里我们要用到的分隔符是换行符,同时按下Alt Enter键完成换行符的输入;
TEXTJOIN的第二个参数表示:是否忽略空单元格,输入1代表TRUE,即忽略空单元格;
TEXTJOIN的第三个参数是需要连接的文本字符串或区域,这里我们用IF函数根据不同条件,动态返回不同的条件区域。
这里的的公式需要向下填充,所以将“奖项”单元格【F$1】行绝对引用,如果不绝对引用的话,公式在下拉的时候会变成F2、F3...
列F不固定是因为在公式向右拖动的时候,可以变成G1、H1,分别对应“二等奖”与“三等奖”;
同理,公式需要向右填充,“班级”单元格【$E2】需要列绝对引用,不然右拖动公式时,会变成F2、G2...
超级透视表
如果你的Excel版本在2019以下,没有textjoin函数,那可以使用超级透视表功能。
超级透视表叫Power Pivot,是Excel中的一个建模工具,在2016版本中内置到了Excel中,如果你的页面没有它的话,你可以通过以下方式调出:
【开发工具】—【COM 加载项】,勾选“Microsoft Power Pivot for Excel”,点击确定,就会出现 Power Pivot 功能区。
下面我们就用超级表制作出需求的表格。
首先Ctrl A全选数据源,点击【Power Pivot】—【添加到数据模型】。
接着会进入到Power Pivot界面,在这里直接点击【数据透视表】,插入一个数据透视表。
接着我们可以直接把“班级”拖动到行区域,把“奖项”拖动到列区域,完成这一步之后,透视表就先晾在一边啦。
接着新建一个度量值,点击【Power Pivot】—【度量值】—【新建度量值】,在公式中输入:=Concatenatex('表1',[学生],""),注意其中的换行符!
Concatenatex函数是DAX函数(数据分析表达式)的一种,它的功能主要是将文本以特定分隔符合并到一起,有点类似于上面的TEXTJOIN函数,只不过它不能在Excel普通场景里运用;
“表1”就是我们的数据源。
接着回到透视表,就会出现刚才新建的字段,我们把它拖动到【值区域】,接着取消行列合计、启用单元格自动换行,搞定~
动图展示如下:
这样我们就完成了需求表格的制作。
当然,我们也可以用其它分隔符,将字符串连接,比如下图中常见的样式:
Power Pivot的功能远不在于此,它提供了丰富的建模工具,多表联动,处理的数量级可以突破百万限制,还没用过的小伙伴,快去尝试下吧~
小结
以上就是今天分享的内容,希望对你有所帮助,我们 下期再见~