当Excel图表数据中包含多个系列时,通常需要让这些系列同时显示在图表中进行对比。但有时可能无需让各系列同时显示在图表中,这时可以添加一个下拉列表来选择某个系列,让该系列单独显示在图表中以便查看。这种动态图表可以用下面的两种方法来制作,一是在辅助列中用公式得到某个系列数据,二是通过定义名称得到系列数据,然后在源数据对话框中添加名称。下面用一个具体的例子进行说明,单击 这里 打开示例文件下载页面。
假如下表为某公司全年的销售数据,这些数据位于A1:D13区域,需要通过下拉列表选择某个产品系列,让所选系列单独显示在图表中。
月份 |
产品A |
产品B |
产品C |
1月 |
1342 |
1997 |
12 |
2月 |
1445 |
1158 |
12 |
3月 |
1796 |
1803 |
22 |
4月 |
1878 |
1460 |
25 |
5月 |
1180 |
1825 |
24 |
6月 |
1310 |
1011 |
22 |
7月 |
1559 |
1747 |
23 |
8月 |
1006 |
1933 |
14 |
9月 |
1916 |
1034 |
25 |
10月 |
1294 |
1059 |
19 |
11月 |
1977 |
1617 |
13 |
12月 |
1170 |
1997 |
17 |
以Excel 2010为例,Excel 2007和Excel 2003中的方法大致相同。
方法一:辅助列+公式
1.在工作表中添加并设置组合框控件
可以通过多种方法在工作表中添加下拉列表,如通过数据有效性、添加ActiveX 控件、添加表单控件等。本例以添加表单控件为例,在功能区中选择“开发工具”选项卡,在“控件”组中单击“插入→表单控件→组合框(窗体控件)”。
如果“开发工具”选项卡没有显示在功能区中,可在“选项”对话框中进行设置让其显示出来,具体参考本站其他文章。
这时鼠标指针变成细十字形,按住鼠标左键在工作表中拖动,绘制一个组合框控件。由于在单击该控件时,需要在组合框的下拉列表中显示“产品A”、“产品B”等系列名称以供选择,因而在设置前需先将这些系列名称输入或粘贴到某列中,本例将B1:D1区域中的系列名称通过“选择性粘贴→转置”粘贴到I1:I3区域。
右击组合框控件,在弹出的快捷菜单中选择“设置控件格式”,弹出“设置对象格式”对话框,选择“控制”选项卡,将“数据源区域”设置为“$I$1:$I$3”,将“单元格链接”设置为J1单元格,这样在组合框中选择某个系列名称时,J1单元格中就会显示相应的数字。
2.添加辅助列并设置公式
以F列和G列为辅助列。将A1:A13区域中的“月份”数据复制到F列,在G1单元格中输入公式:
=OFFSET($A$1,ROW(A1)-1,$J$1)
然后拖动填充柄,填充公式到G13单元格,在组合框中选择某个系列,如“产品A”,G列就会显示该系列的数据,如图所示。
3.插入图表
选择F1:G13区域中的某个单元格,在功能区中选择“插入→折线图→折线图”,插入图表。在组合框中选择某个系列,图表就会显示该系列。
方法二:先定义名称,然后在选择数据对话框中添加名称
1.添加组合框控件并设置其“数据源区域”和“单元格链接”,具体参照方法一 。
2.定义名称。
在功能区中选择“公式”选项卡,在“定义的名称”组中单击“定义名称”,弹出“新建名称”对话框。在“名称”右侧的文本框中输入一个名称,如“series_name”,在“引用位置”处输入公式:
=OFFSET($A$1,,$J$1)
用同样的方法定义另一个名称“series_value",公式为:
series_value:
=OFFSET($A$2:$A$13,,$J$1)
3.插入图表并添加名称
选择某个空单元格,在功能区中选择“插入→折线图→折线图”,插入一个空的图表。然后在“图表工具-设计”选项卡的“数据”组中单击“选择数据”,弹出“选择数据源”对话框,单击对话框中的“添加”,在“编辑数据系列”对话框中输入定义的名称,方法如下:
在“系列名称”下方输入:
=sheet1!series_name
在“系列值”下方输入:
=sheet1!series_value
注意上述两个公式中包含当前工作表名称,本例为“sheet1”,需根据实际进行修改。如果省略名称前面的“sheet1!”,Excel会提示“您所键入的公式含有错误……”而无法输入名称。
单击“确定”,返回“选择数据源”对话框,右侧的“水平(分类)轴标签”区域中单击“编辑”按钮,设置水平轴标签区域为A2:A13,单击两次“确定”完成图表。
联系客服