- ベストアンサー
エクセル 表の並び替え
エクセルで一つのシートに表がいくつかあるのですが、これの表自体を並べ替える方法はありますか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
表が列方向には一つしかない(=縦方向に表が並んでいるだけ)でしたら、少々強引ですが表の左右どちらかの列に並べ替えるための数字や文字などを表ごとにつけ、その列をキーにソートをすることで出来なくはないですね。 たとえば、 2 表1 2 表1 2 表1 2 1 表2 1 表2 1 表2 1 4 表3 4 表3 4 表3 4 3 表4 3 表4 3 表4 3 として番号順に並べ替えると表2,1,4,3の順に変わるわけです。わかりにくくてごめんなさい。
その他の回答 (5)
- lele00
- ベストアンサー率29% (74/250)
lele00です。 EXCELマクロについては通常のコンピュータプログラムになるので結構奥が深いです。 書籍等もたくさん出版されているので、初めはそれらを買って勉強される事をおすすめします。 お進めのサイトはちょっとわかりません。 機能的には通常のVisualBasicプログラムとほぼ同様の事が出来ますし、EXCELにはさらに便利な機能として、マクロの自動生成(一連の操作をそのままマクロとして記録させる機能)が出来ます。 具体的には、 ツール→マクロ→新しいマクロの記録 を選択 マクロの記録 ダイアログが出るのでOKをクリック EXCELのシート上で一連の手作業を行う(範囲選択し、データを移動させて範囲を解除) 記録終了 をクリック でマクロが作成されます。 マクロを実行するには、 ツール→マクロ→マクロ でダイアログが表示され、実行ボタンをクリック マクロの編集には ツール→マクロ→BisualBasicEditor でVBAProjectの中にMacro1が作成されていると思います。 実際に業務に生かすには自動生成されたマクロの固定部分を変数等に置き換え、繰り返し処理に耐える様に書き直す等の作業が必要になって来ますので、規則性が強い場合は ANo.3 の方が書かれている様にマクロを使わない様に行った方が手っ取り早いかも知れません。 私の場合はマクロを使用しないとどうしても処理出来ないと思う事例だけマクロを作成して使う様にしています。
お礼
ありがとうございます。 私にはマクロは無理そうです。 3番の方のやり方は値だけしか無理だったり、 それを参照している別シートの値がおかしくなったりとうまくいきませんでした。
- imogasi
- ベストアンサー率27% (4737/17069)
VBAのッ経験があれば、 各表の第1行と最終行を、表の数だけ、変数や配列に覚えて(割り出すのは、自動や人手による選択などありえる)おいて、別シートにおいて、指定したソート後の順序に、元の表の部分をコピーし、別シートに順次上の行から張り付けする、を繰り返すとできそうに思う。 書式(罫線、セル結合)も移るとおもう。 VBAの中級の技量がいると思う。 ーー 後は値だけに限って、同一表には同じ表番号を表外の決まった列にふりソートするぐらいでしょう。
お礼
ありがとうございます。 経験はありません。 中級の技量ということで、私には無理そうですね。 番号を振りソートはやってみたのですが、値だけしか無理だったり、 それを参照している別シートの値がおかしくなったりとうまくいきませんでした。
- lele00
- ベストアンサー率29% (74/250)
範囲選択して、範囲選択した中にマウスポインタをもってゆくとマウスポインタが+から矢印に変わりますので、そこでマウスをドラッグすれば表自体が移動します。 自動で行う場合は現在の表の書かれている規則性が分からないので何とも言えないのですが、規則性がある場合は先ほどの移動を適用出来る様にマクロを組むと言う事になると思います。
お礼
ありがとうございます。 規則性はあると思います。 マクロを組むと言うことが分かりやすいサイトなど無いでしょうか?
- lele00
- ベストアンサー率29% (74/250)
表の中身の並べ替えであれば、その表を範囲選択しておいてから並び替えを行えば、結果はその表だけに適応されます。
お礼
ありがとうございます。 表の中身ではなく、表自体の並び替えをしたいと思っています。
- snopopon
- ベストアンサー率28% (111/391)
上下の移動だったら、移動したい表を範囲指定して切り取って、移動したところに挿入する。 左右も切り取って挿入すればできそうだけど、それぞれの表のセル幅が違うと崩れてしまう可能があります。微調整してください。
お礼
ありがとうございます。 表は相当の数があるので、自動で出来ればいいなと思っているのですが無理でしょうか? データの並び替えの表バージョンのような感じです。
お礼
ありがとうございます。 最初手間ですがなかなかいい案だと思いました。 実際やってみた所、同じサイズの結合セルが必要です、というエラーがでてしまいました。 この表の中でどこがけつごうしてるのやら。
補足
結合セルを全て解除してとりあえずやってみたのですが 並び替えが中身だけで行われて、罫線とずれてしまいます。 罫線ごと並び替えられるのでしょうか?