• 締切済み

エクセルでスペース入力セルをカウントしない方法

counta関数で、セルに何らかの文字、数字が入力されているセルの個数をカウントできますが、スペースが入力されているセルもカウントされてしまいます。 スペース(複数回入力されている場合も)が入力されているセルをカウント対象外とする方法はありますか?

みんなの回答

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.9

>不特定多数の人が入力するエクセルシートで、ある基準に合致する場合にそのセルにレ点を入れてもらうことを想定し、その件数をカウントしたいと思っています。 このような特定の文字しか入力しないケースでは手入力するのではなく、ドロップダウンリストから選択させる(特定の値しか入力できないようにする)ことをお勧めします。 「データ」「データの入力規則」で入力値の種類で「リスト」を選択し、元の値の欄に、例えば「レ」と入力します。 ちなみに、2つ以上の入力項目があるときは元の値の欄に「一致,不一致」のようにカンマで区切って入力してください。 なお、キーボード操作でドロップダウンリストから候補を選択するときはAlt+↓キーの操作をしてください。

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.8

> ある基準に合致する場合にそのセルにレ点を入れてもらうことを想定し、 > その件数をカウントしたい のであれば、素直に「レ(全角)・レ(半角)」を数えたほうが早いのでは?   例:=COUNTIF(範囲,"*レ*")+COUNTIF(範囲,"*レ*") 準備が面倒ですが「チェックボックス」を使う手段もあります。 各行にチェックボックスを配置(例えばA列)、 それぞれ各行の特定列(例えばB列)にリンクさせ、 この特定列(B列)を対象に「TRUE」の数を数えてやればOK。   例:=COUNTIF(範囲,"TRUE") これでB列を非表示にしておけば、視覚的にも邪魔にはなりません。 後者の手段なら、おっしゃる > スペースキーを押下して入力した文字を消したりする > パソコンに不慣れな人 にとっても、マウスでのエントリーのみで操作できるのですから、使う側にとっては楽チンです。

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

No.5・6です。 何度もごめんなさい。 データ量がかなり多いというコトですので・・・ VBAになってしまいますが一例です。 (作業用の列を設けてよいのであれば関数だかで可能だと思います) A列全体をカウントする場合です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim i As Long, k As Long i = Cells(Rows.Count, 1).End(xlUp).Row Application.ScreenUpdating = False Range("A:A").Insert With Range(Cells(1, "A"), Cells(i, "A")) .Formula = "=LEN(TRIM(B1))" .Value = .Value End With k = WorksheetFunction.CountIf(Range("A:A"), ">0") Range("A:A").Delete Application.ScreenUpdating = True MsgBox k & "件" '←タイトル行がある場合はタイトル行分をマイナスする! End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m

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

No.5です。 投稿後気づきました。 No.3さんの方がすっきりスマートです。 どうも失礼しました。m(_ _)m

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

こんにちは! 極端にデータ数が多い場合はオススメできない方法ですが・・・ 仮にA1~A100セルの範囲をカウントする場合は =SUMPRODUCT((SUBSTITUTE(ASC(A1:A100)," ","")<>"")*1) といった感じにしてみてはどうでしょうか? 上記数式は100行まで対応の数式ですが、1000行程度であれば問題ないと思います。 ※ 半角・全角スペース両方に対応できるようにしてみました。m(_ _)m

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

SUMPRODUCT関数を使うこともできますが計算に負担がかかりますね。 COUNTA関数は見かけ上空白のセルを数えてしまうことです。完全に空白のセルは数えません。式などが入っていてそれにより空白になっているセルなどは数えることになります。 ところでCOUNT関数は数値のみが入力されているセルの数を数えることができます。文字列や式で空白となっているセルは数えません。 一方、COUNTIF関数は文字列の入力されたセルの数を数えることができます。数値や式で空白となっているセルの数は加須ません。 例えばA1セルからA10セルの範囲で文字や数値の入力されたセルの数を数えるのでしたら次のような式になります。 =COUNT(A1:A10)+COUNTIF(A1:A10,"?*") 一般には数値のみか文字列のみかの場合が多いので上の式が多く使われることはないでしょう。COUNT関数かCOUNTIF関数のどちらかを使いますね。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

スペースを含む文字列をすべて削除すると「姓 名」のようなスペース入りの文字列も削除対象になります。 半角および全角のスペース(連続を含む)のみカウントから除外したいなら、以下のような数式で対応する必要があります。 =SUMPRODUCT((TRIM(データ範囲)<>"")*1)

ganz8773
質問者

お礼

不特定多数の人が入力するエクセルシートで、ある基準に合致する場合にそのセルにレ点を入れてもらうことを想定し、その件数をカウントしたいと思っています。 その日その日の発生件数により、1ページで済む場合もあれば、複数ページにわたる場合もあり、A列ならA列に入力されるレ点全てをカウントしたいのです。 ミス入力した場合、そのセルをdeleteで消してくれれば問題ないのですが、パソコンに不慣れな人ってスペースキーを押下して入力した文字を消したりしますよね。 そうするとカウントがくるってしまうので、何とか回避する方法はないものかと思いお尋ねした次第です。 もう少し研究してみますが、何かアイデアがあったらお願いします。 ありがとうございました。

noname#203218
noname#203218
回答No.2

