• ベストアンサー
  • すぐに回答を!

【Excel】小計単位で並べ替えを効率よく行いたいのですが・・

  • 質問No.1408602
  • 閲覧数1271
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 84% (21/25)

Excelのリストで、約20行おきに小計行があります。その小計の単位で、数値を対象に並べ替えを行いたいのですが、効率よく行う方法がありましたら、ご伝授ください。
なお、行数はデータの変化に伴い毎回異なります。
WindowsXP・Excel2003です。

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

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

ベストアンサー率 29% (705/2376)

あまりスマートな方法ではないと思うのですが、お急ぎのようですので。

仮に、A列に数値と小計(SUM関数)のみがすき間無く入っているとして、です。
【1】A列を選択し、置換で「=」を適当な文字に変換します(ここでは「(=)」にしたとします)
【2】隣の列(B列)へは1,2…と行番号と同じ物を入力。(「1」,「2」まで入力して2セルを選択し、選択枠右下の小さな黒四角をダブルクリックすると便利)
【3】更に隣の列(C列)には、1行目は「0」2行目には『=IF(TYPE(A1)=1,C1,C1+1)』と入力して、データ分だけ下へコピーします(前の手順と同様、右下四角ダブルクリックでOK)
【4】C列を選択してコピーし、そのままC列へ「形式を選択して貼り付け」で「値」として貼り付けます。
【5】A,B,C列を選択し、メニューバーの[データ]→[並べ替え]を選択。C列、A列、B列の順番で昇順にしてソートします。
【6】A列を選択し、置換で「(=)」を「=」に変換(戻)します。
【7】B,C列は削除

お試し下さい。
お礼コメント
ohaziki

お礼率 84% (21/25)

ありがとうございました。
Excelとにらめっこして、なぜ正確にソートできるのか、なんとか理解できました。
関数も機能も、知ってはいても、hiruminさんのように複雑に組み合わせるには至りません。感嘆です!
ただ、仕事で毎回使うとなるとちょっと作業が複雑です。もう少しだけ”スマートな方法”ありましたら、またご伝授ください。
投稿日時:2005/05/26 23:51

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 44% (5540/12318)

> 効率よく行う方法がありましたら、

グループ化を行っていると、いい感じで処理してくれるみたいです。
[-]ボタンでリストを畳めますし、便利です。

データA_01
データA_02

データA_19
小計A
データB_01
データB_02

データB_13
小計B



データA_01からデータA_19の行を選択します。
[データ]-[グループとアウトラインの設定]-[グループ化]
を各データに行い、

┏データA_01
┃データA_02
┃~
┃データA_19
[-]小計A
┏データB_01
┃データB_02
┃~
┃データB_13
[-]小計B
 ~
 ~

の状態にします。
[-]が上にきちゃう場合は、[データ]-[グループとアウトラインの設定]-[設定]で「詳細データの下」をONにして下さい。
お礼コメント
ohaziki

お礼率 84% (21/25)

ありがとうございました。
グループ化の機能はよく使いますが、小計を対象に並べ替えができることは知りませんでした。
でも、今回は詳細データを対象に並べ替えしたいので・・・m(__)m
投稿日時:2005/05/26 23:35
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