こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

COUNTIFで空白表示以外のセル数を取得

エクセル2010です。
セル範囲A1:A10にはすべて数式が入っています。
計算の結果はすべて文字列が返ります。
その中には、="" で空白に表示されたセルもあります。
セル範囲A1:A10で空白に表示されたセルの数は
=COUNTBLANK($A$1:$A$10) で求められます。
空白でないセルの数を求める場合
=COUNTA($A$1:$A$10) では、="" も数式が入っているためすべてカウントされ使えません。
やむを得ず、
=SUMPRODUCT(($A$1:$A$10<>"")*1) や
=ROWS($A$1:$A$10)-COUNTBLANK($A$1:$A$10) でしのぎました。
これを、COUNTIFで求めることはできないでしょうか?
=COUNTIF($A$1:$A$10,"<>""") とやってみましたが、これも全セル数を返すようです。

投稿日時 - 2018-08-26 17:35:21

QNo.9531148

暇なときに回答ください

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

>セル範囲A1:A10にはすべて数式が入っています。
>計算の結果はすべて文字列が返ります。
>これを、COUNTIFで求めることはできないでしょうか?
1文字以上の文字列が代入されたセルを検索するのですよね?
下記のようなワイルドカードを使ってください。
=COUNTIF($A$1:$A$10,"?*")
ワイルドカードの?は何らかの1文字を意味し、*は文字数を規定しません。
=COUNTA($A$1:$A$10)は「=""」も文字列としてカウントします。(数式があるからでは無いようです)

投稿日時 - 2018-08-26 22:41:57

お礼

bunjiiさん、今回もありがとうございます。
=COUNTIF($A$1:$A$10,"?*")
なんと、こんなことができるのですね!
とても助かりました。ありがとうございます。

投稿日時 - 2018-08-27 10:10:09

ANo.4

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

数式が入っているということは空白ではありません。
何も無い用に見えているだけで文字は入っています。その為文字を含めてカウントするcountaなどではカウントされてしまいます。
出来ない式の訂正で申し訳ないですが、
>=COUNTIF($A$1:$A$10,"<>""")
こちらではなく
=COUNTIF(A1:A10, "<>")
=COUNTIF(A1:A10, "<>"&"")
の方が数式としては正しいのではないでしょうか。

数式の計算結果が0であれば対応が簡単ですが、文字となると
=COUNTA(A1:A10)-COUNTIF(A1:A10,"")
という方法などでしょうか。

計算結果を0にすれば簡単ですのでA1~A10の式をつついて
=IF(B1&C1="",0,(B1&C1))
などとしておいて値が無ければ数字の「0」を返すようにしてください。
*注意:0であって"0"ではありません。"0"にしたらどうなるかご確認ください。
そしてカウントしたい場所で
=COUNTIF(A1:A10,"<>0")
という形にしてください
こうすれば空白を返すのでは無く数字の「0」を返すので「0」以外をカウントしてくれます。”0”は文字の0となります。
数字の0の非表示はオプションから出来ます。

投稿日時 - 2018-08-26 19:11:22

お礼

quindecillionさん、訂正ありがとうございます。

投稿日時 - 2018-08-27 10:03:18

ANo.2

>セル範囲A1:A10で空白に表示されたセルの数は
 =COUNTBLANK($A$1:$A$10) で求められます。
★空白でないセルの数を求める場合
 総数から空白のセル数を引けば
 =10-COUNTBLANK($A$1:$A$10)
 または 
 =COUNTA($A$1:$A$10)ーCOUNTBLANK($A$1:$A$10)

のめりこんでいますね、こういう時はお茶にして一息入れて下さい。

投稿日時 - 2018-08-26 18:34:37

お礼

chayamatiさん、おはようございます。
>総数から空白のセル数を引けば
はい、その方法なら存じています。
ありがとうございました。

投稿日時 - 2018-08-27 10:02:18

ANo.1

=COUNTA(A1:A10)-COUNTIF(A1:A10,"")

投稿日時 - 2018-08-26 18:31:10

お礼

msMikeさん、おはようございます。
COUNTIF(A1:A10,"")はCOUNTBLANK($A$1:$A$10)と同じことですね。
ありがとうございました。

投稿日時 - 2018-08-27 10:00:19

あなたにオススメの質問