• ベストアンサー

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

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

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

  • ベストアンサー
回答No.5

質問文の意味が「3 月、7 月、8 月などの一部の行のみに何らかのフラグを立てており、その行のみを合計したい」という話であると解釈。 SUMIFS ではなく、SUMIF 関数になります。合計する列が B 列、フラグの列が C 列(文字列)または G 列(非負の整数)であるならば、次式。 G1 =counta(d1:f1) I1 =sumif(c:c,"*",b:b) J1 =sumif(g:g,">0",b:b) 既出の回答でも指摘が出ているとおり、SUMIFS は AND 条件であるため、本件には適しません。添付図にある 3 月~ 8 月の 3 列は OR 条件(このうち 1 列でも印が付いていれば合計の対象にするという条件)であるべきですね? >……A~F列の行を複数範囲で検索することは出来るのですが…… 何のことだかよく分かりません。

その他の回答 (4)

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

>例えば3月、7月、 8月の合計を出したいときにはどうすればいいですか? あなたがやりたい計算を論理的に考えると添付画像のようになります。 B2=($A2=B$1)*1 B2セルの数式をB2からD13へコピーします。 E2=SUM(B2:D2) E2セルの数式をE2からE13へコピーします。 G2=E2*F2 G2セルの数式をG2からG13へコピーします。 G14=SUM(G2:G13) G14が求める値になります。 しかし、これではあなたの目的に合いませんのでG15セルに次の数式を入力して結果を確認してください。 =SUMPRODUCT((A2:A13=B1:D1)*F2:F13) SUMPURODUCT関数は行列の積の合計を求めるときに使います。 あなたの集計はSUMIFS関数よりSUMPURODUCT関数の方が適しています。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! SUMIFS関数は「AND条件」になりますので、使いにくいと思います。 (今回の場合だと「OR条件」) 他の方法としては 表示したいセルに =SUM(IF(A1:A12={"1月","7月","8月"},B1:B12)) これは配列数式になりますので、Ctrl+Shift+Enterで確定! この画面からコピー&ペーストする場合は 上記数式をドラッグ&コピー → 表示したいセルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Ctrl+Shiftキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これが簡単だと思います。m(_ _)m

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

例示のデータならSUMIF系の関数ではなく、SUM関数で単純に足し算すれば良いと思うのですが、SUMIF系の関数で複数の集計条件を合計したいなら以下のような数式にします。 =SUM(SUMIF(A1:A12,{"3月","7月","8月"},B1:B12)) ひとまず例示のデータに対応する数式を提示しましたが、目的によって最も合理的な数式が異なりますので、上記の回答がご希望の集計方法と違うなら、もう少し具体的にご希望の処理操作を補足説明してください。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

SUMIFSの条件はAND条件です。すべての条件が満たされたものだけの合計を出します。 どうしてもSUMIFSでやるなら、1月でもなく、2月でもなく……という条件を並べることになります。 こんな感じですかね =SUMIFS(B:B,A:A,"<>1月",A:A,"<>2月",A:A,"<>4月",A:A,"<>5月",A:A,"<>6月",A:A,"<>9月",A:A,"<>10月",A:A,"<>11月",A:A,"<>12月") SUMIFSにこだわらないならこうです =SUMIF(A:A,"3月",B:B)+SUMIF(A:A,"7月",B:B)+SUMIF(A:A,"8月",B:B)

関連するQ&A

  • エクセル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関数の質問

    エクセルで 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

  • エクセル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") で出来ますが、ほかにいい方法はないでしょうか?

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

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

  • 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関数でOR条件を使いたい場合の関数

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

  • SUMIFS関数について

    =SUMIFS(K5:K202,A5:A202,"=>2022/07/22",A5:A202,"<=2022/08/21") A列は年月日。指定範囲(年月日)内のK列の数値の合計を抽出したい。 合計が0となります。何処が間違っていますでしょうか?。

  • エクセル SUMIF関数

    SUMIFS関数で行き詰っています。ご教授願います。  A   B  C  D  ・・・AE AF AG・・・・・ 1    4月4月4月・・・・・・・・・・・・・5月・・・・←関数用 2    4/1 4/2 4/3・・・4/30 合計 5/1・・・6/30 3北海道 3  0  1 4東京  0  2  5 5東京  4  1  0 6神奈川 1  7  0 という表から下記の別表のように月毎・県毎の集計をしたいのですが、 現在は月毎に1列合計列を作成し、そこを使ってSUMIF関数で集計しています。 別表  A   B  C  D 1    4月 5月 6月 2北海道 4 3東京  12 4神奈川 8 合計行をなくし、SUMIFS関数で集計はできないものでしょうか? うまくいかない現在のSUMIFS関数は下記です。(恥ずかしい) SUMIFS(B3:XX6,A3:A6,別表A1,B1:XX1,別表B1) ※北海道 4月を集計 これでは「#VALUE!」です。 今まで通り月毎にSUMIFで集計するのは手間なので、どなたかご教授願います。

  • 【Excel】SUMIFSのコピーが連番になる

    条件が複数の場合の関数のSUMIFSについて、作り方は一応わかったのですが、コピーするとどうしてもセルが連番になってしまいます。 条件が一つの場合はSUMIFを使います。 たとえば添付画像の「種目」別の合計をだしたい場合、 =SUMIF(B:B,G6,D:D) という式になりますが、これを複数の条件とする場合にはSUMIFSを使うようですが、各「年」ごと、各「種目」の合計をさらに「店舗」ごと個別計算し、その結果を表2に示す場合、 =SUMIFS(D2:D596,A2:A596,H2,B2:B596,G5,E2:E596,H3) という式でよいかと思いますが、これを「種目」すべてにコピーすると、上の式のセルがすべて連番になってしまうのです。 たとえば =SUMIFS(D3:D597,A3:A597,H3,B3:B597,G6,E3:E597,H4) このようにです。 冒頭に述べた =SUMIF(B:B,G6,D:D) の場合、たとえば下のセルにコピーすると =SUMIF(B:B,G7,D:D) というようにG列だけ変化します。 連番になってしまうと、参照元がまったく別のものになってしまいます。 「合計対象範囲」「条件範囲」はセルの範囲を指定するという説明です。 https://www.becoolusers.com/excel/sumifs.html しかしこれは合計結果がひとつづつの場合ですが、この添付画像のような複数の項目の、複数の条件の場合、同式の内容のみコピーさせるにはどうしたらいいのか困っております。

  • エクセル関数について

    エクセル関数について質問です。 簡単に説明すると特定のセルに特定の数値を入力するとその行の別のセルの数値を別のセルに表示させたい。 たとえば     A      B       C 1  100            2  200      1      100 3  300      1      300 4  400 5  合計            400 上記の様になっていた場合 A列は定数で固定です。B列のセルに1と入力(1でなくてもよい)した行のA列の数値を Cに表示したいのですが、 C列にどの様な関数を使ったらいいんでしょうか?宜しくお願い致します。

専門家に質問してみよう