• ベストアンサー

EXCELで2行データの並べ替えは可能か?

EXCELの並べ替えについての質問です。 例えば社員のデータで1人目が… 1行目に、所属、名前、入社日、生年月日、住所… 2行目に、基本給、管理職手当、職務手当、通勤手当… 2人目が3行目、4行目、3人目が5行目、6行目… といった具合に社員の1人分のデータが2行にまたがっていた場合、例えば、生年月日順に並べ替えをし、うまく1人分2行くっ付いた状態で並べ替えすることはできるでしょうか? 印刷レイアウト上、どうしても2行で1データとするケースがあります。 よろしくお願いいたします。

noname#188801
noname#188801

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

  • ベストアンサー
  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.2

 こんにちは 勿論VBAでもできますが、、、 何処か空いてる列(作業セルとして)に数式を用意して、 そちらの列を基準にソートするのではどうですか? 例えば =OFFSET(D1,MOD(ROW(),2)-1,0) もしも、2行めから始まるなら =IF(MOD(ROW(),2),D1,D2) などなど。 現在の並びに戻す必要があるなら、事前に =INT((ROW()+1)/2) などでキーを作っておくのもよいでしょう。   いずれも、 空いてる列の1行め(データの先頭行)に数式を入力して、 (数式を)下にコピー。 ↓ 数式の範囲をコピー状態にして、 そのまま形式を選択して貼り付け(値貼り付け)。 ↓ 表全体を選択してからキーを指定して並べ替え。 という手順です。 頻繁に並べ替えをするなら作業列を残して(非表示にして)おくのも有り、 データが増えるのに備えて数式を保存しておくのも有り。 こんな感じでどうでしょう

noname#188801
質問者

お礼

回答をありがとうございます。 Excelの応用的な使い方の感覚が新たに取得できました。 こうやって数式を応用するものなのですね。 今回の回答のみならず、考え方の切り口が理解でき、これからもステップアップできそうです。

その他の回答 (2)

  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.3

例えばD列が 1970/1/1,1000,1982/2/1,500,1980/3/1,2000 と順にデータがあった場合RANK関数を使うと 4,2,6,1,5,3 という順番になる、IF関数で1行目なら10倍し、2行目なら前行の値に1加算とすると 40,41,60,61,50,51 となる、これをソートすると要求通りになるではないかと思います。 データがA1から始まっており生年月日がD列とした場合、表の右のセルに =IF(MOD(ROW(A1),2)=1,RANK(D1,D:D,1)*10,OFFSET(A1,-1,0)+1) と入力し下にオートフィルし、式を入力した列をキーにして並び替えを行う。 実際のレイアウトやキーになる項目のデータ種によって方法は変わってくるので、実際にはマクロで行うのが良いように思います。

noname#188801
質問者

お礼

回答をありがとうございました。 ひとつ頭を捻ると、いろいろと方法論が出てくるものなのですね。 自分の頭の固さが痛感させられました。

  • dodemoii
  • ベストアンサー率59% (769/1282)
回答No.1

こんにちは マクロなどで補完することになると思います。 「ブロックソート」で検索するとフリーでは http://www.vector.co.jp/soft/win95/business/se408321.html がヒットしました。 では。

noname#188801
質問者

お礼

早速の回答をありがとうございます。 同じ要望がある人は世の中大勢いるようですね。 ダウンロードして使用してみます。

