Excel技巧:按周及特定任务汇总工时日志并随月份自动计算
Excel工时日志按周汇总解决方案
解决SUMIFS任务选择问题的核心公式
先明确两张表的基础结构(如果你的列不一样,自行替换对应列标):
- 「Work Log」表:A列存任务名称,B列存任务日期,C列存工时数
- 「Overview」表:A1放目标月份(比如输入「2024/05」),B2放要汇总的特定任务名称
按周汇总的SUMIFS公式
要计算目标任务在指定月份第N周的工时,用这个公式(把N换成具体周数,比如第1周就写1):
=SUMIFS( 'Work Log'!$C:$C, 'Work Log'!$A:$A, $B$2, 'Work Log'!$B:$B, ">="&DATE(YEAR($A$1),MONTH($A$1),1), 'Work Log'!$B:$B, "<="&EOMONTH($A$1,0), 'Work Log'!$B:$B, ">="&DATE(YEAR($A$1),MONTH($A$1),1)+(WEEKNUM(DATE(YEAR($A$1),MONTH($A$1),1),2)-1)*7+(N-1)*7, 'Work Log'!$B:$B, "<="&DATE(YEAR($A$1),MONTH($A$1),1)+(WEEKNUM(DATE(YEAR($A$1),MONTH($A$1),1),2)-1)*7+N*7-1 )
备注:WEEKNUM参数
2是周一作为一周起始,习惯周日起始就改成1;公式里的日期判断是为了精准锁定当月内的指定周,避免跨月统计。
任务匹配失败的快速排查
之前用SUMIFS选不到任务,大概率是这两个问题:
- 任务名称有前后空格/不可见字符:选中「Work Log」A列,用
=TRIM(A1)清除空格,把结果粘贴回原列 - 大小写不一致导致匹配失败:如果需要不区分大小写匹配,用
SUMPRODUCT+EXACT替代SUMIFS(要严格匹配就忽略):
=SUMPRODUCT( --(EXACT('Work Log'!$A:$A,$B$2)), --('Work Log'!$B:$B>=DATE(YEAR($A$1),MONTH($A$1),1)), --('Work Log'!$B:$B<=EOMONTH($A$1,0)), --('Work Log'!$B:$B>=DATE(YEAR($A$1),MONTH($A$1),1)+(WEEKNUM(DATE(YEAR($A$1),MONTH($A$1),1),2)-1)*7+(N-1)*7), --('Work Log'!$B:$B<=DATE(YEAR($A$1),MONTH($A$1),1)+(WEEKNUM(DATE(YEAR($A$1),MONTH($A$1),1),2)-1)*7+N*7-1), 'Work Log'!$C:$C )
月份切换自动更新的优化技巧
- 给A1做下拉月份菜单:选中A1→「数据」选项卡→「数据验证」→允许选「序列」,来源输入需要的月份(比如「2024/01,2024/02,2024/03」),切换时不用手动输入
- 动态周数列:在「Overview」表C1:C6(对应当月最多6周)输入「第1周」到「第6周」,每个周数对应的单元格放上面的公式,切换A1的月份后,所有周的工时会自动同步计算
内容的提问来源于stack exchange,提问作者Paul Anthony Alvaran
相关产品推荐
相关产品推荐

