こんにちは。萱場です。
本日は、表題の通り、表計算シートの代表的な関数であるVLOOKUP関数に関して、簡単な応用を行ってみたいと思います。
VLOOKUP関数
概要
任意の値を範囲の中から探して、該当する部分の行から、別の値を探します。
書式
=VLOOKUP(検索値,検索範囲,指数,[並び替え済])
説明
例えば、下のような単価が書いてあるシートと、商品のデータをまとめているデータシートの2つのシートがあった場合を考えます。


単価シートからデータシートにその商品の単価を表示したい場合、VLOOKUP関数を使用すると以下の様に簡単に単価を表示できます。

上記の画面に従ってVLOOKUP関数の使い方を順に見ていくと
最初のA2というのは、単価シートから検索したい値です。
この場合だと、商品IDがAAAの単価を知りたいので、A2となっています。
次の’単価’!$A$2:$B$5は、そのAAAという値を検索する範囲です。
これは、単価シートのA2からB5までを範囲として設定します。また、セルが変わっても検索する範囲がずれない様に絶対参照【$A$2:$B$5】とします。
次に指数というのは、検索範囲に値があった場合に、そのセルから何列目のセルを参照するかということです。
先程設定した検索範囲では、単価の列は2列目にあたるので2とします。
最後の並び替え済みというのは、検索する値が数字などの場合、もし全く同じ数字がなかった場合、一番近い値を検索してヒットします。デフォルトではTRUEとなっていますが、近似値が取りたいわけでは無いので、FALSEにします。
この様に、単価データなど別のシートから値を簡単に参照できるVLOOKUP関数ですが、以下のような得意先別で単価を管理している場合はどうすれば良いでしょうか。

次に、上の事例の解決を行っていきます。
複数の値を組み合わせたVLOOKUP関数の使用
使用するシートは以下の様に更新しました。


単価シートからデータシートに得意先別の単価を表示させるにはどうすればよいでしょうか。
解決方法は、シンプルで、商品IDと得意先を合体した値を入力する列を単価シートに追加してあげるということです。

間にカンマを入れていますが、入れなくても大丈夫ですが、視認性を高めるために入れています。
次にデータシートを以下のように変更すると得意先別の単価を表示できるようになります。

単価シートから連結した文字列を検索できるようにするために、VLOOKUP関数の第一引数を変更します。
単価シートの列が追加されたので、検索範囲と指数を変更します。
最後に
上の例では、2つのデータ(商品IDと得意先)を組み合わせていますが、この組み合わせが3つになっても4つになっても、同じ方法で取得したいデータを表示できます。
先頭列に列を追加して、組み合わせたい列の値を連結して表示する、というかなりシンプルな方法ですが、この応用で、VLOOKUP関数の便利さが格段に変わると思うのでぜひご活用ください。
株式会社デザインXでは、アパレル業界のお客様に向けて、ECサイトや業務基幹システム(ERP)の開発・導入支援を行っております。ご興味をお持ちの方は、是非下記リンクよりお気軽にお問い合わせください。
また、株式会社デザインXでは、ソフトウェアエンジニア・社内SEなど、共に働く仲間を募集しています。テクノロジーでアパレル業界のBtoBビジネスを変えたいという熱意をお持ちの方、お待ちしております。ご興味のある方は、以下のリンクからお問い合わせください!