- ベストアンサー
複数条件の合計
はじめまして!初投稿です。 エクセルをやり始めてまだ日が浅いので 詳しい方、教えてください。 コード100以上で200未満の金額を合計していきたいのですがSUMIF関数でうまくいきません。 コード 金額 100 10,000 300 12,000 200 11,500 コード100以上200未満の金額を合計するにはどうしたらいいでしょうか?教えてください!
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
A1:B1 にタイトル、データが A2:B4 にあるとして、 =SUMPRODUCT((A2:A4>=100)*(A2:A4<200)*(B2:B4)) で良いかな。
その他の回答 (2)
- DoragonFang
- ベストアンサー率41% (91/221)
100以上の合計から200以上の合計を引けばいいのでは? 具体的には、コードがA2:A10にあり、金額がB2:B10とすると、 =SUMIF(A2:A10,">=100",B2:B10)-SUMIF(A2:A10,">=200",B2:B10) という式で、100以上・200未満の合計が出来ると思いますが。
お礼
こういうやり方もあるんですね! まだ初心者なのでこういうやり方もあるのかと 盲点をつかれました。 100以上から200以上を引けば100以上、200未満の合計が出ますね!いろいろ勉強になります。 本当にありがとうございました。
- goomania
- ベストアンサー率56% (84/149)
SUMPRODUCTを使う方法が一般的だと思いますが、#1さんが 既に回答されておられますのですで、 若干「裏ワザ」的ですが、オートフィルタを使った方法を 書いておきます。 例えば、1行目が見出し行でデータ行が30行あるとすれば 31行目まで書き込まれている状況ですので、集計したい項目 の列(ご質問者の例で言えば「金額」の列であるB列)の 32行目に以下の数式を記入しておきます。 =SUBTOTAL(9,B2:B31) SUBTOTALは複数の関数の機能をもち、その機能の選択を数字 で指定する方式ですので、括弧の中の数字の9は「SUM」 を選択することを意味します。 この状態でメニューから データ(D)→フィルタ(F)→オートフィルタ(F)とたどって クリックすると「コード」「金額」のセルに「▼」が表示 されるはずです。 コードのセルの「▼」をクリックすると (すべて) (トップテン) (オプション) ・・・・・・ ・・・・・・ というように表示されます。 ここで(オプション)を選択するとオートフィルタオプション という抽出条件を設定するボックスが現れます。 ここに希望する条件をインプットすればよいわけです。 ご質問者の場合で言えばコードが「100」「以上」 ANDのラジオボタンを選択し、さらにコードが 「200」「より小さい」を選択しOKボタンをクリック します。 この結果、条件にあったデータ行のみが表示され「金額」 のB列の最終行に集計が表示されるはずです。 この方法は 1.条件が変更になっても数式を直接編集する必要がない 2.条件項目が追加(例えば「日付」が追加)されても 当該項目の条件をオートフィルタオプションで指定可能 3.複数項目を同時に満たす抽出も項目1でオートフィルタ オプションを使用してから項目2でオートフィルタ オプションを使用するといった使い方ができる という点から私はよく使います。
お礼
オートフィルタを使ったやりかたもあるんですね! 他の条件にしても使えるので便利ですね勉強になります。 本当に丁寧に説明していただきありがとうございました。
お礼
ご回答ありがとうございました。 この関数を使ったところ条件通りに合計金額が出てきました。 初心者なものでそういう関数があること自体、始めて知り勉強になりました。 本当にありがとうございました。