痔になりやすい生活習慣とは?

エクセルで数値(もしくは文字列)から任意の数値の数(もしくは文字の数)をカウントする方法を教えてください。例えば11111001という数値で1の数をカウントしたいということです。この場合6という返り値が欲しいと言うことになります。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

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


------------------------------------------------------------

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

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

・ 以上を参考にして考えてみてください。
    • good
    • 0
この回答へのお礼

両方ともちゃんとできました。
基本は皆さん同じスタイルですね。
2の場合も考えてくださってありがとうございます。

助かりました。

お礼日時:2008/04/13 15:18

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



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

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

これでどうでしょう
    • good
    • 0
この回答へのお礼

丁寧にありがとうございます。
しかし、エラーでした。
バージョンのせいかと思ったのですが
SUBSTUTITEの綴りが間違ってるようです。
さらによく見ると上の方では正しい綴りですね^^;

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

お礼日時:2008/04/13 15:06

どのような条件下でのカウントか分からない部分もありますが


A1に111110011の値があり,その1の数を数えるだけなら
=SUMPRODUCT(LEN(A1)-LEN(SUBSTITUTE(A1,"1","")))
でカウントできると思います。
    • good
    • 0
この回答へのお礼

おお、できました!
どうもありがとうございます。

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

お礼日時:2008/04/13 14:56

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q文字列中に含まれる文字の個数をカウントするプログラムについて…

文字列、1文字が与えられたとき、これをポインタで入力し文字列中に含まれる文字の個数を計算するプログラムを作成せよ。

と、いう課題がだされたんですけど、ユーザが任意の文字列と1文字を入力できるようにすることができません…。
多分main関数の部分をちょっといじくればよいと思うのですが…。
どなたかアドバイスをお願いします。
#include <stdio.h>

int count(const char *str, const char ch)
{
int cnt=0;
while (*str!='\0')
{
if (*str==ch)
cnt++;
str++;
}
return cnt;
}

int main()
{
const char *str="hello,world!";
const ch='o';

int cnt;

cnt=count(str, ch);

printf("%s中に%cは%d個です\n", str, ch, cnt);


return 0;
}

文字列、1文字が与えられたとき、これをポインタで入力し文字列中に含まれる文字の個数を計算するプログラムを作成せよ。

と、いう課題がだされたんですけど、ユーザが任意の文字列と1文字を入力できるようにすることができません…。
多分main関数の部分をちょっといじくればよいと思うのですが…。
どなたかアドバイスをお願いします。
#include <stdio.h>

int count(const char *str, const char ch)
{
int cnt=0;
while (*str!='\0')
{
if (*str==ch)
...続きを読む

Aベストアンサー

scanf"%s", str)は、バッファオーバーフローの危険と改行文字の食べ残し問題がありますね。
-- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< --
int main()
{
char ch;
char str[BUFSIZ];
int cnt;

printf("文字列を入力して下さい > ");
fgets(str,BUFSIZ,stdin);

printf("カウントする文字を入力してください > ");
ch = getchar();

cnt=count(str, ch);
printf("%s中に%cは%d個です\n", str, ch, cnt);

return 0;
}

Qエクセルでの指定文字 カウントについて

エクセルで並んだデータでの指定した名前だけの個数をカウントするにはどうすればいいのでしょうか?

山田 高橋 佐藤
高橋 梅田 赤田
 西 山田 梅田
佐藤 山田 梅田

名前が並んだデータで「高橋」という名前が何個あるのかをカウントしたいのですがどうすればいいのでしょうか?

Aベストアンサー

 データは入力されているセルの範囲を「A1:C4」とすれば、

=COUNTIF(A1:C4,"高橋")


人気Q&Aランキング