• 締切済み

エクセルで集計方法

エクセルで次のような集計をすることはできるでしょうか?出来るのでしたらどうしたらよろしいでしょうか。 エクセル2000を使っています。 A列に顧客番号、B列に担当者名(当社の)、C列にその顧客先に、メンテ・保守等で訪問した日があります。 この表を入力したままの状態でしたら同じ顧客先に違う日に何回も訪問すると、A列に同じ顧客番号が存在するようになります。 これを月ごとにまとめて、さらに同じ顧客先の訪問したら、C列の訪問日のセルに2日、3日分まとめて表示することは出来ないでしょうか。(たとえば、11月4日と11月7日、11月12日・・・に訪問していたら、1つのセルに11/4、11/7、11/12…と表示させる方法)

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

多分VBAを使う問題になると思います。 処理ロジックは下記が良いでしょう。 (1)ボタンでも1つ貼りつける。このボタンをクリックすると下記の作業を自動的に行う。 (2)全行を顧客番号でソートする。すると同じ得意先は行が隣接して固まります。 (3)同一得意先行の最初の行を残し、同じ得意先の2番目以後の行は訪問日を第1行に残して(追加して)、行は削除する。 (4)そのためには今注目している行と直前の行を比較して、同じときは(3)の処理を、違う(変った)時は次行にすすむ。 15行ぐらいのVBAのコードになるでしょう。

Phoenix0123
質問者

補足

VBAがよくわからないので、プロシージャーもいっしょに教えていただけたらうれしいです。

  • Taketoshi
  • ベストアンサー率41% (23/56)
回答No.1

ピボットテーブルを使うのは、だめでしょうか。  A    B    C    D 1 顧客番号 担当者名 訪問内容 訪問日 2 A001   赤星   メンテ  1月1日 3 A002   今岡   保守   1月3日 4 A001   赤星   メンテ  1月3日 5 A001   赤星   保守   1月4日 6 A002   今岡   保守   1月15日 7 A003   金本   メンテ  1月30日 とした場合、以下のようにピボットテーブルを作成します。 (1)F1を選択←あいているとこならどこでもOK (2)データ-ピボットテーブル レポートを選択 →ピボットテーブルウィザードを表示 (3)Excelのリスト/データベース、ピボットテーブルをチェックして、[次へ]押下 (4)範囲を、A1からD最終行までに設定し、[次へ]押下 (5)[レイアウト]押下 →レイアウトウィザードを表示 (7)[行(R)]に[顧客番号][担当者名][訪問内容][訪問日 ]をドラッグ (8)[データ(D)]に[訪問日]をドラッグ (9)[OK]押下 (10)[完了]押下 これで、顧客番号ごとの訪問日付の集計表ができます。 ピボットテーブルの詳細は、ExcelHelpを見てください。

Phoenix0123
質問者

補足

上記の方法のピボットテーブルだと、同じ場所に複数回訪問していると、行もその回数分だけ作られますよね。 例えば【A001 赤星 1/1、1/3】という感じで1行に表示させたいのですが、出来ますか?

関連するQ&A