如何在Excel中基于多独立数据表绘制含学生多科多次成绩与年级维度的图表?
如何在Excel中基于多独立数据表绘制含学生多科多次成绩与年级维度的图表?
当然可以!Excel完全能做到不用合并原始表,就能画出你想要的图表——我来给你捋捋两种实用的路子,都能保留你那三个独立表的整洁性:
方法一:用Power Pivot数据模型关联表(完全不生成新表)
适合不想新增任何表,只想靠关联关系实现的情况:
- 先启用Power Pivot(如果没开的话):
点「文件」→「选项」→「加载项」,管理下拉选「COM加载项」,点「转到」,勾选「Microsoft Power Pivot for Excel」确定就行。 - 把三个表导入数据模型:
选中数学成绩表的任意单元格,点「Power Pivot」选项卡→「添加到数据模型」,重复这步把科学成绩表、学生年级表也加进去。 - 建立表之间的关联:
打开Power Pivot窗口(点「Power Pivot」→「管理」),切到「关系图」视图:- 把学生年级表的「Student」字段拖到数学成绩表的「Student」字段上,自动建立一对多关系(一个学生对应多次数学成绩);
- 再把学生年级表的「Student」拖到科学成绩表的「Student」上,完成所有关联。
- 制作图表:
回到Excel主界面,点「插入」→「数据透视图」,选「使用此工作簿的数据模型」确定;
在字段列表里按需拖拽:- 把「学生年级」的「Grade」拖到「轴(类别)」区域,用来按年级分组;
- 把「数学成绩」/「科学成绩」的「Student」拖到「轴(类别)」(放在Grade下面,形成年级→学生的层级);
- 把两个科目的「Score」拖到「值」区域,要是想显示每个单独的成绩而不是汇总,右键值区域的「Score」→「值字段设置」,再到数据透视表的「分析」选项卡→「字段设置」→「布局和打印」里勾选「显示明细数据」,就能把每个学生的多次成绩都列出来了。
方法二:用Power Query生成临时汇总表(不修改原始表)
适合觉得数据模型有点绕,想有个直观的临时表来做图的情况:
- 合并两门课的成绩:
选中数学成绩表的任意单元格,点「数据」→「从表格/区域」进入Power Query编辑器;
点「主页」→「追加查询」→「追加查询作为新查询」,选科学成绩表,生成一个包含所有成绩的新查询;
加个「Subject」列区分科目:点「添加列」→「自定义列」,输入if TableName = "Maths Class" then "Maths" else "Science"(或者手动给两门课标记)。 - 关联年级信息:
点「主页」→「合并查询」→「合并查询作为新查询」,把刚才的成绩表和学生年级表通过「Student」字段合并,把「Grade」列拉进来;
关闭并上载到Excel,这会生成一个新的工作表,但你的原始三个表完全不动! - 制作图表:
基于这个临时表直接插图表就行,比如散点图、箱线图,轻松按「Grade」分组,显示每个学生的各科多次成绩,完全符合你的需求。
不管用哪种方法,Excel都会自动处理“学生没考某门课”“多次考试成绩”的情况,不用额外操心~
备注:内容来源于stack exchange,提问作者HSacxen




