プロが教えるわが家の防犯対策術!

昨日から頭を抱えています。
  A   B      C     D
1月1日  123    1月1日   2
1月1日  123    1月2日   1
1月1日  123    1月3日   2
1月1日  234     ・
1月2日  345     ・
1月2日  345     ・
1月3日  456
1月3日  567
1月3日  567
  ・
  ・
上記、A列・B列を元に、C列に重複しない日付、D列にその日付に対応したB列の『重複しないデータの個数』を求めたいのです。
フィルタオプションもSUMPRODUCTもCOUNTIFも使ってみましたが、 D列がうまくいきません。
どうかご教示願います。

A 回答 (3件)

作業列を作ってもいいのであれば。



添付資料を参照ください。

C2 =A2&B2
   *文字をつないで検索文字を作る。

D2 =IF(COUNTIF($C$2:C2,C2)=1,A2,"")
   *C列に複数同じ文字がある場合は、1番目のみA列の日付を表示、他は空欄。


G2 =IF(F2="","",COUNTIF(D:D,F2))
   *F列が空欄の時は空欄、他はF列の文字がD列に何個あるか表示。
「エクセル関数 日別の重複しないデータの個」の回答画像2
    • good
    • 1
この回答へのお礼

ありがとうございます!!
見事にできました!!
はじめての相談でしたので本当に回答がいただけるか心配でずっと待っていました。とても親切なご説明ありがとうございました。
胃の痛みがなくなりました。
本当に貴重なお時間を割いて頂きありがとうございました。

お礼日時:2010/03/01 23:35

それなりの準備が必要ですが、「外部データの取り込み」という機能で


MS Query経由でも集計できます。
(すべて説明しきることが難しいけど)

1)「アドイン」で[MS Queryアドイン]を利用可能にする。
2)データの範囲を指定して「名前」を定義。
  見出しも作成。
3)データ>外部データの取り込みでクエリを定義する。

日付・値でGroupByして、[日付]・[値]・[件数として固定値1]を返すクエリを作成し、そのクエリを日付・値でGroupByして[日付]・sum([件数])で表示できます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!
かなり高度な感じがしていますが、今後の勉強課題になりました。
遅い時間にもかかわらずありがとうございました。

お礼日時:2010/03/01 23:52

こんばんは!


一例です。
作業用の列を3列使っていますので、少し手間がかかるかもしれません。

↓の画像で作業列C2セルは
=A2&B2
D2セルは
=IF(OR(A2="",COUNTIF($A$2:A2,A2)<>1),"",ROW(A1))
E2セルは
=IF(OR(C2="",COUNTIF($C$2:C2,C2)<>1),"",1)
としれ、C2~E2セルを範囲指定し、E2セルのフィルハンドルで下へずぃ~~~!っとコピーします。

そして、G2セルに
=IF(COUNT($D$2:$D$1000)<ROW(A1),"",INDEX($A$2:$A$1000,SMALL($D$2:$D$1000,ROW(A1))))
H2セルに
=IF(G2="","",SUMPRODUCT(($A$2:$A$1000=G2)*($E$2:$E$1000=1)))
という数式を入れ、G2・H2セルを範囲指定し、H2セルのフィルハンドルで下へコピーすると
画像のような感じになります。
尚、数式は元データが1000行目まで対応できるようにしています。

以上、参考になれば幸いですが、
他に良い方法があれば読み流してくださいね。m(__)m
「エクセル関数 日別の重複しないデータの個」の回答画像1
    • good
    • 0
この回答へのお礼

できました!!
早速のご回答に感謝感謝です。
こんなに複雑な数式をあっさり作れる方を尊敬します。
本当にありがとうございました。

お礼日時:2010/03/01 23:28

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

このQ&Aを見た人はこんなQ&Aも見ています