
从本期开始,我们学习PIVOTBY函数,它是目前Excel中参数最多的函数,共有11个。参数多不等于难度大,关键是找对方法。
〇、背景知识
在进入主题之前,我们先铺垫一下基础知识。
我们刚学完GROUPBY函数,这个单词看起来很长,其实很简单,是由group和by两个单词组成。group作动词时,是“分组”的意思,by在这里是“依据……”的意思,所以GROUPBY就是“依据……分组”的意思。
pivot本意是“中心点、枢轴”,在计算机中,Pivot Table指的是数据透视表。所以,PIVOTBY指的就是“依据……透视”的意思。
Excel中,带BY的函数有BYROW、BYCOL、GROUPBY、PIVOTBY,这里的BY读音是/bai/,都是“依据……”的意思。
我们在学GROUPBY函数时,刚开始是借助数据透视表来辅助理解。GROUPBY函数就相当于没有列标签的数据透视表,而PIVOTBY函数就相当于既有行标签、又有列标签的数据透视表。

换言之,PIVOTBY函数只是比GROUPBY函数多了一个列标签,由此比GROUPBY多了3个参数(列标签、列标签总计小计、列标签排序)。

如果你掌握了GROUPBY函数的用法,那么学习PIVOTBY函数是非常简单的。
我们花了13期篇幅讲解GROUPBY,如果你之前没有学习过GROUPBY,请暂停本文的学习,学完GROUPBY再来学PIVOTBY。

一、函数语法
PIVOTBY的参数比较多,我将11个参数分为两行显示。
=PIVOTBY(
行标签,列标签,值字段,算法,
[标头],[行总计小计],[行排序],[列总计小计],[列排序],[筛选],[比值分母]
) 为了便于学习,会参考GROUPBY函数和数据透视表来讲解PIVOTBY函数。
建议先重点看前4个参数的说明,后7个参数的说明可直接跳过。
行标签:必选参数,同GROUPBY的行标签。
列标签:必选参数,同数据透视表的列字段。
值字段:必选参数,计算的对象,即要对哪个字段的值汇总。
算法:必选参数,计算的方式,即汇总的方式是什么。
以上4个参数是必选参数,以下7个都是可选参数。
[标头]:可选参数,用于设置表头,默认自动识别表头但不显示。
[行总计小计]:可选参数,行标签总计小计,同GROUPBY函数的总计与小计。
[行排序]:可选参数,行标签排序,同GROUPBY函数的排序。
[列总计小计]:可选参数,列标签总计小计。
[列排序]:可选参数,列标签排序。
[筛选]:可选参数,筛选条件,筛选逻辑同FILTER函数,参数的高度必须与第一参数相同。
[比值分母]:可选参数,LAMBDA使用双参数时起作用,用于指定PERCENTOF的第二参数,即比值的分母。
注:最后一个参数,英文是relative_to,这里的“比值分母”是我根据自己的理解意译的。
二、案例讲解
我们第1期的练习很简单,如下图,要求使用函数对源表进行透视,效果如透视表所示。

这是PIVOTBY函数最基础、最简单,同时也是最重要的用法,行标签是门店、列标签是季度、汇总对象是营收、汇总方式是求和,对应PIVOTBY函数的4个必选参数。
=PIVOTBY(A2:A21,B2:B21,C2:C21,SUM) 返回如下:

PIVOTBY函数你可以把它看作透视表函数,能够实现透视表的绝大多数功能,但是它跟数据透视表有本质的区别。
数据透视表是强大的数据分析工具,通过拖拽就能从不同维度对数据进行汇总。比较适合函数知识比较薄弱的新手,同时也有升级版透视表(Power Pivot)适用于进阶玩家,可与Power BI无缝对接。
PIVOTBY是Excel新函数,学习成本比数据透视表要高很多,功能也远不及数据透视表,其优势在于让函数玩家可以快速地对数据进行透视,而不需要过多的鼠标操作。此外,目前正式版本的Excel中,数据更新时,数据透视表需要手动更新,而PIVOTBY可以实现自动更新。