熟练地掌握EXCEL的各种函数,可以让我们快速地进行数据的统计分析,不仅可以减少平常工作不必要的枯燥无味重复动作,且可以提升工作的效率。
近期遇到这个事例,需要每周统计各种产品过程检验的不良率,作为周报的输入。文件的第1个工作表是各个产品的按周统计的汇总,其表格则是每天的具体检验结果的输入。文员每天花了大量的时间用进行手工的录入,且统计的准确度不高。
原工作簿示例,如下.图1是每个不同产品的按周来统计一下每种产品的不良率,区域1是序号、名称与区域3工作表的名称一一对应,区域2是2023年第1周、第2周....到54周。
图1:汇总页
图2:单个工作表的格式
用函数解决上述问题,需要用到的函数WEEKNUM,SUMIF, INDIRECT
步骤如下:
Step1:左键点击工作表名称“1-A"来选定工作表1-A,按下shift后到需要的工作表后点击工作名称,本例到9-I,所有选中的工作表都变白了,这样就完成了多选工作表。
多工作表选定
Step2:在多选工作表中添加“周”一列。 多选工作表后,在其中一个工作表的任何操作,其它工作表都会随之更改,例如1-A工作表A1单元格输入A,所有其它工作表A1单元格也会输入A,插入、删除等操作同样如此。在选定的工作表1-A中,插入一列,在A3单元格输入=Weeknum(B3),函数会计算出所引用的日期是当年的第几周,然后下拉填充到所需要的区域。
建立辅助列
Step3:条件求和
在汇总页C4单元格输入:=SUMIF(INDIRECT("'"&$A4&"-"&$B4&"'!$A$3:$A$300"),C$2,INDIRECT("'"&$A4&"-"&$B4&"'!$e$3:$e$300")),下拉即完成所有的表格的汇总;不良品数的汇总只需要按求将$e$3:$e$300中对E列改成相应的F列即可。
Indirect函数:可以将括号中文本所描述的区域范围转成SUMIF函数所指向的区域范围。
INDIRECT("'"&$A4&"-"&$B4&"'!$A$3:$A$300")表示引用A4与B4单元格组成的工作表名称,$A$3:$A$300表示该引用的范围。
Sumif:条件求和函数,格式:sumif(条件区域,条件,求和区域)
条件求和汇总
总结:通过上述设置,汇总工作从原来的半天的时间变成只要有数据变化,汇总结果即会及时更新,So easy!
