- 締切済み
[エクセル・VBA]縦列のユニークな情報を取り出し、横行に配置
毎度お世話になります。エクセルのVBAの質問でございますが、文章で説明しづらいのでまず下記をご覧ください。 A列 B列 C列 D列 E列 F列 Month 業者名 摘要 記号1 記号2 金額 Nov-07 青森KK 10118 BAKK 304 386 Jan-08 岩手(株) 705 CHC 318 313 Feb-08 (有)埼玉 5685 JJG 121 9,480 Feb-08 (株)東京 40 KKI 183 216 Mar-08 (株)東京 1035 AOX 248 1,490 Mar-08 北海道 9211 FGJ 319 2,730 Apr-08 関西KK 10312 NNB 842 1,050 Apr-08 沖縄(有) 406 JJG 831 315 上記のようなA列の情報を下記のように表示させたいのです。金額の大きい順に並び替え、各行のデータが該当するMMM-YYのセルに印(今回は*ですが何でも可)をつけたいと思っております。[Month]はA3に設定されております。 F列 G列 H列 I列 J列 K列 ←列省略 金額 Nov-07 Jan-08 Feb-08 Mar-08 Apr-08 9,480 * 2,730 * 1,490 * 1,050 * 386 * ↓行省略 *のつけ方はLOOPを2つ作れば出来そうな気がしているのですが、その前段階のMMM-YYの配置の仕方が全くわかりません。[Month]はA3より始まっております。 なにとぞよろしくお願い申し上げます。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- cafe_au_lait
- ベストアンサー率51% (143/276)
ピボットテーブルを用いるのが最も簡単かと思います。 列ラベルにMonthを、行ラベルに金額を指定し、金額を降順で並べ替えます。 業者名(何でもよいです)をデータ列に指定して、データの個数を集計すると、"*"の代わりに"1"が付きます。 VBAでやるとしても、記録マクロを修正する程度で十分です。
お礼
早速のお返事ありがとうございました。 ピボットテーブルですと今後手直しや他のマクロを追加しようとするときにどうしたらよいか分からないので。。。すみませんVBAは多少勉強しているのですがピボットテーブル全く分からないのです。。。 [Month]も左から重複なしに古い年順に並び替えることが出来なくて、また表示も日本語になってしまったり(とほほ。)。 主計に1を入力する方法はピボット初心者にはありがたい情報です。別に*でなくてもかまわないので。 今後の勉強の参考にさせていただきます。ありがとうございました。