• ベストアンサー

エクセル:カウントの計算式(関数)でこのようなケースは?

よろしくお願いします。 A1:A5000まで氏名が入っていますが、時にスペース(見た目に空白)が入っています。(利用担当者が、スペースを入れて氏名を消去している) ◆このスペースの入ったセルは数えたくないのですが、COUNTA関数では、スペースの入ったセルもカウントしてしまいます。 ◆それも、スペースが全角、半角が混在しているばかりでなく、スペースが2個3個はいっているケースもあります。 このようなケースでスペースを除く氏名だけの入ったセルをカウントする計算式を教えてください。よろしくお願いいたします。

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

  • ベストアンサー
  • EL-SUR
  • ベストアンサー率76% (83/108)
回答No.1

↓でどうでしょうか? =SUMPRODUCT((TRIM(A1:A5000)<>"")*1) それ以外の方法として、編集~置換で空白をとってしまったらどうですか? 姓と名の間のスペースもとれるからダメなのかな?

yastaro
質問者

お礼

EL-SURさん、ご回答ありがとうございます。 結果がでました^^ 感謝です。 こんなにシンプルな関数でだせるのですね。 すごいっ!です。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

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

TRIM関数があります。 文字列の全角、半角のスペースが1つまたは複数、かつ1種が複数や混合しているセルでも、空白(関数内で表現すれば"")、にしてくれるようです。 ワーク列(例えばB列)に=TRIM(A1)を複写して、設定しておき、その列で=COUNTBLANK(B1:B100)を出し、全体から引き算すればよいと思いました。 引き算をしないで一気やるには =SUM(IF(TRIM(A1:A10)<>"",1,0))と入れて、SHIFT+CTRL+ENTERを3つ 同時に押します。配列数式です。 式の意味は、TRIMして、空白でない(<>"")行は1を、=""であれば0を足し合計すれば件数が出ます。

yastaro
質問者

お礼

imogasiさん、いつもありがとうございます。 いろいろな方法を皆様からご指導いただきましたが、imogasiさんの方法は考え方がシンプルでよくわかりました。ありがとうございました。(ただ、配列数式についてはまだ私の勉強の課題です^^;)

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.5

まず名前ということで半角より全角で確認することをお勧め スペース以外の文字が入力されたセルなら =SUMPRODUCT(ISTEXT(A1:A5000)*(LEN(SUBSTITUTE(JIS(A1:A5000)," ",""))>0)) スペースがない文字列のセルなら =SUMPRODUCT(ISTEXT(A1:A5000)*ISERROR(FIND(" ",JIS(A1:A5000))) )

yastaro
質問者

お礼

mshr1962さん、お礼がおそくなりました。 いつもありがとうございます。 ご指導ありがとうございました。結果も正しくでました。関数の内容を完全に理解できるように勉強中ですが、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんにちは。Wendy02です。 関数はあまり自信がありませんが、 =SUMPRODUCT(ISERROR(FIND(" ",ASC(A1:A5000)))*1) ということかな? ただし、Excel 2002 以上になるかもしれません。また、A:A という列指定はできません。 Trim では、空白値は取れませんから、ASC関数で、半角にして、SUBSTITUTE関数を使うようになるかと思います。

yastaro
質問者

お礼

お礼が遅くなり、申し訳ありません。 私、やはり勉強不足ですね。^^;SUMPRODUCT関数がこういうときに使えるという点がすばらしいです。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • fukkyse
  • ベストアンサー率32% (130/402)
回答No.3

#2です。間違っていますので無視してください。 それだとダブルカウントになるセルが発生します。 B列に=ASC(A○)として全角スペースを半角にしておいてから、 COUNTIF(A:A,"* *")としなければなりませんでした。

yastaro
質問者

お礼

ご回答ありがとうございました。 実は残念なことに列(フィールド)を使い切っていてB列に挿入できませんのです^^;。ただ、"* *"の使い方等、勉強になりました。ご指導、本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • fukkyse
  • ベストアンサー率32% (130/402)
回答No.2

