- ベストアンサー
種類の数をカウントする方法
- テキストデータに含まれる種類の数をカウントする方法について教えてください。
- エクセル2003で、テキストデータの中に含まれる異なる要素の数を数える方法が知りたいです。
- また、別のシートで数字列の中に含まれる異なる要素の数を数える方法も教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
数値,文字列に対して区別無く使える,範囲内に空白セルがあっても良い: =ROUND(SUMPRODUCT(1/COUNTIF(A1:A100,A1:A100&"")),0)-(COUNTBLANK(A1:A100)>0) 数値列に対して使える,範囲内に空白セルがあっても勿論よい: =COUNT(1/FREQUENCY(A:A,A:A)) など。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
A1:A11に質問のデータがあるとする。(列方向にデータがあるとする) A列の中で例えば「あ」が3度現れるなら、その都度1/3と言う数を各行で出して、その他の文字でもそれをして、それを全部足し算すれば良い。 それは SUM(1/COUNTIF(A1:A11,A1:A11)) と入れてSHIFT+CTRL+ENTERの3つのキーを同時押しする。配列数式という。 配列にしない場合は =SUMPRODUCT(1/COUNTIF(A1:A11,A1:A11)) 空白セルはない場合の式 ーー 後半は、>103や300は一種類とカウントします、はどういう考えで、そうなるのか判らない。 数字1文字単位で考えるのか? 前半の数字版と考えても、6になるのでは? ーーーー 前半は Frequency関数は数値対象で使えない。フィルタオプションの設定の重複するレコードは無視するで、実際の文字列が出るので数えるのは簡単でそういうやり方も在る。
お礼
ご回答ありがとうございました。 また、丁寧に教えてくださり感謝します。 2番の方の教えてくださった式で、うまくいきました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
後半のご質問の意味が分からないのですが。103や300は一種類とカウントしますとありますがこれはどうして一種類なのですか?
お礼
一緒に考えてくださり、ご親切にありがとうございました。 お気持ちがとてもうれしいです。
補足
補足のご依頼ありがとうございます。 「103や300を一種類とカウントします」と書いたのは 103を「1」「0」「3」、300を「3」「0」「0」と 受け取られるといけないと思ったからです。 わかりにくい質問文で失礼しました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
最初の問題は次の式で答えを求めることができます。 =SUMPRODUCT((A1:A100<>"")/COUNTIF(A1:A100,A1:A100&""))
お礼
ご回答ありがとうございます。たすかりました。
お礼
ご回答ありがとうございました。うまくいきました。