有没有办法根据日期更改我的 Excel sheet 中引用另一部作品 sheet 的公式?

Is there a way to change the formulas in my Excel sheet that reference another worksheet based on the date?

我花了几个小时使用 VBA、VLOOKUP、INDIRECT 等来浏览帖子,但在这种特定情况下运气不佳,结果让自己更加困惑。

我基本上是在做每日财务报告。我有两个工作表。第一个是 “总结”,简单地收集当天销售的所有数据和数字,并整齐地呈现出来。第二个工作表是 “每周”,这是我每天将直接值输入单元格的地方(例如,今天售出的商品、零售运输成本、餐饮总销售额)。“每周”工作表在列中包含每个月的日期,例如,我在 D 列下手动输入任何月份的第 3 号的所有数字。该月第 4 号的所有数字都输入到列 E.

第一个工作表基本上只是更整齐地再次列出这些值,或者偶尔汇总到更大的销售类别中,这让我在“摘要”中有一长列单元格,其中包含“每周!F8”“每周!F10”等公式-每周!F3”,我必须每天更改以引用下一个日期的数字(例如每周!G8”“每周!G10-G3”)。到目前为止,我一直在使用搜索和替换来搜索“每周!* ”并替换为“每周!字母表的下一个字母”,但我正在寻找不同的解决方案。

总结 - https://i.imgur.com/6KqiyY8.png 每周 - https://i.imgur.com/R8eafum.png

有没有一种方法可以自动执行此操作,以便单元格公式更改为引用另一个工作表中的以下列,具体取决于日期或包含表示月份日期的整数的引用单元格。我可以手动更改一个参考单元格值,理想情况下也更新整列参考公式。

您可以使用OFFSET()工作sheet功能。例如,在您的第一张图片中,突出显示的单元格的公式将变为 =+OFFSET(Weekly!A10,0,$A),其中单元格 $A 是包含月份日期的参考单元格。

比在所有公式中使用 OFFSET() 更好的方法是在“每周”工作的末尾添加一列 sheet 并将其称为“今天”。在此列的所有单元格中使用 OFFSET() worksheet 函数。那么您可以在“摘要”中仅引用此列 sheet.

示例:在您的“每周”工作中sheet 使用“AG”列作为“今天”的列。那么“AG10”的公式将变为 =OFFSET(A10,0,$A) 而您第一张图片中突出显示的单元格的公式将变为 =+Weekly!AG10