• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excel 7条件一括のソート方法)

excelの7条件一括ソート方法

このQ&Aのポイント
  • excelの表を7条件一度の操作でソートできる方法を教えてください。
  • ソート条件は、H列の数が少ない順、同じ場合はG列が少ない順、さらに同じ場合はF列が少ない順、以降の順番で行われます。
  • 数度のソートを繰り返すことなく、上記のソート条件を満たす方法を教えてください。

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

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

>間違いをなくすために 数度のソートを繰り返すことはしたくありません。 ご利用のエクセルのバージョンが不明ですが, 方法1: Excel2007以降を使い,7条件の並べ替えをまとめて設定して一気に並べ替えます ただし,この方法では次の並べ替え操作時に,また改めて7条件を設定し直す作業が必要です。また2003以前のエクセルでは,3条件までしか一度に設定できません。 そこで 方法2: ご質問の書きぶりから,優先度の低い側から1列ずつキー列として,合計7回並べ替え操作を繰り返せば結果が得られることはご存じなのですね? 「新しいマクロの記録」を使い, 0.マクロの記録を開始する(マクロの保存先は作業中のブックとする) 1.A:H列を列選択する 2.Bで並べ替える 3.Cで並べ替える 4.Dで並べ替える   :   Hで並べ替える と操作し,記録終了してマクロを自動採取します。 以後はデータが更新される都度,記録しておいたマクロを実行するだけで,常に1アクションで正しい並べ替えを実行させることができるようになります。 #方法3 各セルに入る数字の「最大桁数」が決められる場合(仮に最大3桁) I列に I2: =TEXT(H2,"000")&TEXT(G2,"000")&TEXT(F2,"000")&TEXT(E2,"000")&TEXT(D2,"000")&TEXT(C2,"000")&TEXT(B2,"000") という式を並べてこの列で並べ替えると,できます。

cyobin_man
質問者

お礼

ありがとうございます。 ばっちりな結果が得られました。 すばやいご指導有難うございました。

cyobin_man
質問者

補足

頑張って マクロのボタンを作り ワンクリックで結果が出るようにしました。 無事完成 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#204879
noname#204879
回答No.3

添付図参照 I2: =G2*100000000+F2*10000+E2 J2: =D2*100000000+C2*10000+B2 [最優先されるキー]   →“合計”  昇順 [2番目に優先されるキー]→“G_F_E”  昇順 [3番目に優先されるキー]→“D_C_B”  昇順 [範囲の先頭行]     →“タイトル行”

cyobin_man
質問者

お礼

驚きました こういう考えもあるんですね。 なるほどと 思いました。  ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

>数度のソートを繰り返すことはしたくありません。 Excel2007以降なら条件は4つ以上設定できます。 Excel2003だと3つまでなので、やるならマクロの記録を使うしかありません。

cyobin_man
質問者

お礼

