ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3944632 エクセルで文字列(数値)から任意の文字の数を数えたい。
質問者:dragonteeth エクセルで数値(もしくは文字列)から任意の数値の数(もしくは文字の数)をカウントする方法を教えてください。例えば11111001という数値で1の数をカウントしたいということです。この場合6という返り値が欲しいと言うことになります。よろしくお願いします。
困り度:
  • すぐに回答を!
質問投稿日時:
08/04/13 07:22
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.3 ・ 文字列の場合として考えて見ます。
------------------------------------------------------------

1. 文字列が1と0のみで出来ている場合、0のみを消す。
    =LEN(SUBSTITUTE(対象文字列,"0",""))

2. 0以外の文字を含む場合、1を消してどれだけ減ったかを調べる。
    =LEN(対象文字列)-LEN(SUBSTITUTE(対象文字列,"1",""))

・ 以上を参考にして考えてみてください。
回答者:auty
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:
08/04/13 09:04
この回答へのお礼両方ともちゃんとできました。
基本は皆さん同じスタイルですね。
2の場合も考えてくださってありがとうございます。

助かりました。

回答

ANo.2 文字列から任意の文字をカウントする関数はありません

そのため任意の文字を空白に置き換え、置き換える前の文字列の文字数と比較することで任意の文字がいくつあったかをカウントすることができます

SUBSTITTE関数で空白に置き換えます
SUBSTITTE(A1,"1","")
LEN関数で文字列の長さを数えます
LEN(A1)
LEN(SUBSTUTITE(A1,"1","")
引き算で比較します
LEN(A1)-LEN(SUBSTUTITE(A1,"1","")

これでどうでしょう
回答者:Cupper
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/04/13 08:13
この回答へのお礼丁寧にありがとうございます。
しかし、エラーでした。
バージョンのせいかと思ったのですが
SUBSTUTITEの綴りが間違ってるようです。
さらによく見ると上の方では正しい綴りですね^^;

当初高POINTをあげたかったのですが
手間取ったのと、後で参考にされる方を考えて
今回は見送らせていただきます。
すみませんけど

回答良回答10pt

ANo.1 どのような条件下でのカウントか分からない部分もありますが
A1に111110011の値があり,その1の数を数えるだけなら
=SUMPRODUCT(LEN(A1)-LEN(SUBSTITUTE(A1,"1","")))
でカウントできると思います。
回答者:Tomo_GT
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/04/13 07:50
この回答へのお礼おお、できました!
どうもありがとうございます。

(SUMPRODUCT)
ただこれが何の為についてるのか
HELPを見ても良くわかりませんでした。