いまさら聞けないExcelの使い方講座

【Excel】顧客別の商品売り上げリストをすばやく作成したい!エクセルで複数の条件を指定してデータを集計するテク

複数の条件で売上金額を集計したい!

 Excelで売上金額の集計表を作成したいけれど、どのようにまとめたらわかりやすいだろうか…。

 いつも会議やプレゼンの前になると悩み、ついつい残業をしてしまうという人は多いのではないでしょうか。

 次の「売上一覧表」(①)は、2018年8月から10月の売上を記録した表です。この表で顧客別に売上データを集計し、さらにその中で商品別に集計したいという場合、どうしますか。

 データを昇順や降順に並べ替えたり、オートフィルターを活用して項目ごとにデータを抽出したりする読者もいるかもしれませんね。しかしながら、並べ替えやオートフィルターだけでは、顧客別・商品別の合計金額が一目でわかるような集計表を作成することはできません。

 今回は、SUMIFS関数を使って、顧客別・商品別のように複数の条件でデータを集計する方法について解説します。

SUMIFS関数を使って顧客別・商品別に集計する

 先ほどと同じ「売上一覧表」(①)の例でやってみましょう。まずこの表の右側に、集計したデータを入力するための表(ここでは「集計結果」)を作成しておきます。J列とK列には、集計項目である顧客名や商品名のデータを入力します(②)。顧客名は検索条件となるため重複して入力していますが、完成例のように見栄えはあとから整えます。詳しくは後ほど説明します。

 今回は、わかりやすくするために、「売上一覧表」と同じシート上に「集計結果」を作成していますが、別のシートに集計結果の表を作成しても構いません。

 「顧客別にデータを集計したい」というように、特定の条件を満たすデータの合計を求める場合にはSUMIF関数を使用します(本連載でも以前の記事で解説しました)が、今回は、「顧客別」にデータを集計し、さらにその中で「商品別」に集計するので、条件を2つ指定してデータの合計を求めることになります。この場合は、SUMIF関数ではなく、SUMIFS関数を使います。

 SUMIFS関数の書式は次のとおりです。

 「合計対象範囲」には、合計を求めるセル範囲を指定します。「条件範囲1」には1つ目の条件を検索する範囲を指定し、「条件1」には検索する条件を指定します。同様に、「条件範囲2」には2つ目の条件を検索する範囲を指定し、「条件2」には検索する条件を指定します。

 書式の概要説明だけではイメージしづらいので、実際にやってみましょう。まずセルL3に、顧客名が「狸小路商事」で商品名が「ボールペン黒」であるデータの金額を集計してみます。セルL3(③)を選択して、[数式]タブ(④)→[関数の挿入](⑤)をクリックします。

 [関数の挿入]ダイアログボックスが表示されます。[関数名]欄に最近使った関数の一覧が表示されるので、この一覧に[SUMIFS](⑥)がある場合はこれを選択します。[SUMIFS]が見つからない場合は、[関数の検索]欄に「SUMIFS」と入力して[検索開始]をクリックすると、[関数名]欄に[SUMIFS]が表示されます。

 [関数名]欄で[SUMIFS]を選択できたら、[OK](⑦)をクリックします。

 すると今度は[関数の引数]ダイアログボックスが表示されます。このダイアログボックスは、数式作成のためのウィザードのようなもので、指示どおりに値(引数)を入力していくと、数式を完成することができます。

 まず、[合計対象範囲]欄に合計を求めるセル範囲を指定します。ここでは、「売上一覧表」の「金額」欄のセル範囲F3:F17を指定します。このあと、完成した数式をほかのセルにコピーしてもセル範囲が変化しないように、絶対参照で「$F$3:$F$17」(⑧)と入力します。

 次の[条件範囲1]欄には1つ目の条件を検索するセル範囲を指定します。今回の例の場合は、まず顧客別に集計するので、B列の「顧客名」欄のセル範囲「$B$3:$B$17」(⑨)を指定します。ここでも、絶対参照で指定します。

 [条件1]欄には検索条件を入力します。ここでは、「狸小路商事」(セルJ3)に当てはまるデータを検索するので、「J3」(⑩)を指定します。これまでとは反対で、完成した数式をほかのセルにコピーした時にセル参照が変化するように、$マークは付けずに「J3」と指定します。今回は縦方向にしかコピーしないので、「J3」と記述しても、「$J3」と記述しても同じ結果になります。

 これで1つ目の条件と条件範囲の設定は終わりです。

 同様にして、2つ目の条件と条件範囲も設定していきます。[条件範囲2]欄にはC列の「商品名」欄のセル範囲「$C$3:$C$17」(⑪)を指定し、[条件2]には「ボールペン黒」が入力されたセル「K3」(⑫)を指定します。

 これですべての引数を入力できたので、[OK](⑬)をクリックしてダイアログボックスを閉じます。

 セルL3に集計結果が表示されましたね(⑭)。

 オートフィルを使って、作成した数式をL列のほかのセルにもコピーします(⑮)。

 数式がL列のすべてのセルにコピーされました(⑯)。

 他の金額セルと同様に、桁区切りのカンマを表示しておきましょう。セル範囲L3:L11を選択した状態で、[ホーム]タブ(⑰)→[桁区切りスタイル](⑱)をクリックすると表示できます。

 売上を記録しただけの一覧表から、顧客別・商品別にまとめた集計表を作成することができましたね。

裏技:表を見やすくするための工夫

 「集計結果」のL列で数式をコピーした時に正しい結果になるためには、条件とする項目を入力しておく必要がありました。しかし、すべてのセルに項目名のデータがあると表が見づらくなってしまいます。こんな時は、隠したい文字を白色にすると便利です。

 J列の「顧客名」欄で、それぞれの分類で先頭にある顧客名以外は、文字色を白色にしてみましょう。白色にしたい文字が入力されているセル範囲を選択(①)して(離れたセル範囲を選択する場合は、まずいずれかのセル範囲を選択したあと、[Ctrl]ボタンを押したまま次のセル範囲をドラッグしていくと選択できます)、[ホーム]タブ(②)→[フォントの色]の右横にある矢印(③)をクリックして表示されるメニューから[白](④)を選択します。

 選択したセル範囲に入力されていた文字が白色になって見えなくなりました(⑤)。データが隠れることによって「顧客名」欄がすっきりして、見やすくなりましたね。

 実際はデータが入力されているので、もちろん計算は問題なく行えます。余計な文字列を見えなくすることで、見栄えのよい表になっているというわけです。

複数の条件で売上金額を集計する

 今回は、SUMIFS関数を使って、顧客別・商品別のように複数の条件でデータを集計する方法を解説しました。Excelの書籍などでSUMIFS関数の書式を見ると、複雑で難しそうに感じるかもしれませんが、実際に[関数の引数]ダイアログに従って入力していくと、案外簡単にできることもわかってもらえたのではないでしょうか。できあがった集計表は、分類ごとに集計されたので、プレゼンや会議にぴったりの見やすい資料になりましたね。ぜひ皆さんも試してみてくださいね!

今月のExcelTips