OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

Excelのデータの並べ替えについて

  • 困ってます
  • 質問No.189182
  • 閲覧数104
  • ありがとう数0
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 70% (179/254)

Excelのデータの並べ替えは(データ→並べ替え)で出来ますよね。
ところが一枚のシートにデータが入りきれず、複数のシートになった場合、
どのようにデータの並べ替えを摺るのでしょうか教えてください。
宜しく、お願いいたします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全4件)

  • 回答No.1
レベル14

ベストアンサー率 33% (1403/4213)

ACCESSを利用して、並べ替えたデータをシートにするのが 簡単と思います。
ACCESSを利用して、並べ替えたデータをシートにするのが
簡単と思います。

  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

Excelだけで行うとすると、 (1)元の複数のシートをシート単位にソートしてしまいます。 (2)データ量と、どのようなデータか分かりませんが、例えばソートキーが1万未満、1万番台、2万番台・・・    という感じで元のシートから別シートに集めて、そのシートを再度ソートしたらどうでしょうか。 10万件程度なら必要なシートは2枚で、2分割する位置を決めれば1回この操作を行えば可能だと思いますが・ ...続きを読む
Excelだけで行うとすると、
(1)元の複数のシートをシート単位にソートしてしまいます。
(2)データ量と、どのようなデータか分かりませんが、例えばソートキーが1万未満、1万番台、2万番台・・・
   という感じで元のシートから別シートに集めて、そのシートを再度ソートしたらどうでしょうか。

10万件程度なら必要なシートは2枚で、2分割する位置を決めれば1回この操作を行えば可能だと思いますが・・・
  • 回答No.3
レベル14

ベストアンサー率 28% (4323/15250)

もしどなたからも(VBAを使わない)エクセルだけでの解答が出なければご参考にしてください。 sheet1のA列のデータ数+SHEET2のデータ数が6万数千の エクセルの許容行数を越えていると言うことでしょうか。 それだと下記はだめですが、SHEET1のデータ数+SHEET2 のデータ数<エクセルの許容行数と仮定して述べます。 大型コンピュターのバッチ・プログラムでよく使ったマージの ロジックで ...続きを読む
もしどなたからも(VBAを使わない)エクセルだけでの解答が出なければご参考にしてください。
sheet1のA列のデータ数+SHEET2のデータ数が6万数千の
エクセルの許容行数を越えていると言うことでしょうか。
それだと下記はだめですが、SHEET1のデータ数+SHEET2
のデータ数<エクセルの許容行数と仮定して述べます。
大型コンピュターのバッチ・プログラムでよく使ったマージの
ロジックです。ソート結果をSHEET1のB列にセットしています。
SHEET1のA列とSHEET2のA列はエクセルのソートをして後
最終行の下のセルにowariといれ、下記を実行してください。
6万数千のエクセルの許容行数を越えているときは、下記の
CELLS(I、2)の3箇所のところをディスクファイルに書き出だせば、
目的は達せられます。
Sub sort1()
x = 1 ’sheet1のスタートは第1行から
y = 1 ’sheet2のスタートは第1行から
i = 1 ’sheet1のソート後のデータのセットは第1行から
'------------
p1:
If Worksheets("Sheet1").Cells(x, 1) ="owari” Then
'cells(x,1) はSHEET1のA列x行を表す
Worksheets("Sheet1").Cells(x, 1) = 99999999
End If
If Worksheets("Sheet2").Cells(y, 1) ="owari" Then
'cells(y,1) はSHEET2のA列y行を表す
Worksheets("Sheet2").Cells(y, 1) = 99999999
End If
'---------等しい時
If Worksheets("Sheet1").Cells(x, 1) = Worksheets("Sheet2").Cells(y, 1) Then
If Worksheets("Sheet1").Cells(x, 1) = 99999999 Then GoTo owari
Worksheets("Sheet1").Cells(i, 2) = Worksheets("Sheet1").Cells(x, 1)
'cells(i,2) はSHEET1のB列 i 行を表す
i = i + 1 '直下の行にセットする
x = x + 1 '直下の行を見る
Else
'--------SHEET1が小
If Worksheets("Sheet1").Cells(x, 1) < Worksheets("Sheet2").Cells(y, 1) Then
Worksheets("Sheet1").Cells(i, 2) = Worksheets("Sheet1").Cells(x, 1)
i = i + 1
x = x + 1
Else
'--------SHEET2が小
Worksheets("Sheet1").Cells(i, 2) = Worksheets("Sheet2").Cells(y, 1)
i = i + 1
y = y + 1
End If
End If
GoTo p1
owari:
End Sub
  • 回答No.4
レベル14

ベストアンサー率 36% (1782/4883)

ピポットを使ってデータの参照時に複数のワークシートを指定してみるというのはどうでしょうか。
ピポットを使ってデータの参照時に複数のワークシートを指定してみるというのはどうでしょうか。
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