我已经花了数小时使用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
有没有一种方法可以自动执行此操作,从而使单元格公式更改为引用另一个工作表中的下一列,具体取决于日期或引用单元格,该引用单元格包含表示月几日的整数。我可以手动更改一个参考单元格值,理想情况下还可以更新整个参考公式列。
答案 0 :(得分:0)
您可以使用OFFSET()
工作表功能。例如,在您的第一张图片中,突出显示的单元格的公式将变为=+OFFSET(Weekly!A10,0,$A$1)
,其中单元格$A$1
是包含月份中某天的参考单元格。
比在所有公式中使用OFFSET()
更好的方法是在“每周”工作表的末尾添加一列,例如将其命名为“ Today”。在此列的所有单元格中使用OFFSET()
工作表函数。然后,您只能在“摘要”表中引用此列。
示例:在“每周”工作表中,将“ AG”列用作“今天”列。然后,“ AG10”的公式将变为=OFFSET(A10,0,$A$1)
,并且第一张图像中突出显示的单元格的公式将变为=+Weekly!AG10