Forum Discussion
Find/return the next value in the column list
- Nov 16, 2019
You may find with MATCH() position of the number in the list, and with INDEX() return value from the cell in next position. If, for exmple, your list is in column A and number to search is in cell B1, it could be
=IFERROR(INDEX(A:A,MATCH(B1,A:A,0)+1),"no such number")
VLOOKUP always has been a flawed function for a number of reasons, INDEX/MATCH would be better here. Calling you list and number by those names, the simplest formula is
= INDEX( list, 1 + MATCH( number, list, 0 ) )
Instead of adding 1 to the index it is also possible to define 'offsetList' to be a range one cell down from the initial list:
= INDEX( offsetList, MATCH( number, list, 0 ) )
Switching to the latest versions of Office 365, one has the new XLOOKUP function which replaces other lookup function in almost all circumstances. Using the offset list once more
= XLOOKUP( number, list, offsetList )
or if volatile functions are not a problem
= OFFSET( XLOOKUP( number, list, list ), 1, 0 )