SUMIFS関数は複数条件に一致した数値の合計を求めます。すべての条件を満たすセルの値を合計の対象としていますので条件の種類としてはAND(かつ)条件に分類されます。
では、SUMIFS関数を使ってOR(または)条件を指定したい場合は、どうすればいいのでしょうか?Aという条件とBの条件のいずれかを満たす場合の合計を求める場合などです。
SUM関数と配列を組み合わせることでSUMIFS関数でも複数条件をOR条件で指定することができます。
OR条件とAND条件の違い
複数条件を指定する際、OR(または)条件とAND(かつ)条件に分けられます。両者の違いを確認してみましょう。
OR条件とAND条件の違いをベン図にしました。OR条件は条件1、条件2のいずれかを満たしていればいいですが、AND条件は条件1、条件2ともに満たしている必要があります。
- OR条件:条件1または条件2
- AND条件:条件1かつ条件2
SUMIFS関数は特定の条件をすべて満たす数値の合計を求めるのでAND条件になります。
複数条件をOR条件で合計する方法
SUMIFS関数を使って同じ列にある複数条件を指定するときにOR条件で合計を求める方法をご紹介します。
作業時間:3分
SUM関数を入力する
OR条件でSUMIFS関数を指定したい場合、SUM関数の入れ子にする必要があります。数式を入力したい【セル(例ではD12セル)】を選択し、『=SUM(』と入力します。
SUMIFS関数の合計対象範囲を指定する
SUMIFS関数の合計対象範囲としてD列の販売数量を指定します。「=SUM(」に続いて『SUMIFS(D3:D11,』と入力します。
SUMIFS関数の条件範囲を指定する
SUMIFS関数の条件範囲としてC列の商品名を指定します。「=SUM(SUMIFS(D3:D11,」に続いて『C3:C11,』と入力します。
SUMIFS関数の条件に配列を指定する
りんごまたはバナナの販売数量を合計するとします。「=SUM(SUMIFS(D3:D11,C3:C11,」に続いて『{"リンゴ","バナナ"}))』と入力します。配列の形式でりんごとバナナを指定しています。
SUMIFS関数を使ったOR条件の結果
SUM関数とSUMIFS関数を組み合わせてOR条件で複数条件に対応した合計を求めることができました。D12セルにりんごとバナナの合計販売数量が表示されています。
上記ではSUM関数を使用しましたが、入れ子(ネスト)になっているSUMIFS関数のみではどのように出力されるか確認してみましょう。
上図はSUMIFS関数のみで条件に配列を指定した場合になります。出力結果としてはD12セルに「45」、E12セルに「63」と表示されています。それぞれ配列で指定したりんごとバナナの合計販売数量になります。
SUMIFS関数と配列を使用するとこのように結果が複数出力されるのでSUM関数で合計することになります。
※配列にセル参照はできませんのでご注意ください。
おすすめの商品をご紹介
条件に合ったセルの数を集計する「COUNTIF」関数。覚えておけばかなり応用の利く関数だ。基本的な使い方に加えて、仕事に役立つ実例を2つ紹介する。
表からの集計作業に役立つCOUNTIF(カウントイフ)
大きな表を必死に作ったのはいいけれど、そこからの集計作業に頭を悩ますケースは意外に多いもの。でも安心してほしい。Excelには数多くの集計用の関数が用意されており、今回紹介するCOUNTIF関数はその代表例。条件に合ったセルの数を合計する関数で、多数決はもちろん、会員名簿から属性(性別や住所)ごとの人数を集計するといったことに活用できる。また条件には「100以上」「100以外」「『東京都』で始まる」といった設定が可能なので、身に付けておくとかなり応用が利く関数だ。
書式、検索条件
COUNTIF(範囲,検索条件) |
個数を数えるセル範囲を指定する |
条件を文字列やセル、式などで指定する。文字列や式で指定する場合は「"」(ダブルクォーテーション)で条件を囲む必要がある |
基本的な使い方
下図を例に名簿から男性の人数を集計し、その合計をE2のセルに表示する場合を考えてみよう。「範囲」は性別が入っているセルなのでB2から下にB6までを指定する(B2:B6)。「検索条件」は「男」など文字列で指定してもよいが、ここではセルの値を検索条件にしてみた(D2)。D2のセルには「男」と入力されているので、「男」と入力されているセルの数がE2のセルに表示される。
上の表で性別が「D2」(男)のセル数を集計する。「=COUNTIF(B2:B6,"男")」と記述しても結果は同じだが、セルで指定することでD2セルを「女」に変更すれば、「女」のセル数を集計できる
【仕事での使い方1】新規会員が100人以上の支店数を数える
支店別に新規会員数をまとめた表で、新規会員が100人以上の支店数を知りたい。COUNTIF関数で、「~以上」「~未満」といった検索条件を指定すればよい
値が100以上のセルを数えたい──。こんなときに使うCOUNTIF関数の「検索条件」の設定方法を紹介する。
「検索条件」に「~以上」「~未満」といった数値の大小を指定するには、「=」や「>」などの記号を使う。今回のように「100以上」の場合は、「">=100"」のように記載する。この条件式は「"」(ダブルクォーテーション)で囲む必要があるので注意しよう。また、セルに入力された数値を「検索条件」に使うときは、演算子である「&」で「=」や「>」とセルをつなぐ必要がる点に注意してほしい(下表の「D2セルの値以上」を参照)。
会員数が100以上のセルを数えるには、COUNTIF関数の「検索条件」を「">=100"」と書けばよい。等号や不等号と数値を組み合わせると、「以上」「未満」などの条件を指定できる(下図参照)
"=100" | ||
">=100" | ||
">100" | ||
"<=100" | ||
"<100" | 100以外"<>100" | D2セルの値以上">="&D2 |
「以上」「未満」などの条件は、半角の「=」(等号)や「<>」(不等号)を組み合わせて指定する。「検索条件」は「"」(ダブルクォーテーション)で囲む必要がある
【仕事での使い方2】住所が「東京都」の人数を調べる
会員一覧で、住所が「東京都」「千葉県」「埼玉県」の人数を調べたい。COUNTIF関数では、「住所が東京都で始まる」といった条件も指定できるので、これを使おう
実例1では、COUNTIF関数を使って、指定した数値の範囲に一致するセルを数える方法を紹介した。では、上図の表で住所が東京都の人数を調べるにはどうすればよいか。「検索条件」を「東京都」としても、一致しないので数えられない。
しかし、心配は無用。「*」という記号を使うと、「~で始まる」「~を含む」といった「検索条件」も指定できるのだ。「東京都で始まる」なら「東京都*」と指定すればよい。
COUNTIF関数で、住所が「東京都で始まる」という条件を指定するには、「検索条件」に「"東京都*"」と入力する(下図参照)。ここでは、D3セルの「東京都」の文字と「*」を、「&」を使って結合した。「範囲」を絶対参照にしておけば、コピーするだけで他も数えられる
"東京都" | ||
"東京都*" | ||
"*東京都*" | ||
"*東京都" | ||
D3&"*" | D3セルの文字を含む"*"&D3&"*" | D3セルの文字で終わる"*"&D3 |
「東京都を含む」「東京都で始まる」といった検索条件は、「任意の文字列に合致する」という検索条件を表す半角の「*」(アスタリスク)と、「東京都」という文字を組み合わせて、上の表のように指定する
絶対参照とは?
絶対参照とは、参照するセルが常に固定される参照方法のこと。「$B$2」のように「$」を付ける。これに対し「B3」と表記すると相対参照となり、数式をコピーした際、コピーした位置に応じて参照するセルが自動的に変化する。参照するセルを固定したい場合に絶対参照を使う。「B2」と記入された状態で「F4」キーを押せば「$B$2」となる。
単純に範囲指定した関数式をコピーするとセル範囲がずれ、正しい計算ができない
事前にセル番地に「$」を付けて「絶対参照」にするとずれない