excel利用公式获取行或列中最后一个非空单元格数据
如果需要在Excel中获取某行或某列中最后一个非空单元格中的数据,可以使用下面的数组公式:
假如数据在A1:A100区域中,要获取最后一个非空单元格值,公式为:
=INDEX(A1:A100,MAX(ROW(A1:A100)*(A1:A100<>"")))
如果要获取第一行中最后一个非空单元格值,公式为:
=INDEX(1:1,MAX(COLUMN(1:1)*(1:1<>"")))
上述公式输入完毕后,按Ctrl+Shift+Enter结束。
另外,还可以使用下面的公式:
1.查找数据为数值:
=LOOKUP(9E+307,A1:A100)
说明:9.99999999999999E+307是Excel允许在单元格中输入的最大数值,为方便书写,公式中写为“9E+307”,因为通常单元格中不会有如此大的一个数值。使用LOOKUP函数在A1:A100区域中查找“9E+307”这样一个不存在的十分巨大的数值,无论A1:A100区域中的数值是否按顺序排列,LOOKUP函数都返回最后一个包含数值的单元格内容。
获取最后一个包含数值的单元格的相对位置:
=MATCH(9E+307,A1:A100)
公式返回最后一个包含数值的单元格在A1:A100区域中相对位置。
如果要查找的范围为一列,如A列,那么上述两个公式分别为:
=LOOKUP(9E+307,A:A)
=MATCH(9E+307,A:A)
如果要查找的范围为一行,如第5行,将公式中的“A:A”改为“5:5”即可。
2.查找的数据为文本:
假如数据在A1:A100区域中,要获取最后一个包含文本的单元格内容,公式为:
=LOOKUP(CHAR(65535),A1:A100)
要返回最后一个包含文本的单元格在区域中的相对位置,公式为:
=MATCH(CHAR(65535),A1:A100)
说明:上述两个公式仅适用于Excel 2003