• ベストアンサー

エクセルで特定のセルだけのカウント

 A  B  C   D 1           × 2   ×  ×  × 3 × 4 × 5 ×    × 上記のような表で、列ごとにその列だけが×のセル数をカウントする方法 がわかりません。 例えばA列=2(3、4行目は他の列に×を含まないのでカウント) B列=0 C列=0 D列=1(1行目) となります。 実際には行数が多いため計算式でカウントしたいと思っています。 どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • popuplt
  • ベストアンサー率38% (31/81)
回答No.2

A列の例だけです。 =SUMPRODUCT((A1:A5="×")*(B1:B5="")*(C1:C5="")*(D1:D5="")*(E1:E5="")) とか E列に作業列で [E1]=(COUNTA(A1:E1)=1)*(A1="×")  下へCopy A列計 =sum(E1:e5)

sakaharu3
質問者

お礼

できれば作業列を設けたくなかったので、SUMPRODUCTで解決しました。 どうもありがとうございました。

その他の回答 (2)

noname#204879
noname#204879
回答No.3

  A  B C D E F G H I 1      ×       1 2   × × ×    3 3 3 3 ×       1 4 ×       1 5 ×   ×    2   2 6 7 2  0 0 1 F1: =IF(A1="","",COUNTIF($A1:$D1,A1)) A7: =COUNTIF(F1:F5,1)

sakaharu3
質問者

お礼

ありがとうございました。 とてもスマートな方法で参考にさせていただきます。

  • soixante
  • ベストアンサー率32% (401/1245)
回答No.1

あまりスマートな方法が思いつかなかったのですが、以下のように作業列を設けてやってみました。 以下説明は、データが A1:D500 まで入っているとします。 1)E1セルに、=COUNTIF($A1:$D1,"×")  と入れ、500行まで引っ張る 2)F1セルに、==IF(E1=1,MATCH("×",$A1:$D1,0),0)  といれ、500行まで。 3)H1セルからH4セルに、1,2,3,4 と入力  (列ごとに集計するため。それぞれA列、B列、C列、D列に対応) 4)I1セルに、 =SUMPRODUCT(($E$1:$E$500=1)*($F$1:$F$500=$H1)) といれ、4行目まで。 イメージ的には、 ・E列に、その行にある、×の個数を出し、 ・F列では、その行の×が1個だったら、何番目の列にあるかを表示し、 ・I列で、「E列が1、かつ、それぞれの列番」、つまり、「×が一個の行の中で、それぞれの列にその唯一の×が入っている行数」をカウント としました。 上から順に、A列~D列となると思いますが、ご意向のものとあっているか確認をお願いします。

sakaharu3
質問者

お礼

早速のご回答ありがとうございました。 目的の結果がでました。

関連するQ&A

専門家に質問してみよう