• ベストアンサー

2行にわたるデータを1行にしたい

こんにちは。小川と申します。どなたか知恵を貸してください。 表の中のレコードデータが2行にわたるものを1行にしたいのです。 1レコードが1行目2行目にありますが、E2をE1とF1の間に、F2をF1とG1の間に入れて2行目を削除したい。 エクセルやアクセスなど手段はどれでもいいのですが、件数が5000件以上あるファイルが多数あり、とても手作業で出来ません。 どなたか知恵を貸してください。 よろしくお願いします。

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

Excelで一連の動作の1回分をマクロで記録して、それを元に表全体を処理するように書き加えてみました。 どうせVBAでやるならもう少しスマートなやり方がありそうですが、とりあえずこの方法はいかがでしょうか。標準モジュールにコピーし、ツール>マクロ>マクロから実行してみてください。 Sub 行結合() Dim CurrentRow As Integer CurrentRow = 1 Columns("F:F").Select Selection.Insert Shift:=xlToRight Columns("H:H").Select Selection.Insert Shift:=xlToRight While (Cells(CurrentRow + 1, 5) <> "") Range("E" & (CurrentRow + 1)).Select Selection.Cut Range("F" & CurrentRow).Select ActiveSheet.Paste Range("G" & (CurrentRow + 1)).Select Selection.Cut Range("H" & CurrentRow).Select ActiveSheet.Paste Rows(CurrentRow + 1).Select Selection.Delete Shift:=xlUp CurrentRow = CurrentRow + 1 Wend End Sub

ohyuki
質問者

お礼

ご連絡ありがとうございます。 マクロを使った方法はとても簡単でワンクリックで出来るので非常に便利でした。 でも、E2のセルに何も無いときに止まってしまいます。 最初に何行目まで処理するかを入力して何も入っていなくても その行まで処理をする感じでしたらOKでした。 でもとても便利です。参考にします。 ありがとうございました。

その他の回答 (2)

回答No.3

こんばんは。 早速ですが、手順を列記します。 1.E列とF列の間に列を追加   (これで、F列だった列がG列になります、)   (F2をF1とG1の間に入れて、がG2をG1とH1の間にいれて、となります。) 2.G列とH列の間に列を追加   (これで、H列だった列がI列になります、) 3.これで、F列とH列が空白列になります。   (ここまで、ついて来れますか?) 4.ここで(^。^)y-.。o○ 5.F1に「=E2」、H1に「=G2」と入れる。 6.F1を一番下までコピー 7.H1を一番下までコピー   (これで、E2をE1とF1の間に、F2をF1とG1の間に入れて、の形になりました。)   (ここまで、ついて来れますか?) 8.ここで(^。^)y-.。o○ ここから、いらない2行目を削除する方法です。 9.一番右の使っていない列を利用します。   (仮にX列とします。) 10.X1に「=MOD(ROW(),2)」と入れる。 11.X1を一番下までコピー    (X列には、1,0,1,0、と繰り返します。) 12.X1をクリックして、データ→フィルタ→オートフィルタを指定します。 13.X1に表示された三角矢印をクリックして、1を選択。    (これで、1,3,5,7、と必要な行のみ表示されます) 14.A1からX列の一番下までを選択して、コピーする。    (全部が選択されたデータをコピーした形になる。) 15.別の新しいシートのA1をクリックして、    形式を選択して貼り付け→値 16.これで完成。新しいシートを名前を付けて保存。 17.ここで、(^。^)y-.。o○ 質問があればお気軽に♪ ではでは!

ohyuki
質問者

お礼

ご連絡ありがとうございます。 なるほどあとから邪魔な行をソートして消せばいいんですね。 使わせて頂きます。 ありがとうございました。

  • tgn1013
  • ベストアンサー率33% (386/1137)
回答No.1

1)Excelでテキストファイル(CSVファイル)に書き出す 2)テキストエディタでマクロを記録  End , Del Home ↓ 3)マクロを繰り返し これでできたファイルを、CSVとして保存しExcelで読み込み。 同様のことはExcel上でもできますがテキストエディタの方が簡単かと。

関連するQ&A