• ベストアンサー

【Excel】エクセルで列ごとに昇順に一気に並び替

【Excel】エクセルで列ごとに昇順に一気に並び替えたいです。どうすればいいですか? 列が多すぎて、1列ずつに昇順ボタンを押して並び替えると日が暮れてしまいます。

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

  • ベストアンサー
回答No.4

こんにちは。 各列それぞれ(他の列とは無関係に・独立して)並べ替える、 という意図で仰っているのだと思います。 そのような機能はExcelの一般機能にはありませんから、 VBA・マクロを使って、自分で機能拡張していくことになります。 確かに[マクロの記録]を活用すれば、 使えそうなパーツを目にすることはできますが、 それを[昇順]ボタンと同等のものに仕上げるのは、 決して簡単なことではありません。 ご希望に副うようにマクロを書きましたので、宜しければ活用してください。 マクロの設定の仕方について、どうしてもやり方が判らないようでしたら、 補足欄ででもお訊ねあれば、再レスします。 以下のマクロは、[昇順]ボタンの仕様と同等以上のものを目指して書いたものです。   「選択中のセル範囲」に対して、   その選択の仕方が不完全であっても、   連続したデータ領域を対象として、   各列毎にそれぞれ独立して、   昇順での並べ替えを行います。 タイトルの有無に係らず、 並べ替えたい列の、何処か一部でも(例えば1行めだけ)選択してあれば、 列内のデータ数が不揃いでも、空の列を含んで選択しても、 有意なデータ範囲を捉え直して、並べ替えます。 ' ' /// Module1 Sub 並べ替え_各列並行_昇順() ' 8986170w Dim a As Range, col As Range Dim sELog As String   If TypeName(Selection) <> "Range" Then Exit Sub   Application.ScreenUpdating = False   For Each a In Selection.Areas     For Each col In Intersect(a.CurrentRegion, a.EntireColumn).Columns       On Error GoTo ErrH_       col.Sort Key1:=col(1), Order1:=xlAscending, _         Header:=xlGuess, Orientation:=xlSortColumns       On Error GoTo 0     Next   Next   Application.ScreenUpdating = True   If sELog <> "" Then MsgBox sELog   Exit Sub ErrH_:   sELog = sELog & vbLf & col.Address(0, 0) & vbTab & "errNum:" & Err   Debug.Print col.Address(0, 0), Err, Err.Description   Resume Next End Sub ' ' ///

sonicmaster
質問者

お礼

みなさん回答ありがとうございます

その他の回答 (3)

  • msMike
  • ベストアンサー率20% (363/1772)
回答No.3

Excel 2002 なら一気に3列ずつ、 Excel 2013 なら一気に10列ずつ、 が可能だけど、「日が暮れてしま」うほど「多すぎ」る「列」数とは、具体的には幾つ? 256? 19384?

  • qwe2010
  • ベストアンサー率19% (2125/10785)
回答No.2

マクロを使用します。 ツール からマクロを選び 新しいマクロの記録 名前をつけてOK これ以降あなたが動かしたとおりのことを記録してくれます。 ボタンまで作り、 後はこのボタンを押せば全てやってくれます。 編集機能もありますので、余裕があれば挑戦してください。 私のエクセルは古いので、やり方が違う可能性があります。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

