こんにちは、ゆうじんです。
仕事でエクセルを使う方は多いと思います。エクセルをうまく使うと作業を大幅に効率化することもできます。
今回は、エクセルを使ってデータを抽出してくる方法についてご紹介したいと思います。
VLOOKUP関数
VLOOKUP関数を使って、指定した範囲の中から検索条件に一致したデータを抽出して表示します。
VLOOKUP関数とは、検索条件に一致したセルについて、事前に指定された数だけ列を右側に移動したセルのデータを返してくれる関数です。
例えば、社員番号を入力しただけで、社員の年齢や所属を表示させるということができます。
この場合、上側の黄色の網掛け部の表の中から、下側のAの社員番号に一致する氏名と所属をそれぞれB、Cの部分に出力してくるというものになります。
例えば、上記の「山田花子」さんという氏名が表示されているC12のセルの算式は次のような形になります。
=VLOOKUP(検索値,範囲, 列番号,検索方法)
=VLOOKUP(B12,B2:E8,2,FALSE)
検索値はB12にある社員番号(1004)ですね。
範囲は、上記の黄色の網掛け部なのでB2:E8です。
列番号は、ここでは氏名を表示したいので、黄色の網掛け部の左側の社員番号が一致したものから、右へ2列目(左端の社員番号の列を含めた列番号)の部分に氏名が記載されているので2列目となります。ですので、列番号は2となります。
最後に、検索方法がfalseとなりますが、これは完全に一致したものを抽出する場合のルールと覚えてください。
MATCH関数+INDEX関数
次に、ある表から、その行と列の交差する部分の値を表示するということができます。
そのためには、MATCH関数とINDEX関数という二つの関数を組み合わせて使用します。
MATCH関数では、表の中から目的のデータを検索し、そのデータが表の何行目または何列目にあるのかを調べることができる関数です。
INDEX関数では、指定した範囲の中で、指定した行と列の位置にあるセルのデータの値を返す関数です。
ちなみに、関数を組み合わせるために、関数の中に関数を入れ計算させることを、「関数のネスト」と言います。
例えば、部屋タイプと宿泊人数を選択すると、宿泊価格が表示させることができます。
この場合、下側の試算のAの部分に、部屋タイプと利用人数を入力すれば、上側の黄色の網掛け部の行と列のクロスした部分を抽出し、Bに出力してきてくれます。
算式は、上記の場合はこのようになっています。
=INDEX(C3:E6,MATCH(B10,B3:B6),MATCH(C10,C2:E2,0))
Aの部分の条件を入力すれば、上の表から行と列で合致するものを自動で出力してきてくれます。手作業で調べていくより、手間がかかりません。本当に使い方次第で、作業の効率化につながります。
興味のある方は一度チェックしてみてください。
では。