Strange Vlookup Behavior


Banned user
Jun 8, 2016
Hi guys,

This vlookup problem has me scratching my head. For the following table I use the vlookup formula below to lookup up book title, author and price in different cells at the same time. It includes a COLUMNS function to paste it across cells to return book title, author and price. Whats so strange about it is, I can enter COLUMNS($Z:Z) instead of COLUMNS($A:A) and I still get the right answers. Why does it do this if column Z isn't in the lookup table but works as good as column A which is?


1NumberBook TitleAuthorPriceType
21A Game of ThronesGeorge R.R.$19.77hardcover
32Go to SleepAdam Mansbach$8.22paperback
43A Dance with DragonsGeorge R.R.$18.81paperback
54The Hunger GamesSuzanne Collins$4.94paperback
65The Original ArgumentGlenn Beck$7.99hardcover
76Heaven is for RealTodd Burpo$9.34paperback
87UnbrokenLaura Hillenbrand$13.99hardcover
98Smokin' SeventeenJanet Evanovich$15.21paperback
109In the Garden of BeastsErik Larson$13.78paperback
1110Catching FireSuzanne Collins$8.97hardcover

Last edited:

Some videos you may like

Excel Facts

Excel Joke
Why can't spreadsheets drive cars? They crash too often!


MrExcel MVP, Moderator
May 28, 2005
Office Version
I can enter COLUMNS($Z:Z) instead of COLUMNS($A:A) and I still get the right answers. Why does it do this ..
Because COLUMNS($A:A) returns 1 and COLUMNS($Z:Z) also returns 1
If you drag it across one column..
COLUMNS($A:B) returns 2 and COLUMNS($Z:AA) returns 2

Watch MrExcel Video

Forum statistics

Latest member

This Week's Hot Topics

  • Timer in VBA - Stop, Start, Pause and Reset
    [CODE=vba][/CODE] Option Explicit Dim CmdStop As Boolean Dim Paused As Boolean Dim Start Dim TimerValue As Date Dim pausedTime As Date Sub...
  • how to updates multiple rows in muliselect listbox
    Hello everyone. I need help with below code. code is only chaning 1st row in mulitiselect list box. i know issue with code...
  • Delete Row from Table
    I am trying to delete a row from a table using VBA using a named range to find what I need to delete. My Range is finding the right cell. In the...
  • Assigning to a variable
    I have a for each block where I want to assign the value in column 5 of the found row to the variable Serv. [CODE=vba] For Each ws In...
  • Way to verify information
    Hi All, I don't know what to call this formula, and therefore can't search. I have a spreadsheet with information I want to reference...
  • Active Cell Address – Inactive Sheet
    How to use VBA to get the cell address of the active cell in an inactive worksheet and then place that cell address in a location on the current...