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

Excel中基于ACTUAL HRS和DAILY PRODUCTION表生成新表,函数异常求助

解决Excel多表匹配生成考勤与产出报表问题

核心逻辑说明

要实现需求,需完成两个关键匹配:

  • 匹配指定User ID在ACTUAL HRS表中对应日期的工时状态(空值代表缺勤)
  • 匹配同一User ID在DAILY PRODUCTION表中对应日期的leads数量
  • 根据工时状态返回"Absent"或对应leads数

推荐解决方案:INDEX+MATCH组合(更可靠)

假设第三张表名为FINAL REPORT,A列存放指定的User ID,C1-E1与另外两张表一致为11月1日-4日的日期表头。在FINAL REPORT的C2单元格输入以下公式,然后下拉、右拉填充整个数据区域:

=IF(INDEX('ACTUAL HRS'!$C:$E,MATCH($A2,'ACTUAL HRS'!$A:$A,0),MATCH(C$1,'ACTUAL HRS'!$C$1:$E$1,0))="","Absent",INDEX('DAILY PRODUCTION'!$C:$E,MATCH($A2,'DAILY PRODUCTION'!$A:$A,0),MATCH(C$1,'DAILY PRODUCTION'!$C$1:$E$1,0)))

公式拆解

  • MATCH($A2,'ACTUAL HRS'!$A:$A,0):精准定位当前User ID在ACTUAL HRS表A列的行号
  • MATCH(C$1,'ACTUAL HRS'!$C$1:$E$1,0):精准定位当前日期在ACTUAL HRS表表头的列号
  • INDEX('ACTUAL HRS'!$C:$E,行号,列号):获取对应User ID+日期的工时单元格值,判断是否为空
  • 若为空返回"Absent",否则用相同逻辑从DAILY PRODUCTION表提取对应leads数

关键注意事项

  • 单元格引用锁定:$A2锁定列(下拉时User ID列不变),C$1锁定行(右拉时日期表头行不变),$A:$A/$C:$E锁定整个列范围,避免填充时引用偏移
  • 处理不存在的User ID:如果指定的User ID在某张表中不存在,会返回#N/A,可以嵌套IFERROR优化:
    =IFERROR(IF(INDEX('ACTUAL HRS'!$C:$E,MATCH($A2,'ACTUAL HRS'!$A:$A,0),MATCH(C$1,'ACTUAL HRS'!$C$1:$E$1,0))="","Absent",INDEX('DAILY PRODUCTION'!$C:$E,MATCH($A2,'DAILY PRODUCTION'!$A:$A,0),MATCH(C$1,'DAILY PRODUCTION'!$C$1:$E$1,0))),"User ID Not Found")
    

原VLOOKUP方案的常见错误修正

如果坚持用VLOOKUP,需确保返回列数是动态计算的(而非固定数值),否则右拉时会匹配错误。正确写法如下:

=IF(VLOOKUP($A2,'ACTUAL HRS'!$A:$E,MATCH(C$1,'ACTUAL HRS'!$A$1:$E$1,0),0)="","Absent",VLOOKUP($A2,'DAILY PRODUCTION'!$A:$E,MATCH(C$1,'DAILY PRODUCTION'!$A$1:$E$1,0),0))
  • 常见错误:之前可能直接写死VLOOKUP的第三个参数(比如3),右拉时无法自动匹配后续日期列,导致匹配错位

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 14:20:23