お手数をお掛けしました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ハッシュのハッシュのソート

    rubyでハッシュのソート方法についてはいくつか情報のサイトを見つけられました。 ですが今やりたいのは、ハッシュのハッシュのソートなのですが、うまいやり方がわかりませんでした。 具体的には、 h1 = {"user1"=>{"a"=>10, "b"=>20, "c"=>30"}, "user2"=>{"d"=>5, "e"=>8}, "user3"=>{"f"=>10, "g"=>5, "h"=>10} } というようなハッシュのハッシュを想定しています。ユーザごとに案件ごとの必要工数(時間)をハッシュとして持たせ、全工数が多いユーザ順にソートしたいのです。 上記の場合だと、 {"user1"=>{"a"=>10, "b"=>20, "c"=>30"}, "user3"=>{"f"=>10, "g"=>5, "h"=>10}, "user2"=>{"d"=>5, "e"=>8} } というようにソートしたいのですが、何かやり方がありましたらご教授いただけますでしょうか。

    • ベストアンサー
    • Ruby
  • エクセルのソートについて

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

  • エクセル表で異なった分類でソートする方法

     A列に分類番号のA・B・Cを打ち、横にデータを記入していく。横列のC又はD(縦列)にア・イ・ウの頭文字をつけてデータ(人名や語句)を打っていく。このようにして作った表を、(1)ABCをソートして並べ替える(Aグループ、Bグループの順に並ぶ。次に(2)Aグループのなかを、アイウ順に並べ替えたい。そのような操作が出来る方法を教えてください。  私が試みたら、C列だけがソートされて、横のデータが付いていかないのです。空欄があるせいでしょうか。それとも?ソートは、C欄全体を選択し、「降順」をクリックしています、表全体(AからE,Fまで選択したら、どの指標で(AかCか)分からないと思って。  試行錯誤で使っています。どうぞ知恵を貸してください。

  • phpでのソートについて

    phpのソートについて教えてください。 以下のようなカンマ区切りのログファイルlog.txtがあるとしまして、 100,200,a,b,c, 300,100,d,e,f, 500,60,g,h,i, 50,300,j,k,l, 1000,60,m,n,o, このデータから 1番目のデータ(数値)が2番目のデータ(数値)より大きいデーターのみを対象にして ※つまりは以下のみ対象 300,100,d,e,f, 500,60,g,h,i, 1000,60,m,n,o, ここから1番目のデータ(数値)から2番目のデータ(数値)を引いた数が大きい順に ソートしてファイルに保存させたいのですが、 200,d,e,f,(300-100なので200) 440,g,h,i,(500-60なので440) 940,m,n,o,(1000-60なので940) ↓ ※最終的にこの順番で新しいログファイルnewlog.txtへ保存させたい 940,m,n,o, 440,g,h,i, 200,d,e,f, これらの処理を効率よく1度で行う方法はございますでしょうか。 わかりにくい説明で申し訳ありません。 お忙しい中恐縮ですがご教授いただけましたら幸いです。 何卒宜しくお願い致します。

    • ベストアンサー
    • PHP
  • エクセル、条件付き書式で

        A B C D E   F G H I J K L M N O (1)  2 3 8 9 10   1 2 3 4 5 6 7 8 9 10 (2)  1 4 5 6 9   1 2 3 4 5 6 7 8 9 10 (3)  3 5 8 9 10  1 2 3 4 5 6 7 8 9 10 エクセルで A~Eのランダムな数字と一致する数字を、その右側に順に並んでいるF~Oの数字に条件付き書式などで色を付けたいのですが。 500行くらいあるので、なるべく早くできる方法ありませんか? 1行1行条件付き書式をやりましたが、気が遠くなってしまいます。 どうか教えて下さい。

  • EXCELの表で縦横の入れ替え方法

    EXCELの表で 縦軸と横軸を入れ替える方法ってありますか? つまり A B C D E F G H I J K L っていう表を A E I B F J C G K D H L にしたいのです。

  • Excelで条件つき行削除について教えてください

    前回に下記のような質問をしました。 「下記のようなExcelの表があるとします。    A    B     C     D     E 1      会社A   会社B   会社C    会社D 2 仕事A 23 45 67 27 3 仕事B 45 24 65 33 4 小計 68 69 132 60 この状態のときはいいのですが、    A    B     C     D     E 1      会社A   会社B   会社C    会社D 2 仕事A 0 0 0 0 3 仕事B 0 0 0 0 4 小計 0 0 0 0 このときに小計という文字を認識し、その横にある数字を認識し、その条件がすべて「0」だった場合に処理を行いたいです。」 この回答で、 「Sub 小計全部ゼロ_行非表示() Dim Rng As Range For Each Rng In Range("A1", Range("A65536").End(xlUp))   If Trim(Rng.Value) = "小計" And _     Rng.Offset(, 1) = 0 And Rng.Offset(, 2) = 0 And _     Rng.Offset(, 3) = 0 And Rng.Offset(, 4) = 0 Then     Rng.EntireRow.Hidden = True   End If Next Rng End Sub」 このような回答がありました。 私は「小計」がC列にあり、「0」を検索したいのがF、G、H、Iにあります。 条件に合うように変更したのですがエラーが出てしまいます。 分かる方いましたら教えてください。」よろしくお願いします。

  • EXCELでの小計算出・表示について

    PC初心者です。 EXCELの表計算で、属性(同一コード)毎の小計(集計・表示)の方法を教えてください。  (例)     属性コード 氏名   金額    小計     011   A   1000     011   B   2000     011   C   3000    6000     012   D   2500     012   E   1500    4000     013   F    500     013   G    800     013   H    600    1900     以上の6000、4000、1900についてです。     よろしくご教示ください。

  • エクセル2007 条件付き書式

    エクセル2007の条件付き書式で教えてください。 エクセル表で時間計算をしたいのですが、手入力した時間の合計があるセルの時間と違っていた場合に条件付き書式でセルに色をつけたいのですが方法がわかりません。 A1 開始時間 B1 終了時間 C1時間計算(B1+1-A1) D1事務a E1事務b F1事務c のようなエクセル表をつくり、C1以外の部分は手入力してます。 D1+E1+F1の入力がC1の自動計算部分と違っていた場合に色をつけてわかるようにしたいです。 条件付き書式のC1のセルの値がD1+E1+F1と違ったらというのを使ったのですが、計算式が入っているせいか思ったように機能してくれません。 どのようにすればできますでしょうか?また条件付き書式で数式を使う場合はどのようにすればよいでしょうか?アドバイスお願いいたします。

  • excelでの行列データの並び替え

    excelで表形式のデータの並び替えをおこないたいのですがいい方法が思いつきません。 どなたか教えて下さい。 具体的には 元のデータは以下の様なフォーマット a b c d e f g h i これを並び替えて a b c d e f g h i としたいということです。 元データの列数は決まっていますが 行数は任意です。

専門家に質問してみよう