• ベストアンサー

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つのセルだけで簡潔に求めたいです。(式は簡潔でなくても構いません) よろしくお願いいたします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

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で配列数式にする。 ※配列数式確定後に式の両側に{}で閉じられます。

panda--
質問者

お礼

ありがとうございます。 まさに実現させたかったことです。

その他の回答 (3)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

式でなければいけませんか? ご質問の要求を実現する機能としてピボットテーブルがあります。(ツールバーの「データ」から起動します) まず先頭に行を1行追加して、各列にタイトルとして「商品」「販売先」「数量」をつけます。 次に「データ」→「ピボットテーブルとピボットグラフレポート」を選択しウィザードを開きます。 ウィザード1/3では何もせず「次へ」を選択 ウィザード2/3ではデータの範囲を A:Cや、A1:C30のように入力し、「次へ」を選択 ウィザード3/3では、「レイアウト」を選択し、「行」、「列」、「データ」にそれぞれ「商品名」、「販売先」、「数量」をドラッグしたら「OK」 するとウィザード3/3に戻るので、「完了」を選択。するとクロス集計表が作成されます。 またレイアウト画面で「行」に「商品」「販売先」の二つの項目をドラッグすると別のレイアウトになります。 どちらがお望みか分かりませんが、試してみてください。  

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

=SUMPRODUCT((A1:A100="バナナ")*(B1:B100="A商店"))&"件"&SUMPRODUCT((A1:A100="バナナ")*(B1:B100="A商店")*(C1:C100))&"個" かな。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

余りスマートではありませんが次の関数で如何でしょうか。 =SUMPRODUCT((A1:A7="バナナ")*(B1:B7="A商店"))&"件"&SUMPRODUCT((A1:A7="バナナ")*(B1:B7="A商店")*(C1:C7))&"個"

関連するQ&A