Google Sheets公式:获取指定单元格上方最后非空单元格用于计算
解决Excel动态求和范围的问题
直接用INDEX搭配MATCH就能实现需求,不用硬写固定行号,下面是单元格H10中要使用的公式:
=SUM(D43:INDEX(D:D,MATCH(9.99999999999999E+307,D43:D100,1)))/SUM(E43:INDEX(E:E,MATCH(9.99999999999999E+307,E43:E100,1)))
公式说明:
MATCH(9.99999999999999E+307,D43:D100,1):这部分用来查找D43到D100范围内最后一个有数值的单元格行号(用这个超大数值是因为Excel会自动匹配到区域内最后一个数值型非空单元格)。INDEX(D:D, 行号):根据找到的行号定位到D列对应的单元格,以此作为求和的终点,替代原来硬编码的53行。- 如果D、E列的内容是文本类型,把公式里的
9.99999999999999E+307换成"*"即可,修改后的公式:=SUM(D43:INDEX(D:D,MATCH("*",D43:D100,-1)))/SUM(E43:INDEX(E:E,MATCH("*",E43:E100,-1)))
注意事项:
- 确保D43到D100、E43到E100范围内的空单元格是真正的空白,不要是包含空格的假空单元格,否则公式会定位到错误的行。
- 这个公式只会纳入100行以内的最后非空行数据,100行之后的内容不会被计算进去。
内容的提问来源于stack exchange,提问作者PineNuts0
相关产品推荐
相关产品推荐

