在许多实际工作中,需要查找一列或一行数据中最后一个单元格的值或位置。
例一:如附件第一个表所示,要求返回B列的最后一个非空单元格的数据。
表格B列的数据是连续的,因此可以简单地使用OFFSET函数和COUNTA函数来创建公式。
=OFFSET($B$1,COUNTA($A:$A)-1,)
如果数据表中的数据并不连续,数据之间有空单元格,如附件第二个表所示,则需要使用其它的方法来处理。
例二:要求返回A列中最后一个非空单元格的位置。
如果最后一个非空单元格为数值型数据,可以用下面的公式:
=MATCH(9E+307,A:A)
此公式通过在目标中查找近似于9E+307的值,从而返回最后一个非空单元格的位置。9E+307是EXCEL单元格中允许输入的最大数值。
如果最后一个非空单元格为文本型数据,可以用下面的公式:
=MATCH(CHAR(1),B:B,-1)
此公式在目标中查找大于或等于ASCI!码最小字符的值,从而返回最后一个非空单元格的位置。
例三:换用于例二不同的函数,返回A列数据中最后一个非空单元格的值。
如果最后一个非空单元格为数值型数据,可以用下面的公式:
=LOOKUP(9E+307,A:A)
如果最后一个非空单元格为文本型数据,可以用下面的公式:
=LOOKUP(CHAR(65535),B:B)
实际使用过程中
经常遇到计算结果返回""的单元格
=OFFSET($B$1,COUNTA($A:$A)-countblank(a:a),)操作的
|