- 締切済み
エクセルで集計方法
エクセルで次のような集計をすることはできるでしょうか?出来るのでしたらどうしたらよろしいでしょうか。 エクセル2000を使っています。 A列に顧客番号、B列に担当者名(当社の)、C列にその顧客先に、メンテ・保守等で訪問した日があります。 この表を入力したままの状態でしたら同じ顧客先に違う日に何回も訪問すると、A列に同じ顧客番号が存在するようになります。 これを月ごとにまとめて、さらに同じ顧客先の訪問したら、C列の訪問日のセルに2日、3日分まとめて表示することは出来ないでしょうか。(たとえば、11月4日と11月7日、11月12日・・・に訪問していたら、1つのセルに11/4、11/7、11/12…と表示させる方法)
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
多分VBAを使う問題になると思います。 処理ロジックは下記が良いでしょう。 (1)ボタンでも1つ貼りつける。このボタンをクリックすると下記の作業を自動的に行う。 (2)全行を顧客番号でソートする。すると同じ得意先は行が隣接して固まります。 (3)同一得意先行の最初の行を残し、同じ得意先の2番目以後の行は訪問日を第1行に残して(追加して)、行は削除する。 (4)そのためには今注目している行と直前の行を比較して、同じときは(3)の処理を、違う(変った)時は次行にすすむ。 15行ぐらいのVBAのコードになるでしょう。
- Taketoshi
- ベストアンサー率41% (23/56)
ピボットテーブルを使うのは、だめでしょうか。 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を見てください。
補足
上記の方法のピボットテーブルだと、同じ場所に複数回訪問していると、行もその回数分だけ作られますよね。 例えば【A001 赤星 1/1、1/3】という感じで1行に表示させたいのですが、出来ますか?
補足
VBAがよくわからないので、プロシージャーもいっしょに教えていただけたらうれしいです。