我有一张表格,记录了我在特定日期花费的所有钱,包括收据等。日期不固定,所以表格可能看起来像这样:
A B
╔════════════╦════════╗
1║ Date ║ Money ║
╠════════════╬════════╣
2║ 2014-09-01 ║ £4.00 ║
3║ 2014-09-01 ║ £15.00 ║
4║ 2014-09-18 ║ £40.00 ║
5║ 2014-09-27 ║ £3.50 ║
6║ 2014-09-27 ║ £5.00 ║
7║ 2014-10-01 ║ £4.50 ║
8║ 2014-10-04 ║ £3.00 ║
╚════════════╩════════╝
我想要做的是创建一个公式来计算 7 天内的费用。例如:
C D E
╔══════╦════════════╦══════════════╗
1║ Week ║ Date ║ Amount spent ║
╠══════╬════════════╬══════════════╣
2║ 1 ║ 2014-09-01 ║ £19.00 ║
3║ 2 ║ 2014-09-08 ║ 0 ║
4║ 3 ║ 2014-09-15 ║ £40.00 ║
5║ 4 ║ 2014-09-22 ║ £8.50 ║
6║ 5 ║ 2014-09-29 ║ £7.50 ║
╚══════╩════════════╩══════════════╝
我想要在Amount Spent
列中执行的操作是读取Date
第一个表的列,并找到与日期加 6 匹配的所有行(因此,在第一行,我希望公式查找 2014-09-01、02......直到 07,但是当找到 08 时,停止计数。)
然后,对于第一个表中属于该 7 天期限的每个日期,查看该Money
列并将所有值相加。因此,该Amount Spent
列应该是第一个表中所有值的总和Money
,这些值属于该列指定的范围Date
。我希望这是有意义的。
我尝试使用 MATCH,但我认为它无法按我想要的方式工作。这将出现在单元格 E2 中:
=MATCH(D2, $A$2:$A$8, 1)
因此,这将在第一个表中查找小于或等于当前日期的行号。但这行不通:假设我取日期 2014-09-15。它会指向 A3:2014-09-01。但这不是 15 日那一周;15 日没有花费任何钱。
即使我搞清楚了,我也不知道如何使用行号数组来对金额求和。你能帮我解决这个问题吗?
答案1
如果你添加一个辅助列(我们称之为Z
),其中包含WEEKNUM(A2)
(如 MBu 所建议的),那么
=SUMIFS(B2:B8, Z2:Z8, 9)
将在列中包含 的B
行的列中添加值;即,列中的日期是第 9 周。Z
9
A