VLOOKUP関数の列番号を自動変更にする方法|横にコピーで

ここでは、エクセルのVLOOKUP関数の「列番号を自動変更にする方法」を解説します。 

 

VLOOKUP関数を使った数式を横にコピーする時に便利で、コピーする数が多ければ多いほど効果を発揮します。

1.まずはやりたいことを確認

まずは、やりたいことを例を含めて確認します。

 

1-1.列番号を自動変更にしたい

やりたいことは、「VLOOKUP関数の列番号を自動変更にする」です。

 

そもそもVLOOKUP関数の列番号は、「範囲のうちで抽出する列」を指定するところです。

 

ここを数値で固定してしまうと、VLOOKUP関数を用いた数式を横にコピーした時に「同じ列の値」を返してしまいます。

 

列番号を可変にすることで、元の表と同じ順番で項目ごとの値が表示されます。

 

1-2.例で確認

一つ例を見てみましょう。

上の左表は「住所録」です。

 

この表からナンバーを検索値にして、セルG3にVLOOKUP関数を用いた次の数式を入力しました。

=VLOOKUP($F3,$A$2:$D$5,2,FALSE)

 

検索値としてセルF3に「2」を入れた後、数式をセルH3とI3にコピーします。

すると、コピー先にも住所が入ります。これはコピーした数式の列番号が「2」と固定しているからです。

 

それでも一から数式を入れ直すのは面倒だからと、列番号を手で直すことがあるでしょう。これが「列番号変更」です。

 

しかし一つや二つくらいならいいですが、列がたくさんある場合、全て手で直すのはとても面倒です。

 

そこでそんな時には、ここで紹介する「数式をコピーするだけで列番号も自動で変わってくれる方法」を使うといいのです。

2.コピーで列番号が自動で変わる数式は

では、列番号を自動変更できる数式を見ていきます。

 

3-1.数式の形は

数式の形は次の通りです。

=VLOOKUP(検索値,範囲,COLUMN(配列),検索方法)

 

緑の「COLUMN(配列)」のところが普段と違います。

 

ちなみに、COLUMN関数は「列番号を返す」関数です。

上のようにカッコ内でセルA1を指定すると、A列は1番目の列なので「1」が返ってきます。

 

なお、COLUMN関数の使い方をもっと詳しく知りたい場合には、次のページを参照してください。

⇒ COLUMN関数ってなに?意味や使い方を解説

 

3-2.引数指定のポイント

列番号を自動変更する際の、各引数の指定のポイントを見ていきます。

 

3-2-1.検索値はセル番号なら絶対参照にする

検索値にセル番号を入れている場合には、「絶対参照」にします。理由は、「数式をコピーした際に参照先が変わらないようにするため」です。

 

例えば「A1」と入っている場合には、「$A$1」と$を2つ付けます。

 

反対に、条件値を式内に入れている場合には何も変える必要はありません。

 

3-2-2.範囲も絶対参照にする

範囲も絶対参照にします。理由は検索値と同じく、「参照先が変わらないようにするため」です。

 

例えば「A1:C10」と入っている場合には、「$A$1:$C$10」と$を4つ付けます。

 

3-2-3.配列には「抽出したい列の番目に対応したセル番号」を入れる

配列には、「範囲のうち抽出したい列の番目に対応したセル番号」を入れます。

 

「範囲のうち抽出したい列の番目」とは、抽出したいのは範囲のうち左から何番目の列か?ということです。例えば、範囲が「C1:F10」ならC列は1番目、D列は2番目、E列は3番目、F列は4番目です。

 

「対応したセル番号」とは、COLUMN関数が返す値が「抽出したい列の番目」になるようにする、ということです。

 

1番目を抽出したいならなら「A」、2番目なら「B」、3番目なら「C」となります。

 

なお、行番号はどんな値でもいいですので、ここでは「1」で統一します。

 

まとめると、抽出したいのが範囲のうち1列目なら「A1」を、2列目なら「C1」を、3列目なら「C1」を入れます。

 

3-2-4.検索方法はいつもと同じ

検索方法の指定の仕方は、いつもと変わりません。

3.数式の作り方

では、先ほどの例を用いて「列番号」の指定の仕方とその後を見てみましょう。

 

以下手順です。

 

(1)セルに「=VLOOKUP(」と入力し「fx」を押す

 

(2)検索値を入れ、セル番号の場合にはF4キーを1回押して絶対参照にする

 

(3)範囲を入れ、F4キーを1回押して絶対参照にする

 

(4)列番号に「COLUMN(」と入れ、対応したセル番号を入れた後「)」を入れる

※ 列番号には$は付けない

 

(5)検索方法を入れる

※ 多くの場合は完全一致の「FALSE」

 

(6)Enterキーを押す

 

(7)数式を横にコピーすれば完了

4.なぜ列番号が自動的に変更されるのか?

「配列も数式のコピーで変わるから」です。

 

先ほどの例では、セルG3に入れた数式の中で配列を「B1」と指定しました。

 

これは、範囲の中で左から2番目にある「住所」を抽出したかったからです。

 

ちなみに、COLUMN(B1)は「2」を返します。

 

一方、セルG3の数式を右隣のH3のコピーすると配列は「C1」に変わります。

「B1」に$を付けていないので、合わせて右隣に移るのです。

 

するとCOLUMN(C1)となり、「3」が返ってきます。

 

よって、「氏名」が抽出されます。

 

このように、コピーしたセルの位置に応じて配列の参照先も変わるので、結果手直しの必要がなくなるのです。

 

以上、参考になれば幸いです。

 


口コミ・評判のいいExcel本の紹介】


Top