関連するQ&A

  • エクセルの並べ替え

    エクセルデータの番号順の並べ替えをしたいのですが A列に37、54,22,1・・・などの数字が入っており これを1から順番に並べたいです。 ただ、A列1行目に37が入っていますが 次の54はA列5行目に入っています。 B列以降に他のデータ(名前、住所等)を入れる際 一行では間に合わず、それぞれ2~5行程を使用している為なのですが この状態で並べ替えをすると、数字の入っている行のみが並べ替えられ 入っていない行は後ろの方にまとめられてしまいます。 数行まとめて並べ替えをするにはどのようにすればよいでしょうか。 お詳しい方、よろしくお願い致します。

  • エクセルの並べ替えがうまくいかない

    データ-を継ぎ足して並べ替え(ソート)をしようとすると、新しく継ぎ足した分は表の一番下に並べ替えられ、全体が昇り(降り)順になりません。何故でしょうか、教えてください。

  • エクセル 初歩

    エクセルの データを作る際 の質問です 社員番号 所属 入社日 氏名 生年月日 など ごく一般てきな データを 作って フィルターをかけて 並べ替えを したいのですが 入社順で 古い順で データ並べ替えを したのですが どうしても うまくできません でした、 2005から2009へ下にさがっていくデータ なのですが どうしても 何回やっても 一部のデータが ばらばらです 2005、2006、2007.2005みたいに 並んでしまいます 原因として考えられることは なんですか? 何か数式が一部にかかっているのか そのデータが文字列でにんしきしているから? フォントがちがうから?など いろいろ考えましたが わかりません おねがいします  また、質問2 エクセル2007で データのセル範囲をリストに 変換する方法はどのようにするのですか? 普通なら データ から リスト リスト作成ですが 2007のときは やりかたがわかりません また 今エクセル勉強中で エクセル2003の 本をみておりましが 2007のメニュー画面が 違います たとえば ツールが 2007にはありません 当たり前ですが ツールバー が違うため 本と実際の2007エクセルとでは とてもやりずらいです なにか よいほうほうはありませんか?  

  • エクセルでのデータの並べ替え

    くわしい方、教えていただけないでしょうか? ネットで検索しましたが、解決するような記事が見つかりませんでした。 添付画像のような表を作成しております(実際はもっと下にたくさん入力が続いてます)。 やりたいことは、この表にどんどんデータを入力していったときに、 グループバラバラなので、データの並べ替えでグループ名ごとにひとかたまりにして並べ替えたいのです(降順でも昇順でも、どちらでもいいです。でもできれば、グループ内で、氏名があいうえお順とかになるとすごく嬉しいです・・・・) ですが、今の状態で並べ替えようとすると、「この操作には、同じサイズの結合セルが必要です」とエラーが出ます。 エクセルにあまり詳しくないですが、おそらくこれは、一人分のデータがA列とB列は1行ずつなのにC列で2行あるからだと思っているのですが、どうしても、C列は2行必要なので(誕生日のデータだけなら、D列に書けばいいのですが、C列にはほかにも書きたいデータがあってここは2行必要なんです) この場合、どのようにしたら、うまく並べ替え(2行をひとかたまりと認識して)できるのでしょうか? どなたかご教授してくださると嬉しいです。

  • エクセルでデータの並べ替えの方法

    エクセルで作成したデータの並べ替えの方法を教えて下さい。具体的には、毎日の記録なのですが、所要時間の行とその内容(メニュー)の行があります。メニューの内容によって所要時間が変わるというものですが、所要時間の短い順に並べ替えたり、逆にメニューを優先して、それに対する所要時間が分かるというように並び替える方法を教えて下さい。

  • Excelの行方向での並べ替え

     行方向に順序がバラバラで入力されている日付データがあります(表1参照)。これを日付の若い順に1列ずつ行方向に並べ変えたいと思っています(表2参照)。  「データ」→「並べ替え」→「オプション」→「列単位」にすることで1行ずつ行方向の並べ替えができることは知っていますが、行数が多いため一括して並べ替えができないか考えております。  どなたかご教示いただければ幸いです。なお、Excel2007を使っています。      A          B        C 1  1996/11/07 1997/02/19 1996/11/21 2  1997/02/19 1997/02/19 3  1996/11/21 4  1997/02/19 1996/11/21 5  1997/02/19 1997/11/06 1997/02/19      ・      ・       (表1:並べ替え前)        ↓ (並べ替え)      A         B         C 1  1996/11/07 1996/11/21 1997/02/19 2  1997/02/19 1997/02/19 3  1996/11/21 4  1996/11/21 1997/02/19 5  1997/02/19 1997/02/19 1997/11/06      ・      ・      (表2:並べ替え後)

  • エクセルでの行の並べ替えについて

    古くからの名簿の整理を始めました。 個々について 氏名・電話番号・住所の順に並んでいる名簿(エクセルの)があります。 この行の先頭に欄を1つ設け(A欄)氏名の「かな」の先頭文字・・・例えば安藤さんなら「あ」という風に記入しました。 エクセル上でデータ⇒並べ替え⇒優先キー(私の場合は「A」を指定)すると「この操作には同じサイズの結合セルが必要です」とメッセージが表示されて並び替えが出来ません。 どこをどうしたらよいでしょうか? PC初心者です。

  • Excelの並べ替え

    いつもお世話になっております。 今回はExcelの並べ替えについて質問させてください。 先頭行に (A列)日付(B列)約定NO(C列)会社コード(D列)社名(E列)売上金額 などの項目があり、1行ごとにデータが入ったリストがあります。 (売上のデータはどんどん下の行に追加されていくものとします) 社名は取引先が決まっているので同じ社名の異なるデータが何度も出てきます。 そこで、社名を基準に並べ替えて会社ごとの売上金額の合計をとり、その合計金額の大きい順に並べ替えたいのですが・・・ どうもうまくいきません。 まず、『並べ替え』で会社ごとにまとめてから『集計』で合計を出し、その合計をさらに並べ替える事を思いついたのですが、 この方法だと会社名と合計金額以外のデータが表示されなくなってしまいます。 今回は全てのデータが見えている状態で並べ替えたいのです。 また、A社のデータが5行分、B社のデータが10行分、C社のデータが3行分・・・とあり、それぞれの合計金額の順位が C→B→Aだった場合は上からC社の3行B社の10行A社の5行と言ったように表示させたいです。(各社のかたまりは崩したくない) この場合どのようにしたらうまく並べ替えることが出来るでしょうか? 非表示や印刷範囲外にしてしまえば問題ないので仮の列や行を新たに追加することは可能です。 もしわかる方いましたら教えてください。 ※説明不足で申し訳ありません。不明な点ありましたら補足します。

  • エクセルの並べ替え

    エクセルの「データ→並べ替え」の質問です。 住所録(900行超)を並べ替えると、どういう訳か2つのグループに分かれて、それぞれでソートされます。どうしてかなぁ?文字列でも数字列でもダメでした。全体をひとつのデータとして「あいうえお順」もしくは「郵便番号順」にソートしたいのですが、改善策を教えてください。よろしくお願いします。

  • Excelで作成したデータの並べ替えの方法についてのお尋ね

    Excelで作成したデータの並べ替えの方法についてのお尋ね 表の各行に、それぞれ、赤、黄、青、の色が数十行にわたってランダムに配色されています。これを赤黄青の順にまとめて表示したいのですが、その方法をお教えください。

専門家に質問してみよう