• ベストアンサー

エクセルのソートについて

     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 このようなエクセルの表で計をキーにソートしたいのですができますか? それとも配列自体を変えるべきでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.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

jack-rose
質問者

お礼

ありがとうございます。 結局ソート用の別シートで対応しました。

その他の回答 (4)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

>計をキーにソートしたい あなたが元のご相談に書いた表では、ABCの一体どれを元にどう並べ替えたいのか全く説明が無いので、とりあえずAだけにします。他の事(たとえばABC3つの全合計の昇順とか)をしたいときは、適切に応用してください。 手順:添付図 D2に =C4 D3に =C4 D4に =C4 を記入 D2:D4をまとめて表の下端までコピー 表全体をD列の昇順で並べ替えれば出来上がり。 #補足 いわずもがなですが、A列のまんなかにEとかFとか書くのは一向かまいませんが、セル結合してはいけません。

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.3

表構成を変える方が良いと思いますよ? ExcelはVBAでも使わない限り、 ブロック単位で自動で動かすのは至難の技ですから。 ソートは行単位でも列単位でも行えますが、 ソート対象に他の物が混ざっていない事が前提ですからね。 混ざってても問答無用でぐちゃぐちゃにしちゃいますよ? 如何でしょうか? お役に立てていたならば幸いです。

  • mpascal
  • ベストアンサー率21% (1136/5195)
回答No.2

組の合計でソートしたいなら 組  男  女  計 A   1  2  3 B   2  3  5 C   1  2  3 このような表にして、計の列でソートですね。

  • mpascal
  • ベストアンサー率21% (1136/5195)
回答No.1

よく意味がわかりません。 表として、入力情報は判るけど、どういう結果欲しいのかが判らない。 あと、左の列の、E、F、G の意味も不明。

jack-rose
質問者

補足

ローマ字にしたのが分かりにくくしてしました。 すいません。    男 1 A組女 2    計 3    男 2 B組女 3    計 5    男 1 C組女 1    計 2 これを下になるように    男 1 C組女 1    計 2    男 1 A組女 2    計 3    男 2 B組女 3    計 5 このようになるようにしたいのです。

関連するQ&A