# Find value in last cell in column

In the below table (part of a greater sheet) I have a table of ECB monthly EUR/GBP closing rates. The two blanks are in respect of two additional occasions in a 28 day cycle and contain no data and are thus disregarded. The array in the example comprises cells in the range X4:X17. What I am seeking to do in another cell, is enter the most recent rate (in the example given 0.89605).

Currently, I just re-enter the data (overwriting what is already there in the reference cell) but I am certain there is a simple formula to achieve this objective.

I have tried VLOOKUP(), COUNTIFS(), INDEX() in various forms but with no success.

I'm certain there is a simple solution to this but just now, it evades me.

Can anyone propose a suitable, simple solution to return the value in the last occupied cell in a column of 14 data elements?

edit retag close merge delete

1

What about =INDIRECT("X"&SUMPRODUCT(MAX(NOT(ISBLANK(X:X))*ROW(X:X))))?

Not sure how that works but it returns a value of 23154.74. How does that relate to 0.89605 (the expected result)?

1

... then far below your cell with value 0.89605 there is another cell having value 23154.74. The formula is a full replacement for my second formula and according to your comment to my answer adaption to =INDIRECT("X"&SUMPRODUCT(MAX(NOT(ISBLANK(X4:X17))*ROW(X4:X17)))) will produce the same result.

You're right! Hadn't noticed that. Amended to your new version and that works. Thanks.

Sort by » oldest newest most voted

Hello,

try the following formula:

=OFFSET($X$1;SUMPRODUCT(MAX((X1:X1000<>"")*(ROW(X1:X1000))))-1;0;1;1), where you may need to adapt 1000 in X1000 to the real maximum number to appear in your sheet. You may also use:

=OFFSET($X$1;SUMPRODUCT(MAX((X:X<>"")*(ROW(X:X))))-1;0;1;1), but since this involves whole columns it may cause performance problems (if something doesn't work as it should), hence I generally try to avoid this.

Hope that helps.

more