Excel公式参考单元格在范围内的最后一个单元格

时间:2016-07-25 14:23:31

标签: excel excel-formula excel-2013

我试图设置一个公式来自动计算范围内最近添加的单元格(包括范围底部的#N / A值)与其上方单元格之间的百分比变化。我一直在使用这个公式来获得底部非#N / A单元格的值:

LOOKUP(2, 1/NOT(ISNA(G8:G19)), G8:G19)

哪个工作正常。我第一次想到如何到达它上面的单元格就是使用OFFSET,就像这样:

OFFSET(LOOKUP(2, 1/NOT(ISNA(G8:G19)), G8:G19), -1, 0)

但这给了我一个错误,我认为因为查找函数返回的是单元格中的值而不是单元格引用。如何格式化函数以返回范围内最后一个非N / A单元格上方的单元格值?

2 个答案:

答案 0 :(得分:1)

一种方法是使用这个数组公式:

=INDEX($G$8:$G$19,MATCH(2,IF(NOT(ISNA($G$8:$G$19)),1))-1)

作为数组公式,必须在退出编辑模式而不是输入时使用Ctrl-Shift-Enter确认。如果操作正确,那么Excel会将{}放在公式周围。

enter image description here

答案 1 :(得分:1)

尝试使用此替代方法来寻找G列中的最后一个非错误数值。

=index(G:G, match(1e99, G:G))/index(G:G, match(1e99, G:G)-1)

使用MATCH查找列中的最后一个数字会将行号返回到INDEX。从行号中减去1是一件简单的事。