SUMIFS関数でOR条件を使いたい場合の方法

このQ&Aのポイント
  • Excel2010を使用している場合、SUMIFS関数でOR条件を使用する方法について説明します。
  • 家計簿の作成において、合計欄の円とドルをそれぞれ分けて項目毎の合計額を出したい場合、セルE21のように、円の場合は「MUFJ」と「ゆうちょ」のSUMIFS関数合計値を足します。
  • 明細行の列を増やさずに処理するためには、SUMIFS関数のOR条件が使えないため、別の方法を検討する必要があります。
回答を見る
  • ベストアンサー

SUMIFS関数でOR条件を使いたい場合の関数

Excel2010を使用しています。 家計簿を作成しているのですが、SUMIFS関数でOR条件を使用したい場合どのように書けばよいでしょうか。 図は、明細と合計欄です。 ピンクのセルが円、それ以外はドルです。 合計欄のように、円とドルをそれぞれ分けて項目毎の合計額を出したいです。 セルE21のように、円の場合は「MUFJ」「ゆうちょ」ですので、MUFJとゆうちょのSUMIFS関数合計値を足しています。 これを、1行にまとめたいのですが、適切な関数はないでしょうか? SUMIFSではOR条件が使えないようですので・・・・・・ 明細行に円・ドルの列を追加すれば簡単なのですが、明細行の列はこれ以上増やしたくないので、できれば数式のほうで処理できればと思っています。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

例示のデータなら以下のような数式になります。 =SUM(SUMIFS($C$2:$C$14,$D$2:$D$14,{"MUFJ","ゆうちょ"},$B$2:$B$14,B21))

kanacocco
質問者

お礼

回答ありがとうございます。 求めていた答えでした! SUMで入れ子にすれば並列できるんですね。 どうもありがとうございました。

その他の回答 (3)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>図では円の銀行は2つですが、実際は10くらいあり、全部加算すると長くなってしまいます。 代替関数ではSUMPRODUCT関数が利用可能です。 貼付画像は模擬データで検証した結果です。 =SUMIFS(C2:C11,A2:A11,"A",B2:B11,"I")+SUMIFS(C2:C11,A2:A11,"B",B2:B11,"I") =SUMPRODUCT((A2:A11={"A","B"})*C2:C11,(B2:B11={"I","I"})*1) この2つの数式は等価です。 あなたの目的にはSUMPRODUCT関数が適していると思います。 A列の文字が"A"または"B"でB列の文字が"I"である行のC列の合計を算出しています。 SUMPRODUCT関数の中で扱う配列は行数と列数に食い違いが無いように定義します。

kanacocco
質問者

お礼

