• ベストアンサー

EXCEL2013 重複データかつ複数条件

添付ファイルの通り、A列、B列、C列にデータがあります。 以下の条件すべてを満たす件数を表示したいと考えております。 ・A列 2016/2/15 ・B列 重複するデータを一件とする ・C列 X この表で言うと4件という結果になる計算式を作成したいところです。 シンプルな計算式をご教授いただきたいと存じます。 どうぞよろしくお願いします。

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

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

次の数式でカウントできます。 =SUMPRODUCT((COUNTIFS(A:A,"2016/2/15",B:B,{"a";"b";"c";"d"},C:C,"X")>0)*1) B列の比較対象データを作業用のセルへ抽出すればセル範囲を対象にできます。 =SUMPRODUCT((COUNTIFS(A:A,G2,B:B,H2:H5,C:C,I2)>0)*1) 但し、G2="2016/2/15" H2:H5={"a";"b";"c";"d"} I2="X" とします。

noname#247686
質問者

お礼

ご回答ありがとうございました。 無事に解決できましたので、仕事が進みました。 ありがとうございました。

その他の回答 (2)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 もし関数のみで処理しようとしますと、 =SUMPRODUCT(($A2:INDEX($A:$A,MATCH(9E+99,$A:$A))="2016/2/15"+0)*($C2:INDEX($C:$C,MATCH(9E+99,$A:$A))="X")*(COUNTIF(OFFSET($B$1,,,ROW($A2:INDEX($A:$A,MATCH(9E+99,$A:$A)))-ROW($B$1)),$B2:INDEX($B:$B,MATCH(9E+99,$A:$A)))=0)) の様な複雑な関数になってしまいます。  ですから、中間処理を行うための作業列を設けて、その作業列に表示されるデータを基にしてカウントした方がずっと簡単です。  今仮に、E列を作業列として使用するものとします。  その場合、まずE2セルに次の様な関数を入力して下さい。 =IF(AND($A2="",$B2="",$C2=""),"",IF(COUNTIFS($A$1:$A1,$A2,$B$1:$B1,$B2,$C$1:$C1,$C2),"",$A2&"★"&$B2&"★"&$C2))  次に、E2セルをコピーして、E3以下に貼り付けて下さい。  そして >この表で言うと4件という結果 を表示させるセルには、次の様な関数を入力して下さい。 =COUNTIF($E:$E,"2016/2/15"+0&"★*★X")  以上です。

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.1

=COUNTIFS(A2:A14,"2015/2/15",C2:C14,"X") 列全体指定 =COUNTIFS(A:A,"2015/2/15",C:C,"X") 検索日付をE1に、C列の検索文字をE2に入力し、セルを参照する方法 =COUNTIFS(A:A,E1,C:C,E2) どの数式でも可能です。

noname#247686
質問者

補足

ご回答ありがとうございます。 数式を入れてみたところ(日付は2016/2/15です)、 『6』件と表示されてしまいます。 原因は、2行目と4行目、6行目と7行目が重複しているためです。 この重複データをそれぞれ1件として考え、 最終的には『4』件という結果を導きたいと考えております。 よろしくお願いいたします。

関連するQ&A