手順
ここで想定する集計(合計を求める)の内容ですが、商品一覧と注文一覧の各データに基づき、I列に式を入力して各商品の売上(価格×注文の数)を求めようというものです。
注文一覧に価格列があればSUMIF関数だけで済みますが、そのような冗長な列を持たせないつくりになっているので商品一覧(いわゆるマスタテーブル)への参照がどうしても必要になります。
そこで活躍するのがVLOOKUP関数です(もちろんXLOOKUPでも可です)。
次の画像ではCOUNTIF関数とVLOOKUP関数を使って、H3セルに入力された商品(ラーメン)の売上を求めています。
I3セル
=COUNTIF(F3:F12,H3)*VLOOKUP(H3,B3:C6,2,FALSE)
COUNTIF関数で注文一覧から当該商品の注文回数を求め、VLOOKUP関数で商品一覧から価格を求め、それらを掛け合わせることで売上を求めています。
シンプルですが古いバージョンでも使える優れた方法です。
次の画像では2つの関数の検索値「H3」をそれぞれ「H3:H6」に拡張することで4つの合計値を一括取得しています(スピル。次の例でも同様に可能です)。
I3セル
=COUNTIF(F3:F12,H3:H6)*VLOOKUP(H3:H6,B3:C6,2,FALSE)
次の画像の例は上記のものと少し変わっていて、注文一覧に「数量」列が設けられています。
売上を集計するにはその商品の数量の合計を求めたうえで価格と掛け算する必要があるので、COUNTIF関数の代わりにSUMIF関数を使って解決しています。
J3セル
=SUMIF(F3:F12,I3,G3:G12)*VLOOKUP(I3,B3:C6,2,FALSE)
SUMIF関数で注文一覧から当該商品の注文数量の合計を求め、VLOOKUP関数で商品一覧から価格を求め、それらを掛け合わせて売上を求めています。
最近はデータの抽出に便利な関数もいろいろ出ているのでそれらを使った集計をしようと思いかえってハマることもありますが、こうした基本的な関数でも十分に解決できます。