- ベストアンサー
エクセルのソートについて
A B C 男 1 2 2 E 女 2 1 3 計 3 3 5 男 2 1 2 F 女 3 2 2 計 5 3 4 男 1 1 2 G 女 2 3 2 計 3 4 4 このようなエクセルの表で計をキーにソートしたいのですができますか? それとも配列自体を変えるべきでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! No.1さんの補足の内容を拝見すると もしかして↓の画像のようにA列が結合されているのでしょうか? もしそうであれば同じ行で結合セルがあったり、なかったりでは並び替えができませんので 結合を解除させてやる必要があると思います。 そこでVBAになってしまいますが、一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) 尚、元データはアップした画像のように1行目に項目があり2行目から規則的にデータがあるとします。 Sub 並び替え() 'この行から Dim i As Long, Kei As Variant Application.ScreenUpdating = False Range("A:A").Insert For i = 2 To Cells(Rows.Count, "C").End(xlUp).Row Step 3 Cells(i, "B").UnMerge Cells(i, "A").Resize(3, 1) = Cells(i + 2, "D") Next i Range("A1").CurrentRegion.Sort key1:=Range("A1"), order1:=xlAscending, Header:=xlYes Range("A:A").Delete For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row Step 3 Cells(i, "A").Resize(3, 1).Merge Next i Application.ScreenUpdating = True End Sub 'この行まで ※ 一旦マクロを実行すると元に戻せませんので、 別Sheetでマクロをためしてみてください。m(_ _)m
その他の回答 (4)
- keithin
- ベストアンサー率66% (5278/7941)
- Nouble
- ベストアンサー率18% (330/1783)
表構成を変える方が良いと思いますよ? ExcelはVBAでも使わない限り、 ブロック単位で自動で動かすのは至難の技ですから。 ソートは行単位でも列単位でも行えますが、 ソート対象に他の物が混ざっていない事が前提ですからね。 混ざってても問答無用でぐちゃぐちゃにしちゃいますよ? 如何でしょうか? お役に立てていたならば幸いです。
- mpascal
- ベストアンサー率21% (1136/5195)
組の合計でソートしたいなら 組 男 女 計 A 1 2 3 B 2 3 5 C 1 2 3 このような表にして、計の列でソートですね。
- mpascal
- ベストアンサー率21% (1136/5195)
よく意味がわかりません。 表として、入力情報は判るけど、どういう結果欲しいのかが判らない。 あと、左の列の、E、F、G の意味も不明。
補足
ローマ字にしたのが分かりにくくしてしました。 すいません。 男 1 A組女 2 計 3 男 2 B組女 3 計 5 男 1 C組女 1 計 2 これを下になるように 男 1 C組女 1 計 2 男 1 A組女 2 計 3 男 2 B組女 3 計 5 このようになるようにしたいのです。
お礼
ありがとうございます。 結局ソート用の別シートで対応しました。