• ベストアンサー

エクセルで重複するデータを数えない方法

こんばんは。いつもお世話になっております。 今、表を作成しているのですが、例えば列に、 ・インド ・インド ・インドネシア ・インドネシア ・カンボジア とあるときに、データは5つですが国の種類は3つですよね、その3をだしたいのですが、どうしたら求められますでしょうか? 初歩的な質問で申し訳ないのですが、どなたかご教授お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • shiotan99
  • ベストアンサー率68% (140/203)
回答No.1

こんにちは~ データが A2:A50にあるとして、 =COUNT(INDEX(1/(MATCH(A2:A50,A2:A50,0)=ROW(A1:A49)),0)) と入れてみてください( ↑をそのままコピー&ペーストしてください ) ◆最後のほうの ROW(A1:A49) は指定範囲のセルの個数です。 A2:A50ならセルの個数は49個なので ROW(A1:A49) とします。 データが何行目から始まっていても必ず 1から始めてください。 A3:A100の範囲なら、ROW(A1:A98) のように。 =SUMPRODUCT(1/COUNTIF(A2:A50,A2:A50)) という比較的短い式でもできますが、 この式だと誤差が出るケースもあるのであまりオススメできません。 範囲内に空白セルが 1つでもあるとエラーになりますし…

amy24365
質問者

お礼

早速の御回答、どうもありがとうございました。 無事できました! また何かありましたら、よろしくおねがいいたします。

その他の回答 (2)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

=SUMPRODUCT(1/COUNTIF($A$1:$A$100,$A$1:$A$100&""))-(COUNTBLANK($A$1:$A$100)>0) これなら範囲内にブランクがあってもエラーしないでデータの種類数をカウントします。

amy24365
質問者

お礼

御回答どうもありがとうございました。 無事できました! また何かありましたらよろしくお願いいたします。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

配列数式で =SUM(IF(COUNTIF(OFFSET($A$1:$A$5,0,0,ROW(A1:A5),1),A1:A5)=1,1,0)) と入れてSHIFT+CTRL+ENTERキーを3つ同時押し。 $a$5,A5は最下終行(セル)で置き換えてください。 質問の例では結果は3 やっていることは、 COUNTIF($A$1:$A$5,A1)=1 なら1をそうでないなら0を合計に加える。 それをA1からA5まで行う。 という意味です。 上(A1)から見て、初出の行を勘定していることになる。

amy24365
質問者

お礼

御回答どうもありがとうございました。 無事できました! エクセルには色々なやり方があるのですね。私は初心者なのでまたここにお世話になると思いますが、何かありましたらよろしくお願いいたします。

関連するQ&A