2017/08/27

VLOOKUP関数の使い方〜データを参照して表示させる便利なVLOOKUP関数入門〜


スプレッドシートの活用力を高めるため関数の使い方に慣れましょう。
データを抽出する関数VLOOKUPを使用し、より効率的にデータを入力する方法を学んでいきましょう。


これにより、今後は商品IDさえ入力すれば、商品名、単価が自動で表示されるようになりますので、請求の都度、手入力しなくてすみますね。

では行っていきましょう。
シート名の請求書の右側の下「▽」をクリック。
「コピーを作成」をクリック、請求書シートの右隣に請求書のコピーシートが作成されました。
請求書のコピーシート名をダブルクリック、シート名を請求書2に編集します。
 B7セルからD17セルの範囲を指定してコピーをし、G7セルをクリックし、貼り付けます。
これで請求書の表の中で商品 ID が入力された時に、商品 ID に対応する商品名、単価を表示させるための一覧ができました。
もし調達する商品のリストが追加された時はこの表の一番下、J18セルから商品 ID商品名単価を入力して商品情報を追加します。
 B列に商品 ID が入力されたら商品名が自動で表示されるように、C列のセルの内容を編集していきましょう。
C8セルをダブルクリック、
=VLOOKUP(B8,$J$8:$L$25,2,0)
を入力し 「Enter」 キーで入力を確定します。
ここで参照する範囲を、L25セルまでにしているのは、商品一覧が追加された時も関数を変更しないで新しい商品のデータを参照できるように配慮しているためです。


次にC17セルまでの各セルに、同じ計算式を適用しましょう。
ここまでで書いたVLOOKUP関数を見てみましょう。
C8セルにこのように入力しました。
これはデータを検索するセル、B8セルの値、データを検索する範囲、 J 8セルからL 25セルまでという意味になります。

ここで使用している$マーク、絶対参照について説明します。
通常セルをコピーして他のセルに貼り付けるとき、セルが移動した分数式で設定したセルの位置も移動します。
他のセルにコピーしたとしても、セルの位置を移動させない、という機能が$マークによって設定されます。
セルの列、行それぞれの前に$マークをつけると、セルを他の列や行に貼り付けた時に、行や列の移動に関係なく、同じ列や行の値を参照することができます。
またVLOOKUPの第3引数に指定した”2”ですが、検索範囲の何列目のデータを参照するかを指定しています。
最後にVLOOKUPの第4引数に指定した"0"は、検索方法の指定で"0"を指定することで、検索するセルと全く同じ値だけを検索範囲から検索し、"1"を指定することで検索するセルと全く同じ値がない場合は一番似ている値を検索するとしています。
続いて同じように B列に商品IDが入力されたら、単価が自動で表示されるようにD列のセルの内容を編集していきます。
D8セルをダブルクリック
D8セルに半角で
=VLOOKUP(B8,$J$8:$L$25,3,0)
と入力し 「Enter」 キーで入力を確定します。
検索範囲に指定した、3列目が適用されました。

次に D17セルまでの各セルに同じ計算式を適用しましょう。
これで商品 IDを入力すると、商品名、単価が自動で入力される請求書を定義できました。

最後に各列の動作を確認しておきましょう。
まずは、定義されていない商品 IDを指定したときの動作です。
B8セルをダブルクリック、商品 IDを S-100から S-900 に変更します。
 C列 D 列に #n/a  と表示されました。
これは該当なし、ということを表しています。

続いて、検索範囲に新しい商品を追加した場合の挙動を見ていきましょう。
商品 IDを S-900 として商品を登録します。
商品名をパイナップル、単価を198と入力しましょう。
 C8セル、D8セルの値が該当なしから、パイナップル198と表示されました。

解説は以上です。