• 締切済み

エクセルの複数のフィールドの重複のチェック方法を教えて!

エクセルの複数のフィールドの重複のチェック方法を教えて! 下のようなテーブルで3人の顧客IDより月別のピボットテーブルをエクセルで作成すると IDを重複してカウントしてしまいます。Aランク顧客IDは2010/1に3のカウントなのですが、顧客数は1としたい場合、CustomerIDと購買月が重複せずにカウントさせる方法や関数を教えてください。 CustomerID ランク 購買月   1017        A    2010/1 1017        A    2010/1 1017        A    2010/1 1017        A    2010/2 1017        A 2010/3 226424    A 2010/2 226424 A 2010/ 2226424 A 2010/2 226424 A 2010/3 226424 A 2010/3 823622 B 2010/2 823622 B 2010/2 823622 B 2010/3 823622 B 2010/3 1205 B 2010/2

みんなの回答

noname#192382
noname#192382
回答No.1

次のマクロご希望の計算が出来ました。お試し下さい。 行数はfor next文のところで指定してください。現在は16としています。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2010/5/3 ユーザー名 : ' ' Range("A1:C1").Select Selection.Copy Sheets("Sheet2").Select Range("A1").Select ActiveSheet.Paste Dim gyo1 As Integer, gyo2 As Integer, retu As Integer, endgyo As Integer, id As Variant, rnk As Variant, tuki As Variant 'InputBox (endgyo) Worksheets("Sheet1").Activate gyo1 = 2 id = Cells(gyo1, 1) rnk = Cells(gyo1, 2) tuki = Cells(gyo1, 3) Worksheets("Sheet2").Activate gyo2 = 2 Cells(gyo2, 1) = id Cells(gyo2, 2) = rnk Cells(gyo2, 3) = tuki gyo2 = gyo2 + 1 'MsgBox (endgyo) For gyo1 = 3 To 16 Worksheets("Sheet1").Activate 'MsgBox (id) 'MsgBox (Cells(gyo1, 1)) If Cells(gyo1, 1) = id And Cells(gyo1, 2) = rnk And Cells(gyo1, 3) = tuki Then Else id = Cells(gyo1, 1) rnk = Cells(gyo1, 2) tuki = Cells(gyo1, 3) Worksheets("Sheet2").Activate Cells(gyo2, 1) = id Cells(gyo2, 2) = rnk Cells(gyo2, 3) = tuki gyo2 = gyo2 + 1 End If 'id = Cells(gyo1, 1) 'rnk = Cells(gyo1, 2) 'tuki = Cells(gyo1, 3) Next End Sub

otxuchan
質問者

お礼

ありがとうございます! 大変参考になりました。 重複に対する考えが深まりました。 今後ともよろしくお願いします。

関連するQ&A