excelperfect 在Excel VBA中,可以使用End属性来获取最后一行,例如语句: Range('A' &Rows.Count).End(xlUp).Row 可以获得列A中最后一行,即从底向上最后一个含有内容的单元格所在的行。 如果想要使用公式来获取某列中最后一行呢?如下图1所示。 图1 可以看到,我们使用了LOOKUP函数,公式为: =LOOKUP(2,1/(B:B<>''),B:B) 公式中: B:B<>'' 将生成数组: {FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;…;FALSE} 使用1来除以这个数组,得到数组: {#DIV/0!;1;1;1;1;1;1;#DIV/0!;#DIV/0!;…; #DIV/0!} LOOKUP函数查找该数组中接近2的最后一个值的位置并返回相应位置的列B中的值,即单元格B7中的值。 当要查找的列中包含错误值,特别是最后一个非空单元格中包含错误值时,则需将公式调整为: =LOOKUP(2,1/(NOT(ISBLANK(B:B))),B:B) 如果列中单元格由数值与文本混合,可以使用下面的公式获取最后一个数值: =LOOKUP(2,1/(ISNUMBER(B:B)),B:B) 要获取最后一个值所在的行的行号,可使用公式: =LOOKUP(2,1/(B:B<>””),ROW(B:B)) 小结 通常,在查找值时我们会想到VLOOKUP函数,然而LOOKUP函数在某些情形下却能够巧妙地得到结果。并且,LOOKUP函数的公式接受数组而并不需要按Ctrl+Shift+Enter键。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。 欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。 完美Excel社群2020.11.6动态 #VBA# Excel编程周末速成班第8课:处理日期和时间 主要内容:Date数据类型如何存储日期和时间信息;从文字日期创建日期值;从系统时钟读取日期和时间;获取有关日期的详细信息;格式化日期和时间以供显示 |
|
来自: hercules028 > 《excel》