ID:44739 excelの並び替え(少し特殊な条件)
by goomod2 2010-03-16 13:40:28 / view 23
| いつもお世話になります。 excel2003/2007(windows)です。 excelの並び替えについて質問です。 毎月、商品の仕入れがあるたび <仕入番号>を連番で振っていきます。 並び替えは<仕入番号>で並んでいればいいのですが、 1つだけ特別な条件があります。 *並び替え前のデータ <仕入番号> <商品名> 1 C部品 2 B溶剤 3 C部品 4 D工具 5 E機器 6 A部品 7 B溶剤 8 C部品 9 E機器 「<商品名>が同じもの については、<仕入番号>の若い順に位置を”まとめる”」 という条件です。 具体的には今回のような表の場合、 <仕入番号>1から並べていくわけですが・・・ <仕入番号>1と同じ「C部品」が3番と8番にあります。 この場合1,3,8と並べ、次に、 <仕入番号>2を並べますが、「B溶剤」は7番にあるので、 2,7と並べ、次に、 <仕入番号>4を並べ、 (仕入番号3はすでに並べたので4になります、 「D工具」は、この1件だけなので、”まとめる”作業はなし) ・・・このような感じで、並び替えたあとは、 下記のようになります。 *並び替え後のデータ <仕入番号> <商品名> 1 C部品 3 C部品 8 C部品 2 B溶剤 7 B溶剤 4 D工具 5 E機器 9 E機器 6 A部品 毎回数100件のデータを、手動で並び替えていますが、 これは並び替えの工夫でなんとかなるでしょうか? それともマクロなるものを使う必要があるのでしょうが。 どうかお助けいただけないでしょうか。 よろしくお願いいたします・・・ |
ID:44740 grumpy_the_dwarfさんからのお返事です
by grumpy_the_dwarf 2010-03-16 13:41:22
| 添付のように「並べ替えコード」を作ってやると可能です。これは match関数で自分の行の「商品名」の初出行を検索して、仕入番号 より優先してやるわけです。 |


