你会不会设计上面这种含有复选框的动态表格?被选中的行自动高亮显示,并将选中的值自动合计到最后一行的合计单元格中。可以将未选中的行隐藏后打印输出。下面,我来一步一步教你如何设计这种表格。
第1步:设计好表格,F2单元格中输入公式=E2*D2,将公式向下填充到F6单元格。
第2步:制作复选框。在开发工具中找到“插入”选项,找到表单控件中的复选框,插入到选项单元格中。插入复选框后,将复选框自带的名称删除。
两点注意事项:
(1) 如你的Excel或WPS没有“开发工具”,是因为没有加载,通过工具选项卡加载“开发工具”即可
(2) 控件插入选项中有两种控件,即表单控件和ActiveX控件,我们这个表格用的是表单控件,ActiveX控件是需要VBA代码才能运行。
然后选中复选框,点击鼠标右键,切换到弹出对话框的“控制”栏,在“单元格链接”对话框中输入$G$2(或点击对话框右边的黑色箭头,点击表格中的G2单元格,按键盘回车键),最后点击确定。
这一步是什么意思呢?复选框有“被选中”和“不被选中”两种属性状态,在Excel中,复选框被选中的属性值为TRUE,未被选中的属性值为FALSE。我们得有一个地方来存放这个属性值,G2就是存放第一个复选框属性值的地方。至于为什么是$G$2而不是G2,这是Excel的引用方式问题,后面的文章中我会逐步讲到。
按同样的方法设计其余的复选框,其属性分别存放在$G$3、$G$4、$G$5、$G$6单元格中。
第3步:设计被选中的格式:
这个格式不是固定格式,是有前提条件的格式,因此,我们需要用到“条件格式”这个工具。
首先要选中需要变色的区域,本表为A2:F6(一定要先选中区域)。在开始选项卡中找到“样式”栏,点击“条件格式”,选“管理规则”
点击“新建规则”,在“规则类型中”选择最后一个“使用公式确定要设置格式的单元格”。在“符合此公式的值设置格式(O):”中输入$G2(或点击对话框右边的黑色箭头,点击表格上的G2单元,通过按键盘上F4键切换到$G2)。点击“格式”按钮,为选中复选框后需要高亮显示的行设置一个格式,可以是字体颜色,字体,也可以是填充颜色,本例中我选择填充颜色。
到此,格式设置完成,有两点注意事项:
(1) 对话框中一定要是$G2,而不是G2、G$2或$G$2,这还是Excel函数引用方式的问题。
(2) 有些时候因其他原因,“符合此公式的值设置格式(O):”中的$G2会发生变化,导致格式设置失败,此时再次进入条件格式,管理规格中编辑规则,将其改为$G2即可
第4步:设计求和方式:利用SUMPRODUCT函数求和。
在F7单元中输入函数:=SUMPRODUCT(F2:F6*G2:G6),然后同时按住键盘上的ALT+SHIFT+ENTER三个键,结束函数编辑。
函数输入技巧:输入=SUMP,系统会自动调出SUMPRODUCT,鼠标拖选合计列F2:F6,再输入*,鼠标再拖选复选框的属性值存放列G2:G6。最后ALT+SHIFT+ENTER三键结束函数。
这个函数的实际运算过程为=F2*G2+F3*G3+F4*G4+F5*G5+F6*G6
前文讲过,在Excel中TRUE和FALSE分别当做1和0参与运算。因此函数会计算出所有选中的行。由于上述运算中数据为y一个5×2的矩阵型数据,5行2列,Excel中称为数组,数组函数要用ALT+SHIFT+ENTER三键结束函数编辑。
第5步:优化表格
为了表格美观,最后将复选框属性值的存放列G2列隐藏掉(不能删除)。根据自己需要调整下表格,恭喜你,一个带有复选框的动态表格制作完成。
本文中涉及到了条件格式,其实Excel中的条件格有也相当有趣,也很博大精深,关注我,后续我会陆续发布关于条件格式的文章。