• ベストアンサー

空白のセルのカウントについて

インターネット等で色々検索したのですが、うまく回答が導き出せなかったのでこちらで質問させていただきます。 添付したような表があるとき、B列にある空白のセルを都道府県別にカウントするにはどのようにしたら良いか教えてください。 例には都道府県を使用しましたが、実際には1000行を超えるデータとなりA列には同じ値が入力されます。 結果として 北海道:1 愛知:2 東京:2 福岡:0 というような答え導き出す方法を教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • matyu1003
  • ベストアンサー率42% (257/598)
回答No.1

適当なセルに、 =SUMPRODUCT((A1:A10="北海道")*(B1:B10="")) で、北海道は1になります。また、"北海道"の部分を他の都道府県にすれば、同様に望む結果を得られますよ。

yushapapa
質問者

お礼

ありがとうございます。 都道府県の場合はこれで問題なくできたのですが 実際のデーターの中には数値が含まれており その計算結果が0になってしまいました。 これは直す方法はあるのでしょうか?

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 横からお邪魔します。 No.1さんのお礼欄の件について・・・ 数式内の「北海道」は文字列ですので、ダブルクォーテーションで囲みます。 数値の場合はダブルクォーテーションなしでそのまま数値にすればOKです。 ところで他の方法の一例です。 ↓の画像でSheet1のデータをSheet2にまとめるようにしてみました。 Sheet1のC列を作業列として設けています。 作業列C2セルに =IF(COUNTIF($A$2:A2,A2)=1,ROW(),"") という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。 そしてSheet2のA2セルに =IF(COUNT(Sheet1!C:C)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!C:C,ROW(A1)))) B2セルに =IF(A2="","",SUMPRODUCT((Sheet1!$A$1:$A$1000=A2)*(Sheet1!$B$1:$B$1000=""))) という数式を入れ、A2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピー! これで画像のような感じになります。 ※ SUMPRODUCT関数は配列数式になりますので、データ量が極端に多い場合はPCにかなりの負担を掛けますので VBAなど、他の方法の方が良いと思います。 (1000行程度であれば問題ないかもしれません) 参考になりますかね?m(_ _)m

yushapapa
質問者

お礼

どうもありがとうございます。 ””をとればよかったのですね。単純な見落としをしていました。 いろいろデータを入力してみて使い比べたのですが 私のスキル不足なのかうまく使いこなせませんでした… 今後、使う機会があれば活用させていただきます

  • M_Sato
  • ベストアンサー率54% (550/1003)
回答No.2

ピボットテーブルの機能を使えば、自動的にカウントされます。 手順は (1)表の1行名に項目名(例:A1…都道府県、B1…都市)を入れておく。 (2)メニューバー>データ>ピボットテーブル (3)ピボットテーブル・ウィザードが表示されたら規定値のまま 次へ>次へ>完了 (4)空白のレポートの表が表示されたら   1)行のフィールドをドラッグする欄に「都道府県」の項目をドラッグする   2)同じ欄に「都市」の項目もドラッグする   3)データアイテムをドラッグする欄(中央)に「都道府県」の項目をドラッグする これで、空白も含めた都市ごとの集計数が表示されます。