- ベストアンサー
[Excel]入力された内容の種類を計算する関数
A B B C C D と言うように、A~Dの種類数は4ですが、これを計算する関数はありますか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
■ 空白セルがない場合 =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
回答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)
お礼
補足2 申し訳ないです。 書いていただいた計算式の意味を勘違いしてました。 出来れば、オールマイティーに使えるように、 AやBの文字列を指定(この場合はCOUNTIFで個々の文字列を指定している)しなくていい関数はないですか。 なければあきらめるのですが。
補足
申し訳ない。 質問内容の書き方が悪かった……。 例えば、 Aの数を求めるならcountif 何でもいいから入力された数を求めるならcounta それでは、入力された文字列の種類を求めるなら…… (この場合はA、B、C、Dで4種類) と言う事です