多年前,我经常出差去外地的工厂。记得佛山那边有家工厂,外墙印刷着“效率第一,完美第二”几个字,醒目,威严。卢子是负责产品质量的,原则是“完美第一,效率第二”,因此,每次看到这八个字,总觉得别扭。
总觉得哪哪儿都不对。
直到后来,卢子在表格中悟出了效率为王之道。
这是某读者根据老板要求制作的一张统计表。假设这张表格是最终的结果,后续不做任何统计分析,是没有任何问题的。但如果要进行其他统计分析,会出现一大堆问题哒。
项目1-8h-L表示项目名称-时间-人员,因为合并在一起,要统计时间就需要将时间从这个文本中分离出来才行。
统计每一行的总时间,输入公式,按Ctrl Shift Enter三键结束。
=SUM(IFERROR(--MID(B4:H4,FIND(''-'',B4:H4) 1,FIND(''h'',B4:H4)-FIND(''-'',B4:H4)-1),0))
01 MID部分就是从第一个-的位置加1位开始提取,提取h跟第一个-之间相差的位数再减去1,刚好是数字的个数。
02 因为MID提取出来的是文本数字,需要加--进行转换成标准数值。
03 有的单元格没有-跟h字符就会出错,所以用IFERROR让错误值显示0,然后用SUM进行求和。
这个仅仅是统计每一行的金额而已,如果要按项目统计金额,这简直不可思议啊!对于”我是小白我自豪“级别的读者来说,简直逆天地烧脑啊!函数高手们不妨一试啊!
老板眼中的完美表格,是要牺牲大量的时间和精力。
如果以“效率第一,完美第二”,你会看到这么一张表格。
这里的周几跟第几周可以借助公式实现:
=TEXT(B2,''aaa'')
=WEEKNUM(B2,2)
有了这么一张表格,以后数据统计轻而一举,为了让统计更加智能,还可以进行一些处理。
Step 01 定义一个动态区域的名称。
=OFFSET(''2017年8月份设计时间统计表''!$A$1,,,COUNTA(''2017年8月份设计时间统计表''!$E:$E),COUNTA(''2017年8月份设计时间统计表''!$1:$1))
Step 02 创建数据透视表。这里有一点要注意,引用区域输入刚刚定义的名称。
Step 03 统计每一周每个项目的时间。
Step 04 为了让效率提升到极致,再添加自动刷新代码。借助快捷键Alt F11调出VBA窗口,双击ThisWorkbook,将代码粘贴在空白处。
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ActiveWorkbook.RefreshAll
End Sub
现在动态数据源 动态刷新都有了,一起来看效果。增加了最后一行数据,自动更新到数据透视表。
Step 05 将表格另存为启用宏的工作簿。