- ベストアンサー
Excelで、複数条件で検索するには?
りんご A商店 2個 バナナ A商店 3個 りんご B商店 5個 みかん C商店 3個 バナナ A商店 5個 みかん A商店 1個 バナナ C商店 3個 上記のような表で、 A列が「バナナ」かつB列が「A商店」のデータをカウントし、さらに個数(C列)の合計を出すようなことをしたいと思っています。 上の例なら、2件8個というのを求めたいです。 DSUMやDCOUNTでCriteriaの表を作る方法、あるいはオートフィルタで求める方法はわかるのですが、答えは、各1つのセルだけで簡潔に求めたいです。(式は簡潔でなくても構いません) よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
1セルでの集計だと下記の2つの方法だと思います。 =SUMPRODUCT((A1:A100="バナナ")*(B1:B100="A商店")*(C1:C100)) ※SUMPRODUCT(条件式*1)でCOUNTIFと同じ、SUMPRODUCT(条件式*集計範囲)でSUMIFと同じ機能になります。条件式は複数あってもかまいません。 =SUM(IF((A1:A100="バナナ")*(B1:B100="A商店"),C1:C100)) と入力後、Ctrl+Shift+Enterで配列数式にする。 ※配列数式確定後に式の両側に{}で閉じられます。
その他の回答 (3)
- zap35
- ベストアンサー率44% (1383/3079)
式でなければいけませんか? ご質問の要求を実現する機能としてピボットテーブルがあります。(ツールバーの「データ」から起動します) まず先頭に行を1行追加して、各列にタイトルとして「商品」「販売先」「数量」をつけます。 次に「データ」→「ピボットテーブルとピボットグラフレポート」を選択しウィザードを開きます。 ウィザード1/3では何もせず「次へ」を選択 ウィザード2/3ではデータの範囲を A:Cや、A1:C30のように入力し、「次へ」を選択 ウィザード3/3では、「レイアウト」を選択し、「行」、「列」、「データ」にそれぞれ「商品名」、「販売先」、「数量」をドラッグしたら「OK」 するとウィザード3/3に戻るので、「完了」を選択。するとクロス集計表が作成されます。 またレイアウト画面で「行」に「商品」「販売先」の二つの項目をドラッグすると別のレイアウトになります。 どちらがお望みか分かりませんが、試してみてください。
- merlionXX
- ベストアンサー率48% (1930/4007)
=SUMPRODUCT((A1:A100="バナナ")*(B1:B100="A商店"))&"件"&SUMPRODUCT((A1:A100="バナナ")*(B1:B100="A商店")*(C1:C100))&"個" かな。
- mu2011
- ベストアンサー率38% (1910/4994)
余りスマートではありませんが次の関数で如何でしょうか。 =SUMPRODUCT((A1:A7="バナナ")*(B1:B7="A商店"))&"件"&SUMPRODUCT((A1:A7="バナナ")*(B1:B7="A商店")*(C1:C7))&"個"
お礼
ありがとうございます。 まさに実現させたかったことです。