- ベストアンサー
エクセル:カウントの計算式(関数)でこのようなケースは?
よろしくお願いします。 A1:A5000まで氏名が入っていますが、時にスペース(見た目に空白)が入っています。(利用担当者が、スペースを入れて氏名を消去している) ◆このスペースの入ったセルは数えたくないのですが、COUNTA関数では、スペースの入ったセルもカウントしてしまいます。 ◆それも、スペースが全角、半角が混在しているばかりでなく、スペースが2個3個はいっているケースもあります。 このようなケースでスペースを除く氏名だけの入ったセルをカウントする計算式を教えてください。よろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
↓でどうでしょうか? =SUMPRODUCT((TRIM(A1:A5000)<>"")*1) それ以外の方法として、編集~置換で空白をとってしまったらどうですか? 姓と名の間のスペースもとれるからダメなのかな?
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17070)
TRIM関数があります。 文字列の全角、半角のスペースが1つまたは複数、かつ1種が複数や混合しているセルでも、空白(関数内で表現すれば"")、にしてくれるようです。 ワーク列(例えばB列)に=TRIM(A1)を複写して、設定しておき、その列で=COUNTBLANK(B1:B100)を出し、全体から引き算すればよいと思いました。 引き算をしないで一気やるには =SUM(IF(TRIM(A1:A10)<>"",1,0))と入れて、SHIFT+CTRL+ENTERを3つ 同時に押します。配列数式です。 式の意味は、TRIMして、空白でない(<>"")行は1を、=""であれば0を足し合計すれば件数が出ます。
お礼
imogasiさん、いつもありがとうございます。 いろいろな方法を皆様からご指導いただきましたが、imogasiさんの方法は考え方がシンプルでよくわかりました。ありがとうございました。(ただ、配列数式についてはまだ私の勉強の課題です^^;)
- mshr1962
- ベストアンサー率39% (7417/18945)
まず名前ということで半角より全角で確認することをお勧め スペース以外の文字が入力されたセルなら =SUMPRODUCT(ISTEXT(A1:A5000)*(LEN(SUBSTITUTE(JIS(A1:A5000)," ",""))>0)) スペースがない文字列のセルなら =SUMPRODUCT(ISTEXT(A1:A5000)*ISERROR(FIND(" ",JIS(A1:A5000))) )
お礼
mshr1962さん、お礼がおそくなりました。 いつもありがとうございます。 ご指導ありがとうございました。結果も正しくでました。関数の内容を完全に理解できるように勉強中ですが、ありがとうございました。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。Wendy02です。 関数はあまり自信がありませんが、 =SUMPRODUCT(ISERROR(FIND(" ",ASC(A1:A5000)))*1) ということかな? ただし、Excel 2002 以上になるかもしれません。また、A:A という列指定はできません。 Trim では、空白値は取れませんから、ASC関数で、半角にして、SUBSTITUTE関数を使うようになるかと思います。
お礼
お礼が遅くなり、申し訳ありません。 私、やはり勉強不足ですね。^^;SUMPRODUCT関数がこういうときに使えるという点がすばらしいです。 ありがとうございました。
- fukkyse
- ベストアンサー率32% (130/402)
#2です。間違っていますので無視してください。 それだとダブルカウントになるセルが発生します。 B列に=ASC(A○)として全角スペースを半角にしておいてから、 COUNTIF(A:A,"* *")としなければなりませんでした。
お礼
ご回答ありがとうございました。 実は残念なことに列(フィールド)を使い切っていてB列に挿入できませんのです^^;。ただ、"* *"の使い方等、勉強になりました。ご指導、本当にありがとうございました。
- fukkyse
- ベストアンサー率32% (130/402)
=COUNTA(A:A)-(COUNTIF(A:A,"* *")+COUNTIF(A:A,"* *")) COUNTAにて、セルをカウント COUNTIFにて、半角スペースと全角スペースの含まれるセルをカウントし合計する。 全セルからスペースの含まれるセルを減算する。
お礼
お礼が遅くなりました。ありがとうございました。 いろいろな方法があること、特に”*”の使い方について勉強になりました。ありがとうございました。
お礼
EL-SURさん、ご回答ありがとうございます。 結果がでました^^ 感謝です。 こんなにシンプルな関数でだせるのですね。 すごいっ!です。ありがとうございました。