There is a direct way to do this with VLOOKUP (and XLOOKUP which wasn't available then), although doing it with Power Query or VBA would be the gold standard. Especially with such a large move.
Many functions can use what is called an "array constant" in Excel for one of their parameters. ("One"... just one... Excel takes only the first entry from any second/third/etc. array constants in a single function's parameters.)
And array constant takes the form of: {"horse","cow",2,3567,21,"pig",8}
You can use one in either of the first or third parameters in VLOOKUP with the output parameter (the third one) being the most commonly used.
To do a VLOOKUP for a value in K1, finding it in a lookup range of A1:F500, and wanting columns B, E, and F returned for it, you would use:
=VLOOKUP(K1, A1:F500, {2,5,6}, FALSE)
INDEX is probably where you see it used the most. When it is, it can often be because one wants to re-order the columns and/or repeat columns. (Think a tight set of columns in which any bit of data occurs once in a row, so perhaps a first name. But your users need to scroll right and left a lot causing it to leave the screen and for them to not have an easy time keeping the call "friendly" by using the customer's first name. So you'd like that column to appear every 10 columns or so. Lots of good, but whacky reasons.)
If you wanted that VLOOKUP but needed columns in a different order and column 2 to appear twice, your array constant might look like this: {6,2,5,2} and VLOOKUP would happily return exactly that.
So you can do this with familiar tools although Power Query is surely best of all.