
ExcelCSV Access クエリ
仕事で使うCSVについてです。
あるデータをExcelCSVでシステム抽出した際、
使い勝手が悪い状態でCSVが出てきました…。
関数でいじりたいのですがデータは20万行あるようなデータで、
動かすのにいちいちExcelが止まります。
ちなみにその変えたいデータというのが、
アンケートのようなもので
A B
1田中太郎 質問1の答え
2田中太郎 質問2の答え
3田中太郎 質問3の答え
4鈴木花子 質問1の答え
5鈴木花子 質問2の答え
6鈴木花子 質問3の答え
というような形で出てしまっており、
これを
A B C D
1田中太郎 質問1の答え 質問2の答え 質問3の答え
2鈴木花子 質問1の答え 質問2の答え 質問3の答え
と3つの質問の答えを回答者の行の列ごとにいれて使用したいという感じです。
この作業をしたく、関数を組んで作業をしたいのですが
20万行あるデータなので全く動いてくれず途方に暮れています。
ちなみに自分は関数とVBAを少しかじったくらいで
Accessやクエリは使ったことがないのですが
それらを使用すれば可能でしょうか…?
有識者の方、大変お手数お掛け致しますが、
アドバイスをいただけますと嬉しいです。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
こんにちは
>関数でいじりたいのですがデータは20万行あるようなデータで、
>動かすのにいちいちExcelが止まります。
メモリ不足でなければ、No1様の回答にあるように自動計算と操作が相まって時間が掛かっている可能性がありますね。
とは言え、20万行だと関数をフィルコピーするのもちょっと面倒かなと。
(ダブルクリックでフィル入力する方法をご存じならどうということも無いですが・・)
(計算を止めても、ダブルクリックでフィルコピーするのには約20秒程度かかりますね)
3行ずつがセットの決め打ちで良いものとして、当方で21万行で試してみました。
環境が異なるので、時間そのものはあくまでも目安ですが・・・
・マクロで関数を設定する方法で約3秒
・マクロで全体を配列に読み込んで処理する方法で約2秒
でした。
オーソドックスに直接CSVを読み込んで変換して出力する方法も考えられますが、条件や内容が違うので比較しにくいため、こちらは試してはいません。
以下は、メモリの使用量は多いですが、上記の2番目の方法での例です。
※ A:B列に元のデータがあるとして、D:G列に並び替えて書き出します。
ご参考までに。
Sub test03()
Dim v, v2()
Dim n As Long, r As Long, i As Long
'tm = Time()
n = Application.RoundUp(Cells(Rows.Count, 1).End(xlUp).Row / 3, 0)
v = Range("A1:B1").Resize(n * 3).Value
ReDim v2(1 To n, 1 To 4)
i = 1
For r = 1 To n
v2(r, 1) = v(i, 1)
v2(r, 2) = v(i, 2)
v2(r, 3) = v(i + 1, 2)
v2(r, 4) = v(i + 2, 2)
i = i + 3
Next r
Range("D1:G1").Resize(n).Value = v2
'Debug.Print (Time() - tm) * 24 * 60 * 60
' 約2秒
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HSCoAについて教えて下さい。
-
20万行あるデータを動かしたい
-
このコピペの意味を教えてください
-
永く生きる処世術ー長寿の秘訣
-
モデJK1の彼女が欲しいです。ル...
-
【英語本】英語本のA Guide to ...
-
XJAPAN Endless Rain 英語 読み
-
フィリピンのBarangay Certific...
-
Do what you loveってどういう...
-
フィリピンの子から来たメッセ...
-
英文歌詞の内容を教えてください。
-
英語の①と②の和訳を教えてくだ...
-
title とpositionの違いについ...
-
TOEIC文法問題
-
gave me thisとgave this to me...
-
英語の歌詞の意味教えてください。
-
「誰宛?」と聞くには
-
英訳をお願いします
-
翻訳をお願いします。
-
it is not の短縮形について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「座布団3枚差し上げます。」の...
-
20万行あるデータを動かしたい
-
中学校理科、遺伝の問題です。
-
「ご無事」についての質問です
-
数学I Aの問題
-
誇大理論
-
Poor planning may result in c...
-
この答えを教えてください! お...
-
超難しい日本史の問題
-
HSCoAについて教えて下さい。
-
宅建業法の問題について
-
おはようございます。 今日は晴...
-
will have come と will be com...
-
日本語テストの質問です
-
質問の為の質問はマナー違反?
-
17京6000兆÷70億の答えを誰か教...
-
【格子点】旧課程チャート練習1...
-
ワイモバイルからUQへ乗り換え...
-
なぞなぞの答え教えてください
-
制御工学の質問
おすすめ情報