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

如何根据项目不同起始日期从Sheet B向Sheet A调取周工时数据?

Excel跨工作表按日期匹配取数解决方案

核心公式(兼容全版本Excel)

假设Sheet A的结构为:

  • A列为项目名称(项目4在A4单元格)
  • 第1行从B1开始为连续的周起始日期(B1=2023/6/12,依次往后每周递增7天)
  • Sheet B中项目4的工时数据存于K6:X6,对应起始周为2023/9/4

在Sheet A的B4单元格输入以下公式,然后横向填充至所有列:

=IF(B$1<DATE(2023,9,4),0,INDEX('Sheet B'!$K$6:$X$6,COLUMN()-MATCH(DATE(2023,9,4),$1:$1,0)+1))

公式解释

  • 日期判断逻辑:IF(B$1<DATE(2023,9,4),0,...) 检查当前列的周日期是否早于项目4的起始周,满足则返回0
  • 定位起始列:MATCH(DATE(2023,9,4),$1:$1,0) 找到2023/9/4在Sheet A第1行的列位置,确定项目4数据的起始列
  • 计算偏移量:COLUMN()-MATCH(...) +1 算出当前列相对于项目4起始列的偏移数,对应Sheet B中K6开始的第N个工时单元格
  • 提取数据:INDEX('Sheet B'!$K$6:$X$6, 偏移量) 从Sheet B的项目4工时区域中取出对应周的数据

灵活优化方案

如果项目4的起始日期存于Sheet B的某个单元格(比如J6),可将公式中的DATE(2023,9,4)替换为'Sheet B'!$J$6,实现动态适配:

=IF(B$1<'Sheet B'!$J$6,0,INDEX('Sheet B'!$K$6:$X$6,COLUMN()-MATCH('Sheet B'!$J$6,$1:$1,0)+1))

注意事项

  • 确保Sheet A第1行的日期为连续周起始日,且日期格式统一
  • Sheet B的K6:X6区域的工时数据需按周顺序排列,与Sheet A的周序完全匹配
  • 若使用Excel 365/2021,可改用XLOOKUP简化,但上述公式兼容所有Excel版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 02:40:10