在 Excel 中,如何访问同一行的 {col B 中的值},其 {col A 中的值} 等于 {{col A 中第 x 行中的值} 减去 365}?我的目的是使用不规则间隔的燃油和里程日志来计算前 12 个月车辆的运行平均(年度)燃油效率。
A 列包含按升序排列的日期,相邻单元格之间的日期间隔较大。B 列包含相应的里程表读数,C 列包含该日期购买的相应燃油。
从第一次输入后至少一年开始,我希望计算每加仑英里数的年度平均值,并将其放在第 x 行的 D 列中。第 x 行对应于第一次输入后至少一年的日期。
分子将是单元格 Bx 的内容与列 B 中单元格中对应值之间的差值,该列 B 的行对应于列 A 中的日期(经过适当四舍五入),比列 A 的第 x 行的日期早 365 天。
分母将是单元格 C 中与列 A 中的日期(与上述相同的适当舍入)对应的行的单元格内容的总和,该日期比列 A 的第 x 行中的日期早 365 天。
我希望我可以插入一张草图来说明所需地址引用的 2D 布局。我希望这次我的文字能更清楚地描述情况,这样就行了。
答案1
我对数据的外观做了一些假设,因此可能需要根据“不规则间距”的不规则程度进行一些调整。
我假设有一个标题行,因此您第一次可以获得 365 天的数据是第 366 行。我假设每天都有一行,没有任何间隙。如果这些天不是连续的,没有间隙,那么公式就会变得非常丑陋,它会计算当前日期之前的 365 天,然后搜索该日期或之后最近的日期,只是为了设置要进行 SUMS 的范围的上限。
我还假设 A 列是日期,B 列是当天使用的加仑数,C 列是当天行驶的英里数。B 列和 C 列可能有间隙,但这不会影响我的答案。
在单元格 D366 中,您将得到以下公式:
=SUM(OFFSET(D366,-364,-1,365,1))/SUM(OFFSET(D366,-364,-2,365,1))
这将为您提供前 364 行(加上当天的英里数)的英里总和(左侧一列)除以前 364 行(加上当天的加仑数)的加仑总和(左侧两列)。