アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっています。Excelで3000件ぐらいのデータを整理したいのですが、普通に合計などはできますが、1列に何種類かのデータが色々な順で混在している場合、それが全部で何個かではなく、何種類かをすぐに計算する方法はありますか?

たとえば、"りんご"・"みかん"・"いちご"・"りんご"・"ばなな"
とそれぞれ入力しているとして、個数は5個だけれども種類は4種類ですよね。この種類の数を出せるとうれしいのですが。どなたか教えてください。
今、使っているのはOffice2003ですが、方法が違うようならOffice2000での方法もわかる方いらっしゃれば教えてください、お願いします。

A 回答 (5件)

自信はありませんが、


以下の数式は、1件目のデータを1と返し、2件目移行に出現する重複データを0と返す数式です。

=IF(A1=0,0,IF(COUNTIF($A$1:A1,A1)>1,0,1))

はじめに、上記式のセル番地A1とはデータの始まりがセルA1の場合ですので、ご自身のデータで始まりのセル番地と置き換えて下さい。あとはオートフィルでコピーです。
最後に、ランダムに算出された1と0に対し、SUM関数で合計を求めれば種類(重複しない個数)を出すことができるかと思います。
    • good
    • 8
この回答へのお礼

ありがとうございました。すごいです。スッキリしている式なので、分かりやすく使いやすいです。
種類の個数も正確に求められました。ありがとうございました。

お礼日時:2005/07/07 03:47

例えば、A1:A10に種類カウント対象データが、あるとしたとき、



範囲内に空白を許可し、その空白を種類としてカウントしない場合は、

=SUMPRODUCT(IF(A1:A10<>"",1/COUNTIF(A1:A10,A1:A10),0))

または、

=SUM(IF(A1:A10<>"",1/COUNTIF(A1:A10,A1:A10)))

の数式を入れ、双方 Ctrl+Shift+Enter で確定します。(両端が{}で括られてます。)


また、次の2つは、範囲内に空白を許可しない場合です。

=SUMPRODUCT(1/COUNTIF(A1:A10,A1:A10))

または、

=SUM(1/COUNTIF(A1:A10,A1:A10))

こちらは、Ctrl+Shift+Enter で確定する。

これで範囲内の種類の数が表示されますが、如何でしょうか。
    • good
    • 5
この回答へのお礼

ありがとうございます。試してみましたが、DIV/#0と表示されうまくいきませんでした。何度か確認してみます。

お礼日時:2005/07/07 11:47

最近似たような質問がありました


http://okweb.jp/kotaeru.php3?qid=1478412

参考URL:http://okweb.jp/kotaeru.php3?qid=1478412
    • good
    • 0
この回答へのお礼

すみません。気をつけます。

お礼日時:2005/07/07 11:41

こんばんは



作業列を使ってもいいですか?
仮にB列を作業列にします。

   A    B    C
1 名前
2 りんご
3 みかん
4 いちご
5 りんご
6 ばなな
7

データが2行目から始まってるとして
B2に =IF(A2="","",IF(MATCH(A2,$A$2:$A$3000,)=ROW(A1),ROW(A1),""))
と入力 B3000までフィルコピー

任意のセルに =COUNT(B:B) 

これで何種類あるか求められるはずです。


注)B2に入れた式の ROW(A1) の部分は データの一行目に「1」 
二行目に「2」という数字が欲しいのでそうしているので
A1セルの内容を参照しているわけではありません。
実際のデータが何行目から始まるのかは分かりませんが
ROW(A1) の部分は A1 のままにしていてください。

例)データが3行目から始まるのなら
B3に =IF(A3="","",IF(MATCH(A3,$A$3:$A$3000,)=ROW(A1),ROW(A1),""))
として B3000までフィルコピー

必要に応じて作業列は非表示にして下さい。
    • good
    • 0
この回答へのお礼

非表示にする作業列などもどんどん活用するべきなんですね。一度にしようとしてサッパリ混乱してきます。
ありがとうございました。

お礼日時:2005/07/07 03:42

(1) データを並べ替えて良いなら...


   A     B
1     
2 いちご  =$A2<>$A1
3 ばなな  =$A3<>$A2
4 みかん  =$A4<>$A3
5 りんご  =$A5<>$A4
6 りんご  =$A6<>$A5
7 種類の数 =COUNTIF(B$2:B$6,TRUE)

(2) データを並べ替えないなら...
   A      B
1 
2 りんご  =COUNTIF($A$2:$A$6,A2)
3 みかん  =COUNTIF($A$2:$A$6,A3)
4 いちご  =COUNTIF($A$2:$A$6,A4)
5 りんご  =COUNTIF($A$2:$A$6,A5)
6 ばなな  =COUNTIF($A$2:$A$6,A6)
7 種類の数 =COUNTA(B$2:B$6)/HARMEAN(B$2:B$6)

というような方法でいかがでしょうか。トリッキーな感じですがちゃんと答えが出ますよ。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/07/07 03:40

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

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