VLOOKUPは、関数のひとつで、条件に合ったデータを縦に探して、その右のデータを返す関数です。書式は
VLOOKUP (検索値, 範囲, 列番号, 検索の型)
です。
VLOOKUP を指定すると、検索値と一致するものを範囲のいちばん左の列から探し、その列番号より1少ない数だけ右のセルにあるデータを返します。
つまり、
という表がったときに、任意の場所に
 =VLOOKUP("しんばし",$A$1:$C$6,2)
と入力すると、A1からA6までのセルからしんばしを探し出して、2 - 1だけ右にある
 新橋
を表示します。
ところで、そのセルをひとつ右のセルにコピーしたらどうなるでしょうか。普通、Shinbashiが表示されると思いますが、表示はやはり新橋です。というのは、ひとつ右のセルにコピーしてもやはり中身は
 =VLOOKUP("しんばし",$A$1:$C$6,2)
で、
 =VLOOKUP("しんばし",$A$1:$C$6,3)
にはなってくれないのです。これでは困ってしまいますね。だからといって、最初のセルを呼び出すセルの名前を使って
 =VLOOKUP("しんばし",$A$1:$C$6,B1)
のようにすることはできません。
しかし、ここでひとつだけ方法があります。最初のセルを
 =VLOOKUP("しんばし",$A$1:$D$6,COLUMNS($A$1:B1))
のようにするのです。COLUMNSの最初の$A$1には、範囲の左端に当たるセルを入れます。（行はどの行を選んでも同じ結果になります）これならば右にコピーすれば
 =VLOOKUP("しんばし",$A$1:$D$6,COLUMNS($A$1:C1))
となり、Shinbashiが表示されます。