有没有一种方法可以更改Excel工作表中基于日期引用其他工作表的公式?

时间:2020-07-05 11:09:21

标签: excel vba excel-formula data-entry

我已经花了数小时使用VBA,VLOOKUP,INDIRECT等在帖子中进行搜索,但是对于这种特殊情况并没有多大运气,最终使自己更加困惑。

我实际上是在做每日财务报告。我有两个工作表。第一个是“摘要” ,它只是从当天的销售额中收集所有数据和数字,并整齐地呈现它们。第二个工作表是“每周” ,这是我每天将直接值输入到单元格中的位置(例如,已售出的商品,零售运输成本,今天的餐饮总销售额)。例如,每个月的第3天的所有数字都由我自己在D列下手动输入。每月第4的所有数字都输入到E列。

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

摘要-https://i.imgur.com/6KqiyY8.png 每周-https://i.imgur.com/R8eafum.png

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

1 个答案:

答案 0 :(得分:0)

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

比在所有公式中使用OFFSET()更好的方法是在“每周”工作表的末尾添加一列,例如将其命名为“ Today”。在此列的所有单元格中使用OFFSET()工作表函数。然后,您只能在“摘要”表中引用此列。

示例:在“每周”工作表中,将“ AG”列用作“今天”列。然后,“ AG10”的公式将变为=OFFSET(A10,0,$A$1),并且第一张图像中突出显示的单元格的公式将变为=+Weekly!AG10

相关问题