=COUNTA(A:A)-(COUNTIF(A:A,"* *")+COUNTIF(A:A,"* *")) COUNTAにて、セルをカウント COUNTIFにて、半角スペースと全角スペースの含まれるセルをカウントし合計する。 全セルからスペースの含まれるセルを減算する。

参考URL:
http://www.relief.jp/itnote/archives/000448.php
yastaro
質問者

お礼

お礼が遅くなりました。ありがとうございました。 いろいろな方法があること、特に”*”の使い方について勉強になりました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル関数 1つのセル内文字カウント

    1つのセル内の文字をカウントしたいのですが、その中に、スペースや改行がはいっています。 スペースや改行ま1文字としてカウントせずに、無視して、文字だけカウントすることができるのでしょうか。 さらに、その際、 1)全角文字だけカウント 2)半角文字だけカウント 3)全角+半角それぞれ1としてカウント したいのですが、そんなことできるのでしょうか?

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

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

  • エクセルの関数を教えてください

    空白セルの個数を計算したいのですが、 表の中に全角スペースや半角スペースが入力されており、 COUNTBLANKを使って計算しても、そのセルは省かれて計算されてしまいます。 今は条件付書式でスペースがあるセルを色付けをして、一つ一つ消していっているのですが、データが大量にあるので、もっと簡単に済ませたいです。 いい方法があれば教えていただきたいです。 よろしくお願い致します。

  • 値の貼り付けとcounta関数(空白をカウント)

    A1 1 A2 a A3 a A4 1 A5 a 上記のデータがあります。(aは任意の文字列、1は数字の1のみ) 1.B列に、「=IF(A1=1,"",A1)」を入力。(1を消すためです) 2.C列に、B列をコピー、形式を選択して値を張り付け。(値のみをカウントするため) 3.C6に「=COUNTA(C1:C5)」を入力。計算結果=5。 空白以外のセルをカウントして欲しいので、COUNTA関数用いたのに、 空白もカウントされてしまいます。 なお、手作業で空白セル(C1)をデリートすると、計算結果は「4」になります。 計算結果として「3」を表示させる方法をご教授ください。 (データは8000件以上あり、手作業での空白セルのデリートは不可能です) あるいは、違ったやり方での正しい計算結果の出し方があれば、お願いします。 D列に「=CLEAN(B1)」「=SUBSTITUTE(B1," ","")」を入力、E列へ値の貼り付け、もE6のCOUNTAの結果は5になります。(当然D6も) 以上、よろしくお願いいたします。 環境:エクセル2000 XP Pro

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

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

  • COUNTBLANK関数について

    A1からA16まで数式が入っています。 ただし数式の結果によっては、空欄になっているセルがあります。 COUNTA関数を使ってA1からA16までのデーターが入っている個数を調べた場合、空白のセルにも数式が入っているためカウントされますよね。 では、COUNTBLANK関数を使ってA1からA16までの空白の個数を調べた場合どうなりますか? 実際には空白のセルにも式が入っているのだから、0にならないとおかしくないですか? 実際の結果は空白の個数をちゃんとカウントできます。 なぜでしょうか? 矛盾していると思うのですが・・・

  • 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としたい。 ご教授のほどよろしくお願いします。

  • エクセル/指定範囲のセル数を返すワークシート関数は?

    エクセル2000です。 たとえば、A1:A100の範囲に、空白か否かを問わずセルがいくつあるかを返すワークシート関数はないでしょうか? 空白以外の数+空白の数で求められるかと思いましたが、 =COUNTA(A1:A100)+COUNTBLANK(A1:A100) では、計算の結果 ="" になっているセルが両方にカウントされてだめです。 VBAなら Range("A1:A100").Count で一発なのですが・・・・。

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

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

  • !!!!エクセルのカウント!!!!

    他のシートから「=」で顧客名と担当者を拾い以下のように2段でセルに入力し入力されている上段の顧客数のみカウントを行ないたいのですが、COUNTAで行なうと全部の数(イコール設定されているセルも含めて)カウントしてしまいます。困っています。良い式を教えてください宜しくお願いします。    A様 担当者 B様 担当者 C様 担当者 上記別のシートよりデータを各々のセルに飛ばし、A、B、Cの各顧客の数のみをカウントしたい。

専門家に質問してみよう