酒井たかま
(公認会計士)
はじめまして、公認会計士の酒井たかまと申します。日々の仕事に加えて、ブログやTwitterを通して、会計実務に役立つExcelの使い方を伝える活動をしています。
さて、この春から会計事務所や監査法人、企業の経理部などに就職される方で、「Excelを使いこなしたいけれど、何を覚えたらいいのかわからない!」とか「Excelを使えないと仕事ができないのでは?」と不安に思われている方もいらっしゃるのではないでしょうか。
この記事では、そんな方に向け、実際の活用例を交えながら、これだけは知っておいてほしいExcelの機能をご紹介します。今回みなさまに使い方をお届けするのは、使用頻度トップクラスのVLOOKUP(ブイ・ルックアップ)関数とSUMIF(サム・イフ)関数です。
VLOOKUP関数とは、一覧表データから検索値にもとづいて行を検索し、検索値と合致した行が指定する項目を求める機能です。たとえば、「電話帳からAさんの電話番号を調べる」ときに使う関数、といえばわかりやすいでしょうか。「Aさん」が検索値、「電話帳」が一覧表データ、「電話番号」が指定した項目にあたります。
SUMIF関数とは、指定した条件に合う数値データを合計する機能です。
Excelにはいくつもの関数がありますが、今回ご紹介するVLOOKUP関数とSUMIF関数は、それらを使うことで、売上データと得意先マスタから分析資料を作成することができます。
特に経理部の方などは、実際にExcelを使うとなった場合、このような業務を行うことが一番多いのではないかと思います。
それでは、VLOOKUP関数とSUMIF関数を活用しながら、分析資料を作ってみましょう!
まずはじめに…
ここではじめに、Excelで作成した売上データ【図1-1】と得意先マスタ【図1-2】を見てください。これらのデータを用いて、具体的な売上分析をしていくこととなります。
【図1-1】売上データ
A列が「日付」、B列が「伝票NO」、C列が「得意先コード」、D列が「売上高」となっています。
【図1-2】得意先マスタ
A列が「得意先コード」、B列が「得意先名」、C列が「地域」となっています。
ちなみに、「得意先マスタ」というのは「得意先コードの読替表」と考えてください。【図1-2】では、得意先コードから得意先名・地域へと読み替えることがわかります。たとえば、
[得意先コード]1008は
[得意先名]住友ケミカル
[地域]東北
と読み替える、といった具合です。
【得意先別売上高表】VLOOKUP関数を使ってみよう
実務では、たとえば経理部の方などが、売上データや得意先マスタを用いて売上分析をすることも多くあるとお伝えしましたが、これらのデータは、さまざまなファイルやシートに分かれて作成されています。
つまり、最初から1つに整った資料ではないので、必要なデータを自分で集めて、整えなければいけません。その際によく使うExcel機能が、VLOOKUPとSUMIFなのです。
それでは、実際に、先ほどの売上データ【図1-1】と得意先マスタ【1-2】をもとに、VLOOKUP関数やSUMIF関数を使って、得意先別売上高表や地域別売上高表を作っていきましょう。
まずは「得意先別売上高表」から。完成形としては【図2-1】のようになります。
【図2-1】得意先別売上高表
A列が「得意先コード」、B列が「得意先名」、C列が「金額」となっています。
得意先コードに対応した得意先名を表示させるときに使うのがVLOOKUP関数です。【図2-2】を見てください。
【図2-2】
VLOOKUP関数に必要な項目は次のとおりです。
・検索値($A2の部分)
得意先名に読み替えたい得意先コードのセルを指定します。
ここで「$A2」としている理由ですが、Excelで他のセルを参照しようとする場合、二通りの参照方法があります。それが「相対参照」と「絶対参照」です。
「相対参照」とは、参照元のセルを他のセルにコピーするなどしたとき、参照先も同じように移動する方法です。たとえばB1セルに「=A1」と入力し、B2セルにコピーした場合、B2セルの参照先はA2セルになります。
いっぽう「絶対参照」では、参照元のセルを他のセルにコピーするなどしても、参照先は移動しません。 たとえばB1セルに「=A1」と入力し、F4キーを押すと「=$A$1」と表示されます。この状態でB2セルにコピーしても、参照先は「=$A$1」のままとなります。
F4キーを押す回数で、「$」を付ける位置を変更できます。 これは、横(列)だけ移動したいか、縦(行)だけ移動したいかで変わります。 今回は、VLOOKUP関数のコピーで行が変われば参照する検索値も変わりますが、列そのものは変更してはいけません。
そのため、行は相対参照、列は絶対参照としたいため「$A2」としています。
・範囲(得意先マスタ!$A:$Cの部分)
得意先コードの読替表のことで、これは「得意先マスタ」でしたね。
普通に指定すれば「A2:C11」となるところですが、あえてA列からC列まで列全体で指定し、さらにF4キーで絶対参照にしています。これは、得意先マスタの登録数が変動した場合でも、VLOOKUP関数の内容を変更しなくてもいいようにするためです。
ちなみに、他のシートを参照する場合、「シート名!」で参照先のシートを指定します。今回は、「得意先マスタ!」とすることで、得意先マスタのセルを参照できるようにしています。
・列番号(2の部分)
読替表(得意先マスタ)の読替先を列番号で指定します。上図の場合、読み替えるのは2列目にあたるため「2」となります。
・検索方法(FALSEの部分)
完全一致を示す「FALSE」または「0」を入力します。
VLOOKUP関数のキモは、検索値(得意先別売上高)と読替表(得意先マスタ)の対応です。上記の例でいえば、検索値は、読替表1列目(左端の列)と対応しており、これを変えることはできないことに注意しましょう。対応関係を示すと、次のようになります。
得意先別売上高表の得意先コードを得意先マスタの得意先コードのなかから探し、対応する得意先名を得意先別売上高表に返す、という流れになっています。
そして、もう一点。上述したように、読替表(得意先)の範囲を、列全体で指定しているのもキモです。列全体を指定しておくことで、得意先が増えても指定する範囲を変更する必要はありません。
余談ですが、Excelを使ううえでは、データの増減も考慮して関数設定をすることが安定した運用につながります。もし得意先が増えても指定した範囲がそれをカバーしていなかったら、正しく表示させることはできませんからね。
あとは関数を入力したセルを他のセルにもコピーして完了です。