要获取某列最后一个包含数据的单元格所在行的行号,可以用下面的几个数组公式,以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))
excel类似VLOOKUP能返回多个查询值的数组公式
在Excel中使用VLOOKUP函数可以在表格数组的首列查找指定的值,然后返回当前行中其他列的值。但表格数组第一列中有两个或多个值与查找值相匹配时,VLOOKUP函数只能返回第一个找到的值。如果要用公式返回与查找值相匹配的多个值,就像筛选的结果一样,可以用下面的数组公式。 假如要查找的区域为A2:B15,要查询&ld
“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)
在excel中利用数组公式生成不重复的随机整数列
要在Excel中生成不重复的随机整数列,例如将1-22这22个数进行随机排列,通常用在辅助列中输入RAND函数并排序的方法来实现。如果不用辅助列和VBA,用数组公式也可以实现。在A2单元格中输入数组公式: =LARGE(ROW($1:$22)*(1-COUNTIF($A$1:A1,ROW($1:$22))),INT(R