• 締切済み

Excelの並べ替え

Excelデータでの並べ替えについて… 1  A   36851 2 3 4  B   58714 5 6 7  C   69826 8 9 10  D   38517 というように、一つのデータが3行おきに入っているシートがあり、 一番右の数字を並べ変えた場合、その間隔が詰まってしまいますよね? この間隔を保持したまま並べ替えを行ない、 1  C   69826  2 3 4  B   58714 5 6 7  D   38517 8 9 10 A   36851 という形にしたいです。 どのようにしたらいいのでしょうか。 ご教授、よろしくお願いいたします。

みんなの回答

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

大概の場合にお勧めの方法:添付図参照 準備:表範囲は罫線で囲っておく 手順: B1:B12を選択 Ctrl+Gを押す 現れたダイアログでセル選択をクリック 現れたダイアログで空白セルにマークしてOK B列の空白セルが飛び飛びに選択され、B2がアクティブセルになっている状態で 数式バーに =B1 と記入、コントロールキーを押しながらEnterで一斉入力する 更にその状態で、フォントの色を白にする あるいはセルの書式設定の表示形式のユーザー定義で ;;; と設定し、数式が記入された各2行の表示を見えなくする B列で全体を並べ替える。 オートフィルタなどを使用したい場合も、この方法が利用できます。 別の方法(参考) A1:A3をセル結合する B1:B3をセル結合する 他のセルも3×1のセル範囲ごとにセル結合する A:B列をを並べ替える。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

お示しの表で最も左側の数値が行番号と考えていいのですね。実際には3行ずつが一組となって並び替えが行われるものとします。 お示しの表では最も左側が行番号でAの文字はA1セルに、Bの文字はA4せるに、CのもじはA7セルに、Dの文字はA10セルに入力され、右側の列の数値はB列に入力されているとします。 並び替えたものをEおよびF列に表示させるとしたらE1セルには次の式を入力してF1セルまで横にdラッグコピーしたのちに下方にもドラッグコピーします。 =IF(A1="","",INDEX($A:$B,MATCH(LARGE($B:$B,ROUNDUP(ROW(A1)/3,0)),$B:$B,0)+MOD(ROW(A1)-1,3),COLUMN(A1)))

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 手作業で行う場合は、一手間・二手間かけます (VBAでやれば一気にできますが) ↓の画像で説明すると (1)1行目に行挿入(データが1行目からあり項目行がない場合) (2)A列に列挿入 (3)A2セルに =IF(C2="",A1,C2) という数式を入れ実データ数より2行分多くオートフィルで下へコピー! このデータをA列の降順で並び替えすると右側の画像のようになりますので、 最後の1行目とA列を削除して完了です。 ※ 他に良い方法があればごめんなさいね。m(_ _)m

関連するQ&A