- ベストアンサー
Excel:ふたつの条件でSUMIFを使いたい
例えば日付(月と日にちは別のセル)とその日に買ったものとその値段の表Aがあって ある日にちに使った合計金額を知りたい場合 単純な方法としては表Aの月と日のセルの数字をCONCATENATEで結合した文字列を新たに作って その文字列と知りたい日付(こちらも結合してある)でSUMIFをすればよいのだと思いますが 無駄に1列結合した文字列を入れるのがなんとなくスマートじゃない気がするので 他の方法は何かないかといろいろ考えているのですができません。 新たに列を作らないで合計を知る方法は何かないのでしょうか? 回答よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
=SUM(IF((月の範囲=月)*(日の範囲=日),値段の範囲)) と入力後にCtrl+Shift+Enterで確定して配列数式にする。 ※配列数式にすると{=数式}の状態になります。 もしくは =SUMPRODUCT((月の範囲=月)*(日の範囲=日)*(値段の範囲)) こちらは配列数式にする必要はありません。 積の和を求める関数ですが便宜的に複数条件のカウントや合計に使えます。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
例データ A列 B列 数値 11 1 1 11 2 2 11 1 3 11 1 4 12 3 5 12 3 6 11 1 3 で 上記以外のセルに、 =SUM(IF(DATE(2005,A2:A10,B2:B10)=DATE(2005,11,1),C2:C10,0)) と入れて、SHIFTとCTRLとENTERを同時押しで 結果 11 となりました。 上記例のように、A10などの10は多めでも可ということです。 SUMPRODUCTなら =SUMPRODUCT((DATE(2005,A2:A10,B2:B10)=DATE(2005,11,1))*(C2:C10))
お礼
回答ありがとうございます。 お二人の方から同じ回答をもらったということは これはかなり基本的なテクニックのようですね。 がんばって勉強していきたいと思います。
お礼
Excelはほとんど使ったことがないので どんな関数があるかほとんど知らないのでなかなか自分で考えて関数を探し出すというのは難しいことだと 思っていたのですが 配列数式という考え方を用いればSUMとIFという基本的な関数でも実現できるのだと感動しております。 大変勉強になりました。 回答ありがとうございました。