- ベストアンサー
エクセルで一定範囲内に含まれる文字の数の数え方
エクセルで、一定の範囲内に含まれる数字や文字列の、ダブりを省いた個数を数える関数(またはやり方)というのはありますか? 何と表現してよいのか分からないため、質問文が分かりにくくなっていしまいますが、例えばある行なり列なりに 1 2 3 4 3 2 1 10 20 30 10 20 30 10 20 とあった場合、ここに出てくる数字は1,2,3,4,10,20,30の7種類なので「7」という具合にカウントできる方法を探してます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
もう一つの問題として「=SUMPRODUCT(1/COUNTIF(範囲,範囲))」 の場合 空白セルが入った時 エラーになります。それらを避けようと すると何らかの工夫が必要です。 文字列まで集計したい場合でも =COUNT(1/(MATCH(A1:A20,A1:A20,0)=ROW(A1:A20))) Ctrl + Shift + Enterで確定 のような形で計算すればいいです。この計算の場合 気を付けないとい けないのは 空白文字列の扱いくらいです。 はっきりいえるのは こういう時は ピボットテーブルの集計結果を数え た方が良いと思います。
その他の回答 (3)
- Chiquilin
- ベストアンサー率30% (94/306)
> B2: {=SUM(1/COUNTIF(B4:B18,B4:B18))} このような方法は 以前から指摘していますが場合によって演算誤差が発生 します。計算後の値を何かに使う場合には丸めるなど 別途対応が必要です。 数値の種類数を数える時は =COUNT(1/FREQUENCY(A:A,A:A)) もしくは =SUM(IF(FREQUENCY(1:1,1:1),1)) のような方法をお勧めします。
- kkkkkm
- ベストアンサー率66% (1733/2603)
以下のページに解説とともに方法が紹介されています。 Excel 関数で重複を除いてデータの件数を求める方法 http://software.ssri.co.jp/statweb2/tips/tips_14.html
お礼
ありがとうございます。 私の調べが足りないだけで、こういうことが一発でできる関数があるのかと思いましたが、 一筋縄ではいかないんですね。
お礼
丁寧な解説、ありがとうございます。 ピボットテーブルというものは知りませんでした。 仕事の中で、どちらかと言えばやってもやらなくてもいいという程度の必要度で、あるエクセルファイルに入力されている人名なり会社名なりの出現回数の分析をしてみたかったのですが、思っていたよりも手軽にはいかないようですね。