• ベストアンサー

エクセルCOUNT関数について

こんばんは、COUNT関数についてお伺いします。 たとえばA列に関数(SUMなど)の数式が入っています。そのA列を範囲指定してCOUNT関数をしたところ、数値が現れているセルのみをカウントしたいのですが、空白の数式が入っているセルもカウントしてしまいます。数値を示しているセルのみをカウントしたいのですが、うまく行きません。 どうすれば解決できますか、教えていただけないでしょうか。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

(1)確認 COUNT関数は数値データのセルの個数を勘定します。 空白・文字列のセルの数は勘定に入れられません。 例 A列 1 2 3 (スペース) 3 asd 以下空白 =COUNT(A1:A10)  は4 ーー エラーセルは #DIV/0! をA8につくっても4のまま ーーー (2)関数で0になる式をA9に入れると =COUNT(A1:A10)は 5になる(データは上の続き) A1=1、B1=1でA9に=A1-B1 (3)該当なし的な関数の結果地としての0 C列は空白として=COUNTA(C1:C10)をA10に入れると =COUNT(A1:A10)は 6になる(A1:A9のデータは上の続き) A10に=SUM(C1:C10)でも同じ。 式で空白になっているセルは数えるか A11に=IF(C1="","",C1)と入れて空白になっているセルを作る。 =COUNT(A1:A11)を入れると、他のデータは上記のままとして、6と 変化なし。 ーー 質問者は、エクセルの関数はセルの値を問題にしており、かつ、その値ができた来歴(テ入力、関数、VBA、オートフィル、コピー張り付け等)は問題にしない、という当たり前のことをはっきり認識していない(もし区別したら不便で使い物にならない)ために、質問の前半部分の余分な記述になる。 ーー 関数による0を省くとか、その関数の引数が空白であったかなどは 同じ0が返っていても、その前身の中身を追求し式に埋め込むのは多分不可能に近い。 使ったセル範囲の値は0であるが、その先は0でもその値は関数による値で、その先はどうかと考えると・・それは理論的にきりが無いのはわかるでしょう。 ーー 0をそっくり件数から除外してカウントしてよいか。 来歴を1段ぐらい前までにして、1段前の関数の引数の空白等を問題にして、式に入れるかなどありえるかも。(SUMPRODUCT関数やIF関数利用?) ーー >空白の数式が入っている・・ 式を具体的にいsめし、具体的にどのものはカウントしたくないのか説明しないと、具体的な回答はできないでしょう。

その他の回答 (4)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんにちは。 >空白の数式が入っているセルもカウントしてしまいます。数値を示しているセルのみをカウントしたいのですが、うまく行きません。 空白って、何にですか?どのように考えても、COUNT関数は数値だけを数えるはずです。その「空白の数式」の問題ではありませんか?0を空白にするとか、特別のことをしていませんか? 例 = IF(B1="","",B1) = IF(B1=0,"",B1) なら、COUNT で数えられるはずですね。

uchari2007
質問者

お礼

皆さん、たくさんの解答をありがとうございました 失礼ですがまとめてお礼を申し上げます。 私の質問のしかたが不十分ということもわかりました。 でも皆さんの解答どれも大変参考になりました。 おかげさまで解決しました。ありがとうございました。

  • sige1701
  • ベストアンサー率28% (74/260)
回答No.3

>数値が現れているセルのみをカウント =COUNTIF(A:A,">0") 但し、正の数のみの場合

  • Hachi5592
  • ベストアンサー率36% (252/698)
回答No.2

数式が入っているセルで結果がゼロになっているところを空白になるように設定していませんか?(ゼロ値表示のチェックが外されていませんか)COUNT関数ではそこにはゼロが入っているのでカウント対象にします。このようなときは以下のようにCOUNTIF関数を使用してゼロ以外のセルをカウントする用にしたらいかがでしょうか? =COUNTIF(A2:A8,"<>0")  例では対象セルはA列2~8ですが。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

空白が入っている・・・全角か半角のスペースが入っているということでしょうか。 であれば、   スペース(全角、半角)を空白に置き換える A列を選択 → 編集 → 置換 → 検索文字にスペース(全角)/ 置き換えられる文字には何もいれない → OK 編集 → 置換 → 検索文字にスペース(半角)/ 置き換えられる文字には何もいれない → OK これでカウントされる不要なスペースは削除されます。

