谷歌表格用索引求和函数批量计算高尔夫机械燃油消耗量
谷歌工作表机械油耗批量计算通用公式方案
核心实现逻辑
要批量计算B列所有在册机械的油耗,核心是先定位单台机械所有历史记录里的最新日期对应数据行,再提取该行的油耗值,不需要复杂数组嵌套,用谷歌工作表原生函数即可实现,公式写完下拉就能批量填充整列。
可用公式(二选一即可)
首先先确认你表内的字段位置,按实际情况替换公式里的列引用:
- 机械编号列:作业记录里存机械编号的列(和B列编号一一对应)
- 日期列:作业记录里存作业/加油日期的列
- 油耗列:作业记录里存油耗数值的列
- 如果所有数据都在同一个工作表,删掉公式里的表名前缀即可;如果作业记录存在单独工作表,把表名替换成你实际的工作表名称。
兼容写法(支持所有谷歌工作表版本,容错率高)
在H列第一个待计算行(一般是H2,和B2的机械编号对应)输入以下公式:
=INDEX(油耗值所在列的整列引用,MATCH(MAXIFS(日期列整列引用,作业记录机械编号列整列引用,B2),日期列整列引用,0))
举个实际替换后的参考:如果你的日期存在D列、作业记录的机械编号也在B列、油耗值存在G列、所有数据同表,公式就写成:
=INDEX($G:$G,MATCH(MAXIFS($D:$D,$B:$B,B2),$D:$D,0))
简化写法(仅支持新版谷歌工作表)
如果你的表格支持XLOOKUP函数,可以用更短的写法:
=XLOOKUP(MAXIFS(日期列整列引用,作业记录机械编号列整列引用,B2),日期列整列引用,油耗值所在列的整列引用,0)
注意事项
- 日期列必须设置为「日期」格式,不能是存日期内容的文本格式,否则函数无法识别最新日期(即日期最大值)
- 如果机械编号前后可能存在隐形空格导致匹配失败,可以把公式里的匹配条件
B2改成TRIM(B2),同时把引用的作业记录机械编号列也套上TRIM函数 - 公式在首个单元格生效后,点击单元格右下角的填充柄下拉,即可自动批量计算B列所有机械的对应油耗
- 可以用你已经手动计算完成的7500 #2号机械结果做校验,数值一致就说明列引用正确
内容的提问来源于stack exchange,提问作者Charles Jerrard
相关产品推荐
相关产品推荐

