如果需要在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)
可以用公式法或者基本操作法,操作法筛选最方便,提供另外一种方法。
假设数据在A列,选中A列整列,Ctrl+G,定位条件,选择【常量】,确定。
复制,选择一个空单元格,粘贴即可。
如果A列的数据都是公式产生的,在定位条件那里选择【公式】即可
非空单元格计数:
=COUNTA(A2:A100)
假设数据列为A列
=INDEX(A:A,SMALL(IF(ISBLANK(A:A),4^8,ROW(A:A)),ROW(A1))&"")
ctrl shift enter结束,数组函数
下拉