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

セルA1からA30に数値が入っています。
30個全部違う数字のときもあれば、いくつか同じ数字がある場合もあります。

そこで、A1からA30に、同じ数字は1種類と数えて全部で何種類のデータがあるかを調べる関数を知りたいのです。
よろしくお願いします。

A 回答 (4件)

こんにちは。



No.1 Wendy02さんの回答以外では‥

▼SUMPRODUCT関数
--------------------------------------
=SUMPRODUCT(1/COUNTIF(A1:A30,A1:A30))
--------------------------------------

▼配列数式
--------------------------------------
=SUM(1/COUNTIF(A1:A30,A1:A30))
--------------------------------------
配列数式は Ctrl+Shift+Enter で確定してください。
数式の前後に { } がついて、↓のようになったら OKです。
{=SUM(1/COUNTIF(A1:A30,A1:A30))}

◆ただし↑はいずれも範囲内に空白セルがあるとエラーになります。

空白セルがある場合は↓
-----------------------------------------------------
=SUM(IF(ISBLANK(A1:A30),0,1/COUNTIF(A1:A30,A1:A30)))
-----------------------------------------------------
または↓
-----------------------------------------------------
=SUM(IF(LEN(A1:A30),1/COUNTIF(A1:A30,A1:A30),0))
-----------------------------------------------------
いずれも配列数式です。Ctrl+Shift+Enter で確定してください。
    • good
    • 4
この回答へのお礼

ありがとうございます。
質問では空白セルについて失念していましたが、たしかに空白行もありえます。

また、数値だけではなく文字列の場合も絶対無いわけではなさそうです。

となると
ただし以下の式が最適のようです。
感謝いたします。

お礼日時:2005/05/01 11:45

範囲を気にしないで、A列のデータの種類(データが数値の場合)を求めるなら以下のような式が便利です。



=SUMPRODUCT((FREQUENCY(A:A,A:A)>0)*1)
    • good
    • 3
この回答へのお礼

ありがとうございます。
データが数値だけの場合はぴったりですね。
FREQUENCY、勉強になりました。

お礼日時:2005/05/01 11:47

それほどデータが多くない場合ですが。


オートフィルタを使えば、全く同じデータは1種類として数えられますので、それをそのまま数えれば、データの種類の数がわかりますよ。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2005/05/01 11:42

=SUMPRODUCT((MATCH(A1:A30,A1:A30,0)=ROW(A1:A30))*1)


っていうことかな?
(関数は苦手です(^^;)
    • good
    • 0
この回答へのお礼

Wendy02さん、ほんとうにいつもありがとうございます。助かります。

ただ、途中に空白があると機能しないんです。
すみません。

お礼日時:2005/05/01 11:41

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

このQ&Aを見た人はこんなQ&Aも見ています