阅: 2071 | 回: 0
等级:初学者
- 积分:0
- 财富值:0.0
- 身份:普通用户
数组公式获取某列包含数据的最后一行行号
要获取某列最后一个包含数据的单元格所在行的行号,可以用下面的几个数组公式,以A列为例:
=MAX(NOT(ISBLANK(A1:A65535))*ROW(1:65535))
公式输入完毕按Ctrl+Shift+Enter结束(下同),该公式对A列中每个包含数据的单元格指定其行号,对空单元格返回“0”,并用MAX函数得到最后一行的行号。
或数组公式:
=LOOKUP(2,1/NOT(ISBLANK(A1:A65535)),ROW(A1:A65535))
“1/NOT(ISBLANK(A1:A65535))”返回一个由“1”和错误值组成的数组,其中非空单元格返回“1”,空单元格返回错误,LOOKUP函数的第一个参数为“2”,由于在上述数组中找不到,会返回第三个参数“ROW(A1:A65535)”中最后一个“1”对应的值,即最后一行的行号。
或数组公式:
=MATCH(2,1/NOT(ISBLANK(A1:A65535)))
MATCH函数的第三参数省略,将查找小于或等于“2”的最大值,返回最后一个“1”的位置,即最后一行的行号。
如果A列中包含数值,下面的数组公式返回最后一个数值所在的行号,而忽略最后一个数值后面的文本、错误值等:
=MATCH(9E+307,A:A)
要获取某列最后一个包含数据的单元格所在行的行号,可以用下面的几个数组公式,以A列为例:
=MAX(NOT(ISBLANK(A1:A65535))*ROW(1:65535))
公式输入完毕按Ctrl+Shift+Enter结束(下同),该公式对A列中每个包含数据的单元格指定其行号,对空单元格返回“0”,并用MAX函数得到最后一行的行号。
或数组公式:
=LOOKUP(2,1/NOT(ISBLANK(A1:A65535)),ROW(A1:A65535))
“1/NOT(ISBLANK(A1:A65535))”返回一个由“1”和错误值组成的数组,其中非空单元格返回“1”,空单元格返回错误,LOOKUP函数的第一个参数为“2”,由于在上述数组中找不到,会返回第三个参数“ROW(A1:A65535)”中最后一个“1”对应的值,即最后一行的行号。
或数组公式:
=MATCH(2,1/NOT(ISBLANK(A1:A65535)))
MATCH函数的第三参数省略,将查找小于或等于“2”的最大值,返回最后一个“1”的位置,即最后一行的行号。
如果A列中包含数值,下面的数组公式返回最后一个数值所在的行号,而忽略最后一个数值后面的文本、错误值等:
=MATCH(9E+307,A:A)
我的个性签名