请教在EXCEL中如何在同一列隔行的单元格中取最后一个非空数值?

编制一个EXCEL数据报表,需要在同一列单元格中,每隔一行单元格要筛选出的最后一个非空数值的数据,比如说:R5:R20之间,单元格R5到R16都有数值,最后有数据的R15和R16数值分别是50和100,R17到R20为空单元格。需要在单元格R21列公式获得每隔一行的R5,R7,R9,R11,R13,R15,R17,R19这些奇数行单元格中最后一个非空数值,然后在R22单元格列公式获取每隔一行的R6,R8,R10,R12…等偶数行单元格中最后一个非空数值,公式计算出的结果应该是R21=50,R22=100,请问如何编公式?
同列连续单元格可以用Lookup(1,0/R5:R20<>""),R5:R20)公式计算,隔行奇数筛选单元格用Mod(Row(R5:R20),2),*R5:R20也可以,但要实现隔行筛选最后一个非空数,就不知道怎么编公式了,搜索百度网页、知道都没有答案,请各位大师帮忙!谢谢!
为了直观说明,补充截图表格,需要红色框内正确的的计算公式。

也来凑个热闹,一个数组公式:

R21=LOOKUP(9E+307,IF($R$5:$R$20="","",IF(MOD(ROW($5:$20),2)=MOD(ROW(),2),$R$5:$R$20,"")))

同时按Ctrl+Shift+Enter三键输入数组公式,下拉到R22

追答

按补充的图,原公式完全可以的。当然有了这个图,还可以更直接点的公式:

R21=LOOKUP(9E+307,IF($R$5:$R$20="","",IF($Q$5:$Q$20=Q21,$R$5:$R$20,"")))

同时按Ctrl+Shift+Enter三键输入数组公式,下拉到R22

S21、S22就是原公式。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-29

见截图

R21输入

=INDEX(R:R,MAX(IF(ISODD(ROW($5:$20))*($R$5:$R$20<>""),ROW($5:$20),0)))

R22输入

=INDEX(R:R,MAX(IF(ISEVEN(ROW($5:$20))*($R$5:$R$20<>""),ROW($5:$20),0)))

两公式均为数组公式,先按住CTRL+SHIFT,最后回车

第2个回答  2018-01-29
就是要找到一列数据里面,最后一个不为空的奇数行后偶数行的值吗?
第3个回答  2018-01-29
R21中的公式
=LOOKUP(1,0/((R5:R20>0)*(MOD(ROW(R5:R20),2)=1)),R5:R20)
R22中的公式
=LOOKUP(1,0/((R5:R20>0)*(MOD(ROW(R5:R20),2)=0)),R5:R20)本回答被提问者采纳