関連するQ&A

  • EXCELで昇順

    EXCELでナンバー(A1列)と枚数(B2列)を連動しながら昇順する方法がどうしてもうまくいきません。 枚数の少ないものからA1を連動させて並べ変えたいのです できたら、同じ枚数の中でも0のNo.のものも昇順で並べ替えたい のです。gooの中でも色々とあったのですが、やり方が間違って いるのかうまく出来ません。 言葉足りずにわかりにくいとは思いますがよろしくお願いいたします。  A1列    B2列 No.      枚数  350000 |  200 011111 |  200 400000 |  100    200001 |   50 010000 |  200

  • エクセルで列の並べ替えを一気にしたいのですが出来ますでしょうか?

    エクセルで列の並べ替えを一気にしたいのですが出来ますでしょうか? 以下のように通常1列切り取って列挿入を何回もすれば出来るのですが 一気に複数列をABCDE列をCEADB列のように一度に並べ換え出来たらと思います。 Columns("G:G").Cut  Columns("C:C").Insert Shift:=xlToRight 行数はその都度異なります。

  • エクセルの「昇順」での並べ替えについて質問いたします。

    エクセルの「昇順」での並べ替えについて質問いたします。 (例) 行に左からセルに現場、名前、成績(数字)、地域(東京等)が入力されていて、各々列をなしているシートがあります。地域を昇順にし、その内訳の中で現場を昇順 さらにその内で名前を昇順にしたいのですがフィルターの簡単な操作でできますか。 エクセルの初心者ですがフィルターには列の左右関係、文字と数字の優劣などがあるのでしょうか。フィルターについてご存知の方教えて下さい。

  • excel VBA の条件をつけての列ごと並び替える方法がわかりません。

    excel VBA を最近学び始めたのですが、 ソートで、 4 8 3 1 7 8 8 2 8 9 6 2 5 1      ↓ 1 3 4 7 8 8 8 6 9 2 2 8 5 1      ↓ 1 3 4 7 8 8 8 6 9 2 2 1 5 8 と並び替えるソートのVBAがわかりません。一回目のソートで1行目を基準に列ごと昇順?に並び替え、二回目のソートで1行目の昇順を満たしながら二行目の数字を基準に列ごと昇順にソートしたいのです。 検索をかけて、バブルソートのVBAなどを見てみましたが、難しくて理解できません。(この前こそ、「かんたんプログラミング EXCEL VBA」を読んだ知識レベルです。) 昨日の18時からがんばっているのですが、一向にわからないです。。 お時間ありましたら、どなたか教えていただけないでしょうか?  

  • oracleのテーブルデータの列を昇順にしたい

     初めて利用するのでうまく説明できていないと思いますが、よろしくお願いします。  Microsoft Access(以下Access)にMicrosoft Excelのデータを取り込み,さらにAccessからoracle(9i)へエクスポートしたとき、列が正しい昇順になりません。  列には数値型1~80が入力されていますが、ソートにすると1,12,15,16…というように10の位の数字だけで判断(!?)されてしまいます。また行がとんでいたりもします。  これを正しく昇順に並べ替えるにはどうしたらよいでしょうか? なにぶん初心者な者で(小学生に教えるかんじで)分かりやすく教えてください。(^。^;)>

  • ある1列を昇順に並べたときの順番を求めたいエクセル2003

    以下のようにA列に不規則な文字列が入力されているとして,A列を昇順に並べ替えた場合の順序をB列に表示したいのですが,関数で求めることはできないでしょうか? 重複しているものと空白は無視して順位から省いた処理をしたいと思っています。 マクロ,配列数式,フィルタオプションを使用しない方法でお願いします。 作業列を使わない方法が好ましく思いますが,作業列が1列で済むようであればその方法でも教えて頂けると助かります。 無理な質問をしている気もするのですが,そう思いながら質問した場合でもいい回答をよく頂けているので,この度も質問させて頂きました。    A列        B列 ───────────────────────────    あああああ       4   いいいいい       6   さしすせそ       7   702029-A        1    あいうえお       5   さしすせそ          LLLL          3   まみむめも       8   898-5        2

  • excel VBA de で、昇順で列ごと入れ換える方法がわかりません。

    下記のようなソートをVBAで行いたいのですがわかりません。 5 6 3 8 5 5 8 4 6 1 1 5          ↓ 3 5 5 5 6 8 6 8 1 5 4 1     ↓ 3 5 5 5 6 8 6 1 5 8 4 1 一回目のソートで、1行目を基準に列ごと昇順に入れ換え、二回目のソートで一回目の条件を満たしたまま二行目を基準に列ごとソートしたいのです。 最近VBAを勉強し始め、「かんたんプログラミング EXCEL VBA」という書籍を読んだ知識レベルのため、自分で検索してソートの方法を学んでもわかりません。今日は、18時からパソコンに向かい、結局こんな時間になってしまいました。。。 お時間ありましたら、どなたか教えていただけないでしょうか?

  • ボタンを押下したら列毎に数字を昇順に並べる。

    どなたかご存知でしたら回答をよろしくお願いします。 【質問】 下図の様に、A1~E5に1~99迄の数字が重複して入っています。 「並び替え」というボタンを押下するとA1~A5、B1~B5、c1~c5、 D1~D5、E1~E5のの数字を”昇順”に並び替えるにはどうすればよいですか? 〇例題   A B C D E 1 01 04 07 21 29     「並び替え」というボタン 2 02 03 16 27 30 3 15 20 26 28 99 4 11 18 19 24 25 5 10 13 14 17 23 〇結果   A B C D E 1 01 03 07 17 23 2 02 04 16 21 25 3 10 13 26 24 29 4 11 18 19 27 30 5 15 20 14 28 99 ※列毎に昇順に並び替えられる。 〇注意事項  ・使用するエクセルは2010です。  ・セルに入っている数字はランダムです。    ・セルの数字は表示上、2桁で表しています。(例:1ではなく01) 以上、よろしくお願いします。

  • EXCEL表の並び換えを自動でおこなえますか?

    EXCELで、項目が複数の行と、複数の列、さらに行の合計列がある表で、行や列を追加した時に自動的に合計列が昇順に並び変えられるようにすることはできますか。

  • エクセル 一様乱数を昇順に

    エクセルで一様乱数 -Ln(rand()) を20個程作り、それを昇順にしようとすると上手く昇順に並ばない問題はどのようにして解決すればよいのでしょうか? よろしくお願いします。

専門家に質問してみよう