• ベストアンサー

[Excel]入力された内容の種類を計算する関数

A B B C C D と言うように、A~Dの種類数は4ですが、これを計算する関数はありますか。

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

  • ベストアンサー
回答No.2

■ 空白セルがない場合 =SUMPRODUCT(1/COUNTIF(A1:A100,A1:A100)) ■ 空白セルがある場合 =SUMPRODUCT(IF(ISBLANK(A1:A100),0,1/COUNTIF(A1:A100,A1:A100))) (*) 配列数式のため、[Ctrl]+[Shift]+[Enter]で確定してください。

その他の回答 (3)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

=SUMPRODUCT(IF(A1:A1000<>"",1/COUNTIF(A1:A1000,A1:A1000),0)) と入れて、必ず、Ctrlキー+Shiftキー+Enterキーで確定します。そうすると式の両端が{}で括られます。 これで、A1からA1000までの間に入力されたデータの種類が求められます。A1000で足りなければ、ここを修正してください。

  • 134
  • ベストアンサー率27% (162/600)
回答No.3

 単品として関数はないと思います。  個人的にやるとするなら、A~Dと入力されている前の列(これが、B2~B7セルに入っているします)に関数を入れます。 A2セルに =if(countif($B$2:B2,B2)=1,max($a$1:a1)+1,"") と入力して下まで関数をコピー 種類を計算するときには、 =max(a:a) で取り出しますね。

noname#204879
noname#204879
回答No.1

  A  B  C D 1 A  1   4 2 B 0.5 3 B 0.5 4 C 0.5 5 C 0.5 6 D  1 B1: =1/COUNTIF(A:A,A1) D1: =SUM(B:B)

jirolian
質問者

お礼

補足2 申し訳ないです。 書いていただいた計算式の意味を勘違いしてました。 出来れば、オールマイティーに使えるように、 AやBの文字列を指定(この場合はCOUNTIFで個々の文字列を指定している)しなくていい関数はないですか。 なければあきらめるのですが。

jirolian
質問者

補足

申し訳ない。 質問内容の書き方が悪かった……。 例えば、 Aの数を求めるならcountif 何でもいいから入力された数を求めるならcounta それでは、入力された文字列の種類を求めるなら…… (この場合はA、B、C、Dで4種類) と言う事です

関連するQ&A