Display the address of the last non-empty cell (if values are not unique)

后端 未结 3 679
南笙
南笙 2021-01-06 23:25

I have the following Excel spreadsheet:

             A                             B       C      D      E       F

1 |                                     |         


        
相关标签:
3条回答
  • 2021-01-06 23:42

    You can use the following array formula:

    = ADDRESS(ROW(B2),MAX(COLUMN(2:2)*NOT(ISBLANK(2:2))))
    

    This returns the address of the last non-empty cell in the 2nd row.

    Note this is an array formula, so you muse press Ctrl+Shift+Enter on the keyboard when entering this formula rather than just pressing Enter.

    I agree with @ScottCraner that returning the address usually isn't useful. If you are planning on using this value, as part of another formula, you should not do this:

    = INDIRECT(ADDRESS(ROW(B2),MAX(COLUMN(2:2)*NOT(ISBLANK(2:2)))))
    

    Instead, skip using INDIRECT and ADDRESS altogether and instead use INDEX to get the value in that cell, i.e.

    = INDEX(2:2,MAX(COLUMN(2:2)*NOT(ISBLANK(2:2)))))
    
    0 讨论(0)
  • 2021-01-06 23:52

    Consider:

    =ADDRESS(2,MATCH(TRUE,INDEX(ISBLANK(2:2),0,0),0)-1)
    

    NOTE:

    1. will handle either text or numbers, unique or not
    2. is not an array formula
    3. data must be compact....no empties in the middle

    The last restriction is important because the formula relies on finding the first empty in the row and taking one step back!

    0 讨论(0)
  • 2021-01-06 23:53

    Use:

    =ADDRESS(ROW(B2),MATCH(1E+99,$A2:$F2),4,1)
    

    Which will return the last cell with a number in that range.

    For text and numbers:

    =ADDRESS(ROW(B2),MAX(IFERROR(MATCH(1E+99,$A2:$F2),0),IFERROR(MATCH("zzz",$A2:$F2),0)),4,1)
    

    0 讨论(0)
提交回复
热议问题