我对 Excel 还很陌生,作为一个小项目,我正在尝试制作一个电子表格,让我可以将我工作的小时数输入到时间表中,让 Excel 帮我计算总小时数,然后将我挣到的工资加到总额中,即发薪日的银行余额。
所以,到目前为止,我基本上已经把每部分都记下来了,除了非常棘手的部分“在发薪日,将过去 14 天的总额添加到我的银行余额中”。
我有一个逻辑检查来告诉 Excel 什么时候是发薪日,我知道我需要做什么,我只是不知道该怎么做或者是否有可能。:(
我的时间表如下:https://i.stack.imgur.com/6YufD.png
我本质上想要做的是这样的:
如果发薪日:
match today's date with the end date of a week -- if Today is a payday, it will
take the row that has that date, and the row above it. this is the range I want. -- match up with the end date
total all hours from within the range -- of a week listed.
multiply the total by 10.50
add that total to the Bank Balance
很抱歉一切都乱糟糟的,我还要请求你给出如此奇怪又复杂的答案 :(
如果有人能够提供帮助,我将非常感激。
答案1
答案2
这看起来像是我们可以用OFFSET
公式做的事情。该OFFSET
函数采用起始单元格,然后偏移一定数量的行和列,并返回一定大小的范围。在这种情况下,我们会使用类似这样的方法:
=SUM(OFFSET($B$1,MATCH($S7,$J$2:$J$37,0),0,1,7))
该OFFSET
函数使用 B1 作为锚点。该MATCH
函数向下查看 J 列以查看它在哪里找到我们当前感兴趣的日期的匹配项,并返回一个数字,表示它在哪里找到该值。我们将该数字反馈给OFFSET
,因此公式知道要查看其锚点下方的行数。然后我们使用硬编码的 0,因此继续OFFSET
查看 B 列,并返回高度为 1 行、宽度为 7 列的单元格范围。该范围传递给 SUM,SUM 将数字相加。