You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用公式实现员工月度工时汇总?已尝试XLOOKUP+SUMIFS未果

问题描述

现有员工周工时记录表格,需计算每位员工的月度总工时并填充到月度汇总表中。尝试组合XLOOKUP与SUMIFS公式未成功,寻求可行的公式方案。

周工时数据表格

资源姓名资源职级7/22/20247/29/20248/5/20248/12/20248/19/20248/26/20249/2/20249/9/2024
RobManager4020372923313332
TomAnalyst3025262719391931
JessicaSenior Analyst2034303534302924
JuliaBusiness Analyst1534282227363819

月度工时汇总表格

资源姓名资源职级7月8月9月
RobManager
TomAnalyst
JessicaSenior Analyst
JuliaBusiness Analyst
解决方案

方法1:SUMPRODUCT公式(兼容多数Excel版本)

假设周工时表数据范围为A1:I5(表头在第1行),在月度汇总表Rob的7月单元格(C2)输入以下公式:

=SUMPRODUCT((A$2:A$5=$A2)*(MONTH(B$1:I$1)=7)*B$2:I$5)

说明:

  • (A$2:A$5=$A2):匹配当前行的员工姓名
  • (MONTH(B$1:I$1)=7):筛选出7月对应的列
  • B$2:I$5:提取对应工时数据,最终相乘求和得到该员工7月总工时

将公式下拉填充至其他员工行,横向拖动时把公式中的7改为8、9即可计算8月、9月工时。

方法2:SUM+INDEX/MATCH组合公式

以Rob的7月单元格为例,公式如下:

=SUM(INDEX(B$2:I$5,MATCH($A2,A$2:A$5,0),MATCH(TRUE,MONTH(B$1:I$1)=7,0)):INDEX(B$2:I$5,MATCH($A2,A$2:A$5,0),MATCH(TRUE,MONTH(B$1:I$1)=7,1)))

说明:

  • MATCH($A2,A$2:A$5,0):定位当前员工在周工时表中的行号
  • MATCH(TRUE,MONTH(B$1:I$1)=7,0)/MATCH(TRUE,MONTH(B$1:I$1)=7,1):找到7月列的起始、结束位置
  • INDEX锁定对应行的7月工时范围,最终用SUM求和

方法3:动态数组公式(Excel 365/2021适用)

在月度汇总表C2单元格输入公式,回车后自动填充所有员工的7月数据,横向拖动可生成8月、9月数据:

=BYROW(A2:A5,LAMBDA(name,SUM(FILTER(INDEX(B2:I5,MATCH(name,A2:A5,0),:),MONTH(B1:I1)=COLUMN()-2))))

说明:

  • BYROW遍历每个员工姓名
  • INDEX+MATCH定位该员工的工时行
  • FILTER筛选对应月份的工时数据并求和
  • COLUMN()-2自动匹配当前列对应的月份(C列=3→3-2=7,对应7月)

内容的提问来源于stack exchange,提问作者Alytas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 12:23:22