In conjunction with say a Column letter a number may indeed indicate a specific cell but the syntax for =VLOOKUP is **VLOOKUP(lookup_value,table_array,col_index_num,**range_lookup) (ref) so in this context a number indicates an entire column (1 for `A`

[in this instance, since the index field is in `ColumnA`

], so `3`

for `C`

).

A fourth parameter (**range_lookup**) is generally advisable (usually `FALSE`

but `0`

serves) to ensure matching of index is exact and not just 'next best'. In an array ordered ascending for **lookup_value**, if the fourth parameter is omitted, `TRUE`

or `1`

the formula would return the next largest value that is less than **lookup_value**, *where there is no exact match*. Where *not* ordered 'next best' could be almost any of the values in the (here third) column.

With `FALSE`

or `0`

the array does not need to be ordered.

It may be worth repeating that the **col_index_num** cannot be negative.