関連するQ&A

  • エクセル関数で・・・

    A列の1行目から45行目までに、”1”か”×”を入力するか、空白があります。 B列の1行目から45行目までに、様々な数値、若しくは空白が入ります。 この時、A列が”×”の行でB列が空白でないセルをカウントする数式を教えて下さい。   A  B 1 ×  20 2 × 3 1  30 4 ×  5 1  20 6 7 1  30 8 ×  10・・・・ こんな感じで、A列が”×”でB列が空白でないセルは『2』と導きたいのです。 分かりにくい説明で申し訳ありませんが、宜しくお願いいたします。

  • エクセルの関数について。

    エクセルの関数。 Sheet1の作業列1のA2セルに =IF(COUNTA(Sheet2!2:2)=0,"",IF(Sheet2!A2="",A1,Sheet2!A2)) →数式1とする 作業列2のB2セルに =IF(A2=$D$2,ROW(),"") →数式2とする という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピーしておきます。 (Sheet2の行数以上コピーしておく) そしてE2セルに =IF(COUNT($B:$B)<ROW(A1),"",INDEX(Sheet2!B:B,SMALL($B:$B,ROW(A1)))&"") →数式3とする という数式を入れオートフィルで列方向・行方向にコピーする。 教えて頂きたいことは、数式1、数式2、数式3が何を意味しているのか。 と、この数式を使って、表を作成したのですが、ある特定の数字(コード、D2セルに入力)を入力しても反応してくれない。 (E2~H2まで、空白セルの状態になります。) (sheet2は約1200行あります。) 教えて頂けないでしょうか?

  • いつもお世話になっております。

    いつもお世話になっております。 エクセルのcount関数について質問させていただきます。 数値が入っているセルを範囲指定する際、すぐ隣に数値が入っているのに、そこを含まずに指定すると、エラースマートタグの「このセルにある数式は、隣接したセル以外の範囲を参照します」の表示が出ますが、同じ式で1か所文字列に変更するとエラーが消えます。 文字列を削除してセルを空白にしてもエラーは再度出ます。この違いがよくわかりません。 どういう意味なのか教えていただけないでしょうか。よろしくお願いします。 画像の数式は、いずれの行もB列からE列まで選択してcount関数をF列に入れています。

  • エクセル関数で600番台の数取得

    セル範囲A1:A20に数式で数値が表示されています。 数式で=""が表示されるため、空白に見えるセルもあります。 この範囲から600から699までの数値がいくつあるか取得しようと思います。 =COUNTIF(A1:A20,">=600")-COUNTIF(A1:A20,">=700") 以上の関数でできるとは思いますが、ほかの関数があればご教示ください。 なお、オートフィルターは使用しないものとします。 エクセル2010です。

  • EXCEL2003{=Count(IF・・出来ない

    EXCEL2003 配列関数の結果がうまくいきません Sumの場合はうまく合計が出ます {=SUM(IF(A2:A8="Q大学",C2:C8,""))} Countにするとカウントされるフィールドが、条件範囲となってしまい カウントしたいフィールドでカウントできません 『目的:Y大学で点数が入っている件数を求めたい』 {=Count(IF(A2:A8="Y大学",C2:C8,""))} 詳細は添付画像の通りです 他に配列関数を使わない方法(関数の組み合わせなど)があるかと思いますが・・・ 今回は、配列関数での解決方法をお願いします

  • Excelで隣のセルが空白の場合にカウントする方法

    (ケース1) Excelで右隣のセルが空白となっているセルの数を知りたいのですが、どのような数式・関数を使えば可能でしょうか? (ケース2) Excelで左隣のセルが空白となっているセルの数を知りたいのですが、どのような数式・関数を使えば可能でしょうか? (例) A列  B列 333 123 444 456 空白 321 555 567 空白 258 空白 159 666 258 777 空白 (ケース1)この場合のカウントを、A列1としたい。 (ケース2)この場合のカウントを、B列3としたい。 ご教授のほどよろしくお願いします。

  • EXCEL COUNT関数で

    EXCEL COUNT関数で A列の1-10行目まで文字や数字なにかを入力したら セルA11に何行入力したかを自動計算させるようCOUNT関数を挿入しました。 例えば A1:123 A2:45-6 A3:ABC 上記は3行入力してるので3と表示させたいです。 だけどA2:45-6のように-があると計算せず2とでます。 なぜでしょうか? 宜しくお願い致します。

  • COUNT関数について

    COUNT関数について COUNT関数について教えてください。 EXCEL2007を使用しています。 ある表で数値の入っている箇所を数える為にCOUNT関数入力すると 答えではなく数式が表示されます。 どのような原因が考えられるのでしょうか? 教えてください。

  • Excelの関数について

    Excelの関数について 今表を作っていて 1日数回データを取って それを1ヶ月ぐらい続ける予定で その結果をExcelの表に入力したいと思っています。 A列に現在値 B列に増加分 C列にA+Bの値を入れたいと思っています。 なので、C列には、C1には=SUM(A1,B1)として セルの右下にポインタを合わせて十字で下まで引っ張って関数をコピーしています。 で、そうするとC列に0が表示されてしまい それはなんとか、ツール→オプション→表示→ゼロ値のチェックを外して解決したのですが C列の合計値は次の行のAのセルに表示したくて 例えば C3の数値はそのままA4に C7の数値はそのままA8にといった感じで で、A2のセルに=C1とかA5のセルに=C4とかしたのですが いちいち関数を埋め込むのは面倒くさいので 下のほうまで関数をコピーしたところ 関数が埋め込まれているので A列とB列にしたの方まで同じ数字が表示されています。 これって消すことはできないのでしょうか? 現在は 最初のA1セルだけに数値を入れたのですが関数を埋め込んだことにより A列とB列すべてにA1セルの数値が表示されています。 まだデータを取っていないのでB列は空白です。 ただ、できれば、下の方に数値が表示されないようにしたいんです。 言葉で説明すると A列とB列に数値が入力されない限り、C列の合計値は表示されない設定にできれば 私の言っているような状況になると思うのですが、そういう事はできないのでしょうか… 教えてください。

  • エクセルでカウントする関数

    質問させてください やりたいことは 例えば数式 =IF(***>**,E5,"") が1行~10行にコピーしてあり 論理式に適合したものは参照セル値を返します 適合しないものは空白です さて 適合したものを数えてみようと思ったのですfが COUNT関数 COUNTA関数などやりましたが 数式のあるものも数えてしまい よって全部の行がカウントされていまいました 教えてください よろしくお願いいたします

専門家に質問してみよう