下記式で、半角スペース、全角スペースを含むセルをカウントから外せます。 =COUNTA(A1:A7)-COUNTIF(A1:A7,"* *")-COUNTIF(A1:A7,"* *")

回答No.1

簡単に求めるなら、スペースのセルをカウントして、全体のカウント数から引くと結果が得られますよ。

関連するQ&A

  • countaで空白セルもカウントされてしまう

    エクセル2003で、counta関数を使って何かが入力されているセルの数を数えているのですが、 何も入力されていないセルまでカウントされてしまいます。 その何も入力されていないように見えるセルは、スペースもなにも入力されておらず、 そのセルの上でDelキーを押すと、そのセルはカウントされなくなります。 空白に見えるセルをDelキー押していけばいいのですが、空白に見えるセルが大量にあるので、1つ1つDelキーを押していくのは大変です。 空白に見えるセルをカウントしないようにする方法ありますでしょうか?

  • excelで文字数をスペースを除いてカウント

    シート内に入力した文字数をカウントしたいのですが、 1つのセルに『木村 拓哉』のように姓名の間に半角スペースが 入っています。この半角スペースを無視して文字数をカウントするには どのような関数が適していますか? LEN関数を使うと、スペースも1文字としてカウントされてしまいます。 宜しくお願い致します。

  • エクセルのセルのカウント方法で質問です。

    エクセルのセルのカウント方法で質問です。 A列B列C列があります。 A列とB列のセル内の文字が指定した文字の時 C列のセル内に文字が入力されてる場合にカウントするにはどうすればよいでしょうか またカウントではなくC列に数字が入力されているとして合計値を出したい場合も教えてください。 例として画像を貼り付けます。

  • エクセルのカウントについて

    関数のCOUNE(カウント)を使用したいのですが、セルに数式が入っているとカウントされてしまいますよね。今回求めたいカウントは式が入っていてもセル上に数字が入力されていなければ、カウントをしない、セル上の入力されている数字のみをカウントしてくれる関数はないものでしょうか?教えてください。

  • エクセルの関数式です

    エクセルの関数式で質問です。 一つのセル内に、複数の文字列が入力してある(半角スペースで区切りがある)中で、含む文字列のものの個数をカウントしたい場合はどうすれば良いのでしょうか? フィルタ機能で、含む文字列はできるのに・・・。 (たとえば、ひとつのセル内に 「豆腐 豆 大豆」 「豆 大豆」 「豆腐 豆」 てな感じでセル内に入力してある場合、「豆腐」を含むセル個数をカウントしたい場合はどうすれば良いんでしょうか?

  • セルのカウント

    オートフィルタをした後に表示されているセルの数だけカウントしたいのですがどうすればよいでしょうか? 関数のCOUNTAを使うと表示されていないセルの数もカウントしてしまうのですが。 宜しくお願いしまうす。

  • 複数のセルをまたぎ、各セル内の数字をカウントしたい

    助けてください。Excelで添付画像のようなカウント処理を実施する方法を教えてください。 【やりたいこと】  1. カウント単位 → 1行ごと  2. カウント対象 → 各セルに入力された数字(複数の場合はカンマで区切られている)  3. カウント結果 → 各行の赤枠内に出力 先達のお知恵をなにとぞお借りしたく、よろしくお願い申し上げます。

  • 式で""を設定をした空白セルがCOUNTAでカウントされます

    COUNTA()関数で、文字が入っているセル数をカウントしています。 COUNTA()の対象範囲の中に下記の式が入ったセルが存在します。 =IF(COUNTA(B2:AA91)>127,1,"") 式の結果設定された値は""で、見た目空白になっているのですが、 COUNTA()ではカウントされてしまっているようです。 空白セルの設定方法は、""を代入するではまずいのでしょうか? 式による結果、空白セルを設定し、COUNTA()でカウントされないように したいのですが、良い方法をご存知の方がいらっしゃいましたら 教えていただけないでしょうか? ちなみに、COUNTA()、IF()の式は、実際はもう少々複雑で、 COUNTA()-COUNT()等の式の追加は、できるだけ回避したいです。 できればマクロも可能な限り回避したいです。 スパッと空白セルはこうやって設定するんだよ!的なコメントが いただければ最高にうれしいです。 わがままな質問で申し訳ありませんが、よろしくお願いいたします。

  • エクセルのcountaの集計方法

    エクセルのcountaで集計したとき、セルに関数が入力されていると、それもカウントして集計してしまいます。 関数は集計せず、数値や記号だけをカウントして集計する方法があれば、教えてください。 また、この集計を行う場合、countaで無理なら、他の方法があれば教えてください。

  • エクセルでのセルのカウント方法 応用

    こんにちわ。 エクセルを使ってのセルのカウント方法についての質問です。 各会社(A社 B社 C社)がそれぞれ各月に入荷する品物の種類の数を数えたいのですが、今エクセル上でB列には会社の名前がAABBCACCなどのように入力されていてc列には各会社から入荷する品物の名前(数字入りタイトル 例サイズ6など)が入力されています。入荷する商品のタイトル数を各会社ごとに求めたいのですがいい方法はありますでしょうか?COUNTAはやってみましたが、ゼロ(0)もカウントしてしまいますし、品物のカテゴリーによってサブトータルも途中でだしてある状態なのでその数も入力のあるセルとしてカウントされてしまいます。 どなたかよい方法をご存知の方、お教え頂けますでしょうか?

専門家に質問してみよう