Excelの別シートに表示したい列がある
Excelを利用している時、別のシートに記載されているデータを表示させたいことってありませんか?
例えばこんな時・・・
【産地名称シート】


産地名称が別シートにあり・・・
【発注シート】


発注シートだけでは、実際の産地がどこかわかりません。
発注シートの産地コードに該当する産地名を産地名称シートから検索して表示されていると便利ですよね。
Excelの別シートの値を検索し、表示するには
そんなときはVLOOKUP関数を利用します。
VLOOKUP(検索値,範囲,列番号[,検索方法])
対応バージョン | 2007 | 2010 | 2013 | 2016 |
---|
引数 | 説明 |
---|---|
検索値 | 検索用のキーワードが入ったセルを指定します。 |
範囲 | 検索に使う票のセル範囲を指定します。 |
列番号 | [範囲]の左端を1列目と数え、得たい情報がある列を数値で指定します。 |
検索方法 | [検索値]に一致するデータを得るにはFalse、[検索値]に使いデータを得るには省略またはTRUEを指定します。基本的にはFalse意外を利用することはないと思います。 |
利用手順
- 発注シートの産地コードの横に列:産地名を追加します。
- 検索値にセルC2を指定します。
- 範囲に産地一覧シートのセル範囲A1:B7を指定します。
- 産地名は範囲に指定したセル範囲A1:B7の2列目にあるので、列番号に2を指定します。
- 産地コードに一致する名称を検索するため、検索方法はFalseを指定します。
以上の設定で、ほぼ設定は終了していますが、このまま全ての行に式を適用していくと、範囲も1行ずつずれてしまうため思うような結果が取得できなくなってしまいます。
Excelの別シートの値を検索し、表示する
そうならないために、以下のように式を変更しましょう。
=VLOOKUP(C2,産地名称シート!A1:B7,2,FALSE)
=VLOOKUP(C2,産地名称シート!$A$1:$B$7,2,FALSE)
とすることで、範囲のズレが起こることなく、産地コードに基づく産地名称を正しく表示できるようになります。
VLOOKUP利用時の注意点
範囲に指定するセルは範囲の左端の列で、昇順に並び替えておく必要があります。これは、VLOOKUP関数の特徴になりますが、VLOOKUP関数を指定すると範囲の左端の値を1行目から順番に検索値に一致するかを調べてくれています。
その時に、検索値との大小比較をしており、検索値より範囲の左端の値が大きくなった段階で、昇順に並べ替えられている前提があることから、該当するデータはないと判断されてしまいます。
検索結果がうまく表示されない時によくこのミスをしているので注意しましょう。
コメント