在 Excel 中,我可以对动态但特定的单元格范围求和吗?

在 Excel 中,我可以对动态但特定的单元格范围求和吗?

我对 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

使用以下公式:

=IF(ISNUMBER(MATCH(INT(M2),J:J,0)),SUM(INDEX(B:B,MATCH(INT(M2),J:J,0)-1):INDEX(H:H,MATCH(INT(M2),J:J,0))),0)

M2 中有公式:(=TODAY()我对日期进行了硬编码以确保其有效)

在此处输入图片描述

然后只需将返回值乘以 10.5

答案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 将数字相加。

相关内容