Since you insist on using your original procedure, after checking your
example, I see you have a couple of ways to go.
My original thought of using a "relative named formula" would work for you.
BTW, my delimiters are commas, so you'll have to replace them.
For example, say you click in E1.
Then, from the Menu Bar:
<Insert> <Name> <Define>
In the "Names In Workbook" box, key in a short name, say
rt
to signify "right".
Then, in the "Refers To" box, change whatever's there to:
=F1
(Which is the cell to the right of the cell you selected before you
started).
Then <OK>
Now, if you enter
=rt
in *any* cell, you'll display the contents of the cell to the immediate
right.
SO, your formula might look something like this:
=IF(rt=0,"",IF(ISNUMBER(MATCH(rt,B:B,0)),$B$2,IF(ISNUMBER(MATCH(rt,C:C,0)),$
C$2,IF(ISNUMBER(MATCH(rt,D

,0)),$D$2,rt))))
After you define the named formula, any new sheet you create by copying the
original sheet will automatically contain that named formula.
b&s's Address formula can be made to work for you *also*.
Just wrap it in Indirect to change it from a Text return to an XL "legal"
cell reference.
=Indirect(Address(Row();Column()+1))
=IF(INDIRECT(ADDRESS(ROW(),COLUMN()+1))=0,"",IF(ISNUMBER(MATCH(INDIRECT(ADDR
ESS(ROW(),COLUMN()+1)),B:B,0)),$B$2,IF(ISNUMBER(MATCH(INDIRECT(ADDRESS(ROW()
,COLUMN()+1)),C:C,0)),$C$2,IF(ISNUMBER(MATCH(INDIRECT(ADDRESS(ROW(),COLUMN()
+1)),D

,0)),$D$2,INDIRECT(ADDRESS(ROW(),COLUMN()+1))))))
As far as your list being on another WB or WS, there's really no problem
there.
Just open both files, side by side, and click between them to set the
references.
That way XL will fill in the correct path for you.