当一个报表有多层分类,希望针对每个类别进行逐次分析时,我们可以使用多级联动控制的动态图表,在选择分析维度时,效率更高。
这种图表制作的核心,是使用函数来创建公式,定义名称。
下图是一个多维度的统计报表,现在的任务是:制作一个三级联动下拉菜单,当第一级选择某个地区时,二级菜单只能选择该地区下的省份;当二级选择某个省份时,三级下拉菜单只能选择该省份下的城市或区县。

下拉菜单可以设置多级数据验证,也可以设计多级联动的表单控件。下面我们介绍表单控件的做法。
首先设计辅助区域,规范地区、省份和城市:

定义如下的固定区域的名称:
地区 =Sheet1!$J$2:$J$4
北京 =Sheet1!$N$2:$N$3
安徽 =Sheet1!$S$2:$S$3
福建 =Sheet1!$U$2:$U$3
广东 =Sheet1!$T$2:$T$4
河北 =Sheet1!$O$2:$O$4
华北 =Sheet1!$J$2:$J$4
华东 =Sheet1!$K$2:$K$4
华南 =Sheet1!$L$2:$L$3
江苏 =Sheet1!$R$2:$R$5
山东 =Sheet1!$P$2:$P$4
上海 =Sheet1!$Q$2:$Q$3

插入三个表单控件组合框,分别用于选择地区、省份和城市,其链接单元格分别指定为单元格J1、单元格K1和L1。
其中,先设置第一个选择地区组合框的格式:

定义一个名称“省份”,其单元格引用为:
=CHOOSE($J$1,$K$2:$K$4,$K$5:$K$7,$K$8:$K$9)
然后对第二个选择省份的组合框设置格式:

定义一个名称“城市”,引用区域如下:
=INDIRECT(INDEX(省份,$K$1))
然后对第三个选择城市的组合框设置格式:

这就是设计的三个联动控制的组合框,实现精准选择分析维度。
再定义一个动态名称“数据”,引用区域如下:
=OFFSET($D$1,MATCH(INDEX(城市,$L$1),$C$2:$C$22,0),,1,3)
以单元格D1:F1作为分类轴,以动态名称“数据”为数值轴,绘制柱形图(或饼图):

将控件至于图表上方,做适当美化,就得到了我们需要的动态图表:

这样,我们可以快速选择定位到指定地区、指定省份下某个城市的销售分析图表:


总结:
这个动态图表制作并不复杂,诀窍在于定义名称,并通过组合框的返回值将这些名称关联起来。
因此,能否熟练使用函数公式,是至关重要的。

