• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:式で""を設定をした空白セルがCOUNTAでカウントされます)

式で空白セルのカウント

このQ&Aのポイント
  • 「COUNTA()」関数を使用してセルの値をカウントする際に、空白セルに設定された""がカウントされてしまう問題が発生しています。
  • 空白セルの設定方法として、""を代入する方法ではなく、他の方法を探しています。
  • セルの値が空白であることを確実に示す方法や、COUNTA()関数に空白セルをカウントさせない方法について教えていただきたいです。

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

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.3

SUMPRODUCT関数はどうでしょう。 F1:F20の空白""でないセルをカウントする場合   =SUMPRODUCT((F1:F20<>"")*1) 最後の"*1"は必須。 以上です。

unagiu
質問者

お礼

できたーーー!!! 他の回答を見ていても、半ばあきらめていたのですが... スッキリです! 助かりました! どうしても分からないのですが、 SUMPRODUCT関数での<>""は、空白セルも""入力セルも同様に反応してくれるんですね。 もしかして、COUNTIF()でも、同じようにできるかと思ったのですが、 =COUNTIF(F5:M5,"<>"&"") これでもできませんでした。 なぜ、SUMPRODUCT関数では、<>""でカウントされないのでしょう? ほんの少し補足をいただけると助かります。 問題自体は解決しました。 コメントいただけるか少しだけ様子を見てクローズいたします。

その他の回答 (3)

  • myRange
  • ベストアンサー率71% (339/472)
回答No.4

回答3、myRangeです。 >なぜ、SUMPRODUCT関数では、<>""でカウントされないのでしょう? 式の結果をちゃんと捉えているこのSUMPRODUCTの振る舞いの方がふつうだと思いますが。。。。 それよりも COUNTAやCOUNTIFではなぜ質問のようなカウントができないのだろうか? という疑問の方が気になりませんか? COUNTAは、式の結果""と未入力を区別していると考えれば納得できますが、 COUNTIFについて下記のことを試してみるとなお更納得がいかないはずです。 新しいシートで試してください。   A1: 555   A2: 未入力   A3: 未入力   A4: =IF(B1="","",B1)  ■B1は未入力 この状態で  (1)COUNTIF(A1:A4,"")   空白セルのカウント  (2)COUNTIF(A1:A4,"<>")  空白セル以外のカウント          (1)の結果は、3     (2)の結果は、2 (1)では、式の結果の""も空白としてカウントしているが (2)では、式の結果の""を空白とみなしてない これは明らかに矛盾していると思われるが、 なぜそんな結果になるかはCOUNTIFを作った人しか分からない 仕様だと割り切るしかないということです。 それらを踏まえて、一言。 カウントや合計はCOUNT関係の関数やSUMIFなどよりSUMPRODUCTの方が使い勝手がいい。 何よりも複数条件にも対応できるので。(2007では複数条件対応関数がある) どうも質問者の疑問点には答えてないような気もしますが この手の質問は答えようがないので、、、、 以上です。

unagiu
質問者

お礼

ありがとうございました。 納得でき...ないのですが、仕様として割り切ろうと思います。 割り切るための材料まで頂き、本当にありがとうございます。

回答No.2

>式で""を設定をした空白セルがCOUNTAでカウントされます これは「仕様」です。回避出来ません。 >COUNTA()-COUNT()等の式の追加は、できるだけ回避したいです。 回避できません。 >=IF(COUNTA(B2:AA91)>127,1,"") は =IF((COUNTA(B2:AA91)-COUNTBLANK(B2:AA91))>127,1,"") と書くしかありません。 回避する唯一の方法は「諦める」しかありません。

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

数式が入っていれば「空白」ではないのでCOUNTAでひっかかるのは当然のことです。 ="" を空白としたいならCOUNTBLANK関数では空白に数えてくれますから、逆に空白でないセルをカウントするのではなく対象範囲のセル数から空白セル数を引くしかないと思いますが。

関連するQ&A

専門家に質問してみよう