Get the last row of a column in Excel, without VBA

前端 未结 2 1777
醉酒成梦
醉酒成梦 2020-12-21 17:00

In general, getting the last row of a given column in Excel is easily done with a User-Defined Function in VBA:

Function lastRow(wsName As String, Optional c         


        
2条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-21 17:26

    This one (without an array formula)

    =LOOKUP(2,1/(NOT(ISBLANK(A:A))),ROW(A:A)) 
    

    How does it work?

    1. NOT(ISBLANK(A:A)) returns an array of True and False
    2. 1/(NOT(ISBLANK(A:A))) then 1 divided by that array results in another array of 1 or #DIV/0! which is used as lookup_vector
    3. We use 2 as lookup_value which cannot be found because the largest value in the lookup_array is 1, so lookup will match the last 1 in the array.
    4. As result_vector we use ROW(A:A) to get the row number of the last used cell
      (alternatively use A:A to get the value instead of the row number).

提交回复
热议问题