• ベストアンサー

エクセルでの重複検索のやり方を教えてください。

エクセルで顧客管理表を作っています。 第1のシートは、販売ログをとるシートで顧客名・顧客番号・販売額・販売日時を入力しています。 第2のシートは、顧客台帳として利用しようと考えてます。第1のシートからvlookupで複数販売している場合も顧客番号でならべ、sumifで顧客ごとの総販売額を算出させてます。 ここで質問ですが、複数回、販売した顧客の最新販売日時を 顧客台帳(第2のシート)に表示させる方法を 教えていただけませんか? また、顧客ごとの販売回数を表示する方法(1回に複数個販売する場合は、1回とする。 販売日時が違うものをカウントする。) 第1のシート 顧客番号 名前 販売日時 1 赤星 9月13日 3 浜中 9月14日 4 藤本 9月15日 5 鳥谷 9月16日 2 今岡 9月17日 4 藤本 9月18日 5 鳥谷 9月19日 2 今岡 9月20日 6 金本 9月21日 3 浜中 9月22日 4 藤本 9月23日 1 赤星 9月24日 3 浜中 9月25日 4 藤本 9月26日 5 鳥谷 9月27日 2 今岡 9月28日 第2のシート(顧客台帳) 顧客番号 顧客名 販売回数 ?最新販売日時 ? 1    赤星 2    今岡 3    浜中 4    藤本 5    鳥谷 6    金本 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.4

ピボットテーブルが簡単ですよ。l >理解不足かも知れませんが、ピボットなら毎回、行わないとダメなのでは? データの範囲を多めに設定しておけば、データが追加されても更新ボタンを押せば更新されます。 データ範囲を「A:C」にしておけば、シート一杯まで設定して置けます。 「行のフィールド~」に「顧客番号」、「名前」、「販売日時」をドラッグして、 「データアイテム~」に「販売日時」をドラッグすれば、お望みのようになります。 「顧客番号」の計、「名前」の計など不要なものは、右クリックで「表示しない」にします。 「(空白)」も「表示しない」に出来ます。 同日の複数販売は「販売日時」は一行ですが、「計」欄に回数が計算されます。 これも邪魔なら、列を選択して右クリックで「非表示」にします。

mimorin
質問者

お礼

telescope様 ご回答有難う御座いました。 本当に、理解不足でした。 ところで更新ボタンがどこにあるか教えて頂ければ助かります。

その他の回答 (4)

  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.5

ピボットテーブルツールバーにある赤い「!」マークが更新ボタンです。

mimorin
質問者

お礼

Telescope様 有難う御座いました。 ピボットのデータ更新は出来ないものだとばかり思ってました。助かりました。

  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.3

A B C D E 1 顧客番号 名前 販売日時 A&C COUNT 2 1 赤星 9月13日 137511 1 3 3 浜中 9月14日 337512 1 4 4 藤本 9月15日 437513 1 5 5 鳥谷 9月16日 537514 1 6 2 今岡 9月17日 237515 0.5 7 2 今岡 9月17日 237515 0.5 8 4 藤本 9月18日 437516 1 9 5 鳥谷 9月19日 537517 1 10 2 今岡 9月20日 237518 1 11 6 金本 9月21日 637519 1 12 3 浜中 9月22日 337520 1 13 4 藤本 9月23日 437521 1 14 1 赤星 9月24日 137522 1 15 3 浜中 9月25日 337523 1 16 4 藤本 9月26日 437524 1 17 5 鳥谷 9月27日 537525 1 18 2 今岡 9月28日 237526 1 シート1のD列とE列を作業列として使用します。 D2=A2&C2 E2=1/COUNTIF($D$2:$D$18,D2) それぞれ下へコピー シート2で C2=SUMIF(Sheet1!$B$2:$B$100,Sheet2!B2,Sheet1!$E$2:$E$100) 下へコピー

mimorin
質問者

お礼

wisemac21様 ご回答有難う御座いました。 お陰で、良い仕組みが出来そうです。 本当に有難う御座いました。

  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.2

A B C D 1 顧客番号 顧客名 販売回数 最新販売日時 2 1 赤星 2 2006.9.24 3 2 今岡 3 2006.9.28 4 3 浜中 3 2006.9.25 5 4 藤本 4 2006.9.26 6 5 鳥谷 3 2006.9.27 7 6 金本 1 2006.9.21 C2=COUNTIF(Sheet1!$B$2:$B$100,Sheet2!B2) D2=SUMPRODUCT(MAX((Sheet1!$B$2:$B$100=Sheet2!B2)*(Sheet1!$C$2:$C$100))) 下へコピー

mimorin
質問者

補足

wisemac21様 ご回答有難う御座いました。本当に助かりました。 最新販売日時は、よくわかりました。 一方で、販売回数は、1回に複数の販売を行った際に 1個ずつの販売データを1行で管理する場合、教えて頂いた式では、販売個数の値になります。 私の質問の仕方が悪かったと思いますが、例えば 第1のシート 顧客番号 名前 販売日時 1 赤星 9月13日 3 浜中 9月14日 4 藤本 9月15日 5 鳥谷 9月16日 2 今岡 9月17日 2 今岡 9月17日 4 藤本 9月18日 5 鳥谷 9月19日 2 今岡 9月20日 6 金本 9月21日 3 浜中 9月22日 4 藤本 9月23日 1 赤星 9月24日 3 浜中 9月25日 4 藤本 9月26日 5 鳥谷 9月27日 2 今岡 9月28日 のような場合(2 今岡 9月17日が2行、これを1回の販売とカウントするとしたら)どのような式になるかを 教えていただいたら助かります。 宜しくお願いします。

  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.1

ピボットテーブルを使うのが最適な方法と思います

mimorin
質問者

お礼

ご回答有難う御座いました。 ピボットを使うのではなく、自動的に表示させる 関数はありませんか? 理解不足かも知れませんが、ピボットなら毎回、行わないとダメなのでは?