A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
もしどなたからも(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.2
- 回答日時:
Excelだけで行うとすると、
(1)元の複数のシートをシート単位にソートしてしまいます。
(2)データ量と、どのようなデータか分かりませんが、例えばソートキーが1万未満、1万番台、2万番台・・・
という感じで元のシートから別シートに集めて、そのシートを再度ソートしたらどうでしょうか。
10万件程度なら必要なシートは2枚で、2分割する位置を決めれば1回この操作を行えば可能だと思いますが・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelの不要な行の削除ができな...
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
【エクセルマクロ】複数シート...
-
VBAで CTRL+HOMEの位置へ移動...
-
EXCELで2つのファイルから重複...
-
エクセル マクロ "特定の日付...
-
オートフィルタで抽出したデー...
-
【Excel】マクロでグラフ系列に...
-
EXCEL の表を一行ずつシートに...
-
Excelで日付変更ごとに、自動的...
-
ユーザーフォームで別シートを...
-
重いExcelファイルのことで教え...
-
時間帯の重複を除いた集計について
-
ExcelマクロのSendkeysで処理途...
-
EXCEL VBA 担当者毎にファイル作成
-
エクセル 縦に長い表の印刷時...
-
データベースから呼び出して、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelの不要な行の削除ができな...
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
EXCELで2つのファイルから重複...
-
VBAで CTRL+HOMEの位置へ移動...
-
トランジスタの選び方
-
Excelで日付変更ごとに、自動的...
-
他のシートの一番下の行データ...
-
エクセル マクロ "特定の日付...
-
【エクセルマクロ】複数シート...
-
エクセル VBA VLOOKUP
-
時間帯の重複を除いた集計について
-
エクセル 縦に長い表の印刷時...
-
エクセルで名簿を50音で切り分ける
-
Excelマクロ 差分抽出の方法が...
-
エクセルのカメラ機能について
-
EXCEL 複数行のデータを1行にま...
-
Excel 売上管理シートに入力し...
おすすめ情報