プロが教える店舗&オフィスのセキュリティ対策術

エクセル2002を使用しています。

重複データはひとつの種類として、範囲内のデータの種類数を計算したいのですが、どのようにすべきでしょうか?
この範囲内には、ところどころ空白セルがあります。



B列
3行  10
4行  11
5行  12
6行
7行  15
8行
9行  15
10行  18

これで、B3からB10の範囲の種類別のデータの数は5です。
これを関数で計算したいのです。
本当は対象データが多いので、とりあえず、ピボットテーブルをかけて、抽出されたデータの一覧から使用した行数を数えて正解の数はわかりましたが、こんな方法はエクセルらしくないですよね。


また、データが数値でなかった場合も、関数で求められるでしょうか?


B列
3行  鈴木
4行  鈴木
5行  佐藤
6行
7行  高橋
8行
9行  高橋
10行  野口

この場合は、鈴木・佐藤・高橋・野口 で、データの種類の個数は4です。

これを関数で求めたいのです。

よろしくお願いします。

A 回答 (3件)

=SUMPRODUCT((B3:B10<>"")/COUNTIF(B3:B10,B3:B10&""))

    • good
    • 4
この回答へのお礼

御礼が遅くなり大変申し訳ありません。

いただいた式をあてはめても出来なかったので、とまどいましたが、
=SUMPRODUCT(((B3:B10<>"")/COUNTIF(B3:B10,B3:B10&"")))
としたところ、上手く個数が得られました。

式をいれずに一発で出来る関数は無いのですよね。

これからは、これを活用しようと思います。

ありがとうございました。

お礼日時:2007/06/17 15:08

◆データが数値なら


=COUNT(1/FREQUENCY(B3:B10,B3:B10))
=COUNT(1/FREQUENCY(B1:B100,B1:B100))
=COUNT(1/FREQUENCY(B:B,B:B))

◆データが数値または文字列なら
=COUNT(INDEX(1/(MATCH(B3:B10,B3:B10,)=ROW(B1:B100)),))
=COUNT(INDEX(1/(MATCH(B1:B100,B1:B100,)=ROW(B1:B100)),))
    • good
    • 4
この回答へのお礼

御礼が遅くなり大変申し訳ありません。

求めていた値を得ることが出来ました。


式をいれずに一発で出来る関数は無いのですよね。


ありがとうございました。

お礼日時:2007/06/17 15:13

http://oshiete1.goo.ne.jp/qa2710769.html
をご覧ください。
    • good
    • 1
この回答へのお礼

お礼が遅くなり大変申し訳ありません。

過去にも同じ質問がありましたね。すみませんでした。

参考になりました。
ありがとうございました。

お礼日時:2007/06/17 15:18

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