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

現在アンケートデータが1000件ほどあり、重複しているデータがあります。
住所別、職業別集計一覧を=COUNTIFで作成しているのですが、
重複している分までカウントされてしまいます。

今後もデータは増え続けるのですが、重複(初回はカウント)しているデータをカウントしない方法はないでしょうか?

A 回答 (5件)

A列がカウントする列だとして


 =SUMPRODUCT(1/COUNTIF($A$1:$A1000,$A$1:$A$1000))
で重複しない個数が求まります。ただし途中に空白行がある場合は以下を使用してください
 =COUNT(INDEX(1/(MATCH($A$1:$A$1000,A1:A1000,0)=ROW(A1:A1000)),))

この回答への補足

早速のご回答ありがとうございます。
ただ住所別集計を行っていますので、重複している行はカウントの対象外にしたいのですがVBAでないと無理なのでしょうか?

現在、D列に名前、H列に住所が入力されています。
住所別集計では「=COUNTIF($H:$H,"*大阪市*")」として
大阪市の人数をカウントしていますが重複分も含まれてしまいます。
※重複分のデータは削除せずに残しておく必要があります

よろしくお願いします。

補足日時:2007/11/22 23:50
    • good
    • 0

なにをもって重複と判断するのですか?


> 重複(初回はカウント)しているデータをカウントしない
ならば、集計日、回収日あるいはカウント日等の重複を判断する列はあるのですか?
「重複もカウントされてしまう」と言われているので、判断する何かがあるのでしょうね。
それとも、単に「集計の結果が多すぎるから」という漠然とした理由ですか?

この回答への補足

説明不足ですみません。
重複の判断はD列にある名前です。
住所や職業など基本的な情報は同じですが、集計日や項目が異なる情報があります。(異なる情報があるためデータからは削除できません)
目的としてはアンケートデータの同一人物をカウントしない集計表を作成することです。
よろしくお願いいたします。

補足日時:2007/11/23 01:00
    • good
    • 0

データ部分の行を並び替えしてもよいなら、


データ行の最終列の後にワーク列を設け、(仮にZ列とします)
データが3行目から始まっているとして、
=AND(ROW()>=3,C3=<>"",C2<>C3)*1
として、下へコピー。
名前と集計日の順で2つのキーで降順で並び替えをします。
これで名前の降順、同じ名前なら集計日の降順で並び替えがされます。
つまり同じ名前の中で、集計日の新しい順で並ぶので、
上記の式を入れた列は、名前が変わったて最初の行(つまり集計日が最新の行)では1、同じ名前でその他の行は0になるので、
COUNTIFでZ列が1という要素も加えれば、重複を避けることが出来ます。
    • good
    • 0

質問が補足にもかかわらず、はっきりしない。


同一人かどうかはD列氏名でするとして、
アンケート回答 氏名(D列)
1ーーーーーーー山田 一郎
2-------山田 一郎
というのは、無いのですか。
どちらでカウントするのですか。
ーーー
ピボットテーブルなどの応用を考えたほうが良さそう
ーー
あいまいな質問を独断で補って考えて、
例データ
A列      D列    F列
1小野田 強1
2小川 三郎1
3佐藤 健二1
2福田 卓1
5小野田 強
1大賀 五郎1
2小川 三郎
作業列を使ってF1に
=IF(COUNTIF($D$1:D1,D1)=1,1,"")
結果上記の通り
ーー
アンケートの選択肢は1-5しかないとする。
たまたま第11列に
=SUMPRODUCT((F1:F7=1)*(A1:A7=ROW()-10))
と入れて、、下方向に式を複写。
結果
2
2
1
0
0
上から1,2,3,4,5を回答した人数です。
    • good
    • 0

こんにちは。



割り込み失礼します。

#1 + #2 の補足を読んでいると、話のつじつまが合わないように思うのです。

#1 では、

>住所別集計では「=COUNTIF($H:$H,"*大阪市*")」として
>大阪市の人数をカウントしていますが重複分も含まれてしまいます。
として、

#2では、
>重複の判断はD列にある名前です。

同じ質問の中で、別々の内容になっています。
それに、#1さんの回答は、読まれていないようにも思えますね。

A列をD列に換えるだけでは、同姓同名があるから、という理由でもあるのでしょうか?
配列数式ですか、D:D というような方法はダメですから、$D$1:$D$65535 のように、行指定してあげます。($D$1:$D$65536 は、出来ません)

それで、住所+名前で判定するとでも言うのでしょうか?
ご質問が曖昧なような気がしますね。

自分の分かる範囲で、COUNTIF関数を使いたいなら、

補助列を使って、

=IF(COUNTIF($D$1:D1,D1)=1,1,0)
として、下まで、ずっとオートフィルで、コピーして、それを合計したらいかがですか?


住所+名前 なら、補助列に

=D1&LEFT(H1,3)

LEFT(H1,3) 大阪なら大阪府までとする。D1&H1 全部でも可能です。

として、オートフィルでコピーし、

=IF(COUNTIF($J$1:J1,J1)=1,1,0)

とすればよいのではないでしょうか?
    • good
    • 0

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