Use the concept from LOOKUP that enables the column to be searched not to be the first column in an array. This only requires adding a new parameter for VLOOKUP for lookup column. Then I can search for the matching value in column 3 and provide the result from column 1 or 2. Otherwise you have to structure the table for the intended search versus best way to structure table to show data.
Kenneth Barber commented
VLOOKUP was a bad idea. It solved LOOKUP's problem of only working on sorted arrays, but it also has an unintuitive and restrictive syntax.
Just use INDEX and MATCH together and give up on VLOOKUP.