回答ありがとうございます。 SUMPRODUCT関数を使えばよかったんですね。 図は単純な項目値の合計でしたが実際は月ごとに項目値を求めたかったので、 =SUMPRODUCT(($B$2:$B$14={"仕事","仕事","仕事"})*$C$2:$C$14,($D$2:$D$14={"JALUSA","BnkOfHawaii","小切手"})*1,(LEFT($A$2:$A$14,6)={"2014/4","2014/4","2014/4"})*1) というような数式になりました。 ISNUMBERでもできそうですがうまくいきませんでした:(

回答No.2

MUFJとゆうちそれぞれのsumifを足算すればいいだけです。 =sumif()+sumif

kanacocco
質問者

お礼

補足とお礼を間違えました。 遅くなりましたがありがとうございました。

kanacocco
質問者

補足

回答ありがとうございます。 やはり加算するしかないですよね。 図は簡易に書いたのですが、実際は月ごとに項目の合計値を出したりしているため、SUMIFSを使用しています。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.1

>セルE21のように、円の場合は「MUFJ」「ゆうちょ」ですので、MUFJとゆうちょのSUMIFS関数合計値を足しています。 それで良いのではないでしょうか? 論理式を四則演算式に置き換えるとORは加算でANDは乗算です。 従って、SUMIFS関数の結果を加算すればORで絞り込んだことになります。 強いて加算の記号(+)を省いた数式にするにはSUM関数で囲い込むことで良いでしょう。 =SUM(SUMIFS(合計範囲,条件範囲1,条件1,条件範囲2,条件2),SUMIFS(合計範囲,条件範囲1,条件3,条件範囲2,条件4))

kanacocco
質問者

お礼

補足とお礼を間違えました。 遅くなりましたがありがとうございました。

kanacocco
質問者

補足

回答ありがとうございます。 図では円の銀行は2つですが、実際は10くらいあり、全部加算すると長くなってしまいます。 SUMIFS関数の複数条件式にORが使えればな~と思い、簡潔に書ける代替関数はないかと質問しました。 しかしSUMIFSにしてもSUMにしてもOR条件は繋げるしかないですよね・・

関連するQ&A

  • SUMIFS関数の質問

    エクセルで A列のあたいがE1セルに一致し、B列の値が文字列"00"でないC列の数値を合計したい場合、 これまでエクセル2003の時は =SUMPRODUCT((A2:A15=E1)*(B2:B15<>"00")*C2:C15) のように書いてきました。 これをエクセル2010で、SUMIFS関数にしようと思い =SUMIFS(C:C,A:A,E1,B:B,<>"00") としてみました。 ところが、テストでわずか14行でやってみると答えが違うのです。 わたしのSUMIFS関数の理解があやまっているのでしょうか? 教えてください。 テストに使った2行目から15行はこんな感じです。E1セルには文字列 A があり、 =SUMPRODUCT((A2:A15=E1)*(B2:B15<>"00")*C2:C15)  は27を =SUMIFS(C:C,A:A,E1,B:B,"<>00")  は28を返します。 A 00 1 A 01 2 A 02 3 A 03 4 A 04 5 A 05 6 A 06 7 B 07 8 B 08 9 B 09 10 B 10 11 C 11 12 D 12 13 D 13 14

  • エクセルSUMIFS関数で教えてください。

    エクセルのSUMIFS関数について教えてください A1セルに1月~A12セルまでに12月と入力しています。 B1~B12に売り上げの合計を入力しています。 例えば3月、7月、 8月の合計を出したいときにはどうすればいいですか? 例えばA~F列の行を複数範囲で検索することは出来るのですが 下方向A1~A10までの複数範囲をしたいのですができません。 すいませんが至急教えてください。 よろしくお願い致します・

  • エクセル2010のSUMIFS関数について

    A列に日付、C列に文字列、E列に数値があります。 仮に、日付は2013年4月だけ、文字列は”事務” だけに条件を絞ってE列の数値を合計する場合、エクセル2000では =SUMPRODUCT((C$1:C$1000="事務")*(TEXT(A$1:A$1000,"yyyymm")="201304")*E$1:E$1000) でうまくいきました。 こんどエクセルが2010になったので、あたらしくできたSUMIFS関数でやってみようと思い =SUMIFS(E:E,C:C, ”事務”,TEXT(A:A,"yyyymm"),”201304”) としましたが「数式が正しくありません」とエラーになってしまいます。 SUMIFS関数だと列のセル範囲を指定しなくていいので使いたいのですが・・・。 F列を作業列とし、ここにA列の日付をyyyymm形式の文字列とすれば =SUMIFS(E:E,C:C,"事務 ",F:F,"201304") で出来ますが、ほかにいい方法はないでしょうか?

  • エクセル2007 SUMIFS

    SUMIFS関数を使用して複数条件の集計をしたいと思ったのですが、 うまくいかず、SUMPRODCT関数で対応しました。 SUMIFS関数について質問ですが、 SUMIFS関数の合計範囲は1列と決まっているのでしょうか? また、合計範囲・条件範囲は同じ行でなければならないのでしょうか? そのように変更するとうまくいきます・・・ うまくいかなかった状況は下記のとおりです。 表1  A   B   C   D   E 1   4月  4月  4月  4月 2東京  5   2   4   1  3東京  1   8   3   2 4神奈川 7   0   3   9 5千葉  8   5   4   2 6千葉  2   1   1   1 7埼玉  4   8   5   2 表2   A    B   10    4月 11東京  26 12神奈川 19 13千葉  24 14埼玉  19 表2のB11に『SUMIFS(B2:D7,A2:A7,A11,B1:E1,B10)』 (絶対参照を省いてい書いています) 仕事上は解決しましたが、SUMIFSでうまくいかなかったことが気になるので、ご教授願います。

  • SUMIFS関数について

    スプレッドシートでSUMIFS関数を使って別のタブにある表から条件に合う合計を集計しております。一つのシートではSUMIFS関数使って正しい数値を反映することができました。ところが同じ様式のシートをコピーしたものに同じ数式を入力したところ値が0になってしまいました。 数式が合っているのに数値が反映されない場合の原因が分かりましたらご教示いただけますと幸いです。

  • sumifs関数について

    sumifsで合計を出したいのですが、集計されるセルとしないセルがあり困っています。    A    B    C    D   社名  役職  氏名  vlookupで引っ張ってきた値 1  a 役員   A        2  b    社員   B     3  c    社員   C D列にはそれぞれvlookupでひっぱてきた値が入っているます。 計 10  a   役員   =sumifs(D列,A列,A10,B列,B10) 大雑把な書き方で恐縮ですが、上記の計のように各社の役員、社員でD列の合計をそれぞれ出していきたいのですが、エラー表示ではなく 0 と集計結果で出ます。 きちんと集計結果が出ているセルと出ていないセルとで書式なども確認したのですが、相違点が見当たらず修正に行き詰りました。 どなたか、原因がわかる方がいましたらご教示下さい。 宜しくお願い致します。

  • SUMIFS関数とDSUM関数について。

    この2つの関数の違いとは、SUMIFS関数というのは一つの条件のandの場合という事でしょうか?(例えば、A小学校ANDアンパンだけとか)で、DSUM関数は、OR条件もできる(A小学校ORB小学校ORC小学校ORD小学校ANDアンパンOR葡萄パンORフランスパンORカレーパンとか)でしょうか?ご教授いただけないでしょうか?すみません。 以下のURL先なのですが。 https://m.youtube.com/watch?v=ArZgPV1cXPk それと、今日習ったのですが、 すみません。限られたデータ( 1つの条件に 1つ)で求めるのが、SUMIFS関数で、沢山のデータとなってくると、DSUM関数で、( 2つの条件)を入れる事という事で合っていますでしょうか?ご教授いただけないでしょうか?よろしくお願いします。

  • SUMIFS関数とDSUM関数について。

    この2つの関数の違いとは、SUMIFS関数というのは一つの条件のandの場合という事でしょうか?(例えば、A小学校ANDアンパンだけとか)で、DSUM関数は、OR条件もできる(A小学校ORB小学校ORC小学校ORD小学校ANDアンパンOR葡萄パンORフランスパンORカレーパンとか)でしょうか?ご教授いただけないでしょうか?すみません。 以下のURL先なのですが。 https://m.youtube.com/watch?v=ArZgPV1cXPk それと、今日習ったのですが、 すみません。限られたデータ( 1つの条件に 1つ)で求めるのが、SUMIFS関数で、沢山のデータとなってくると、DSUM関数で、( 2つの条件)を入れる事という事で合っていますでしょうか?ご教授いただけないでしょうか?

  • SUMIF関数で検索条件がわからず困っています

     ECXEL 2003(OS:WindowsXP)を使用しています。  A    B    C  10  150  50  10  150  80  10  150  20  15  100  100  20  60   40  20  60   20  上記の表でA列内の同じ数値にあたるC列の合計数をB列の各々のセルに表示させようと思っています (例:A列の「10」のC列の合計「150」をB列の各セルに表示)。SUMIF関数の「検索条件」の欄に 文字列やセル名ではなく、A列内で同じ数値ごと(例:10・15・20の各合計がでるよう)に自動計算する数式が あるように聞いていますので、教えて戴けないでしょうか?  また、SUMIF関数にこだわらずいい方法があれば教えていただけましたら幸いです。

  • エクセル関数"SUMIFS"に変わる物ありますか?

    表作成しているのですが、うまくいかないところがあります。 ご指導いただければ幸いです。 条件に満たすと範囲指定した個所の合計を出すということをしたいのですが、 例えば、A列に種類(文字列)・B列に○月(文字列)・C列に金額が入力されています。 種類と○月が一致したら合計値を出すということをしたいのですが・・ 調べてみるとSUMIFSが良いみたいですが、私のは対応していないようです。 それに代わる方法はあるでしょうか?

専門家に質問してみよう