dポイントプレゼントキャンペーン実施中!

下記のような事をやる数式が判らず、困っています。










上記で、重複するデータをひとつとカウントする方法(数式)を教えていただけますでしょうか?
つまり、「晴」「曇」「雨」の3つ、という値を導き出したいのです。

CountIf等、色々やってみたのですが、できなくて・・・。

お手数をおかけしますが、よろしくお願い致します。

A 回答 (4件)

No.2です。

ちょっと説明不足だったので補足しておきます。

No.2の最初の数式
=SUMPRODUCT((MATCH(A1:A8,A1:A8,0)=ROW(A1:A8))*1)

ROW(A1:A8) の A1:A8ですが、これはデータ範囲ではありません。
データが1行目以外から始まっている場合、
たとえば A2:A50にデータがあっても、ROW(A2:A50) とすると結果は 0になります。
ROW の( )内=引数は、セルの個数を指定してください。
A2:A50 がデータ範囲なら、セルの個数は 49個なので、ROW(A1:A49) とします。
必ず 1から指定してください。

データ範囲が A2:A50なら
=SUMPRODUCT((MATCH(A2:A50,A2:A50,0)=ROW(A1:A49))*1)

となります。

それと、No.2の 2つの式は両方とも、指定した範囲内に 1つでも空白セルがあるとエラーになります。
範囲内に空白セルがある場合とか、
いまは A2:A50にしかデータは入っていないけれど、今後もデータが増えるので、あらかじめ範囲を広くとっておきたいというような場合、
=COUNT(INDEX(1/(MATCH(A2:A100,A2:A100,0)=ROW(A1:A99)),0))

を試してみてください。
これも ROW の引数は、指定範囲のセルの個数です。
A2:A100 のセルの個数は 99個なので、A1:A99 と指定します。
データが何行目から始まっているかに関係なく、必ず 1から指定してください。
★もちろん範囲内に空白セルがなくても正しい結果を返すので、式は多少長くはなりますがコレがいちばんオススメ!!です。
なら、はじめっからコレだけにしとけって言われそうですが‥
    • good
    • 0
この回答へのお礼

皆様、色々と教えていただき、とても助かりました。
本当にどうもありがとうございました。

お礼日時:2005/12/26 16:23

例データ A2:A13


晴1


曇2
雪3
雨4


霧5
雹6


●作業列を使わない方法。
=SUM(IF(COUNTIF(OFFSET($A$2:$A$13,0,0,ROW(A2:A13)-1,1),A2:A13)=1,1,0))
と入れて、SHIFT+CTRL+ENTERを同時に押す。配列数式。
結果

●作業列B列を使う方法
B2に=IF(COUNTIF($A$2:A2,A2)=1,MAX($B$1:B1)+1,"")を入れる。
それをB3:B13に式を複写します。
そのB列のMAXをとっても6が出ます。
=IF(COUNTIF($A$2:B2,B2)=1,1,"")
として、その式を、B13まで式を複写し、SUMをとる手もあります。
    • good
    • 0

こんにちは~



データが A1:A8にあるとして、

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

または

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

でどうでしょうか?
    • good
    • 0

個数にもよりますが、ピボットテーブルで


並べ替えればいかがでしょうか?
    • good
    • 1

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