• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELで3行を一組にして結合する方法について)

EXCELで3行を一組にして結合する方法とは?

このQ&Aのポイント
  • EXCELで大量の行を取り込む際に、3行ごとに結合する方法を知りたいです。行数が多い場合、手動での入力は時間がかかるため、効率的な方法を求めています。
  • EXCEL XP(OfficeXPに付属)を使用していますが、他のソフトでも構いません。30,000行のような大量のデータをすばやく処理する方法を教えてください。
  • 数千行のテキストを3行のセットに結合する方法を探しています。EXCELやフリーソフトなど、任意の方法で対応できるソリューションを教えてください。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんばんは! 一例です。 画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面がでますので ↓のコードをコピー&ペーストし、マクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sheet1のデータは1行目からあるとします。 Sub test() 'この行から Dim i As Long Dim ws1, ws2 As Worksheet Set ws1 = Worksheets("sheet1") '←Sheet名(Sheet1の部分)は適宜変更してください。 Set ws2 = Worksheets("sheet2") '←こちらのSheet名も適宜変更 For i = 1 To ws1.Cells(Rows.Count, 1).End(xlUp).Row Step 3 ws2.Cells(Rows.Count, 1).End(xlUp).Offset(1) = _ ws1.Cells(i, 1) & ws1.Cells(i + 1, 1) & ws1.Cells(i + 2, 1) Next i End Sub 'この行まで お役に立てば良いのですが・・・m(__)m

Martha99809
質問者

お礼

自宅のEXCELのVerが違うためか、マクロを実行できるようにするために少し手間取りましたが、希望通りのものが実行できました! とっても感激です。 本当にありがとうございました!!

その他の回答 (12)

回答No.2

参考ページはたくさんありますが すぐ役立つ エクセルVBAマクロ集 http://www.asahi-net.or.jp/~zn3y-ngi/ こちらで使い方などを調べて(VBAマクロというのはオフィスに標準でパッケージされてるのですぐ使えます) 以下のページを参考にマクロを作ればいいのではないでしょうか? Macro コピー http://www.asahi-net.or.jp/~zn3y-ngi/YNxv20009.html 異なるシート間で範囲指定してコピーして貼り付けるには? http://www.asahi-net.or.jp/~zn3y-ngi/YNxv991.html 7.2 データがある最終行を知る方法 http://www.happy2-island.com/excelsmile/smile03/capter00702.shtml 文字列の結合 http://www.officepro.jp/excelvba/basic/index7.html このあたりを参考にして 1:元シート(仮にAとして)の文字列を3行分結合する 2:Bシートに1の結果を書き込む 3:Aシートのデータ行が終わるまで、1~2の動作を繰り返す こんな感じのものを作れば、ボタン一つで質問主様の意図する動作を行わせることができると思います。

Martha99809
質問者

お礼

早速お教え頂きありがとうございます! 今後も色々と使えそうなサイトをご紹介いただき、ありがとうございます。 これらを参考に、試してみます。 本当にありがとうございました!

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

1)テキストを読み込んだシートを仮に[Sheet1]とします。適宜読み替えてください。 2)シートを追加します。このシートを仮に[Sheet2]とします。 3)sheet2のセルa1に、以下をコピペしてください。 式[=indirect("Sheet1!A"&(row()-1)*3+1)&indirect("Sheet1!A"&(row()-1)*3+2)&indirect("Sheet1!A"&(row()-1)*3+3)] 4)シート2のセルA1の右下(セルA2左下・セルB1の右上・セルB2の左上)に■があるので、マウスで下方向に必要なだけドラッグ。 これでSheet1の列Aが3行単位で連結されてSheet2のセルA1以降に表示されます。 以下必要に応じて。 5)Sheet2の列Aをコピー 6)どこかに、「形式を選択して貼り付け」-「値」で式の結果が値として保存されます。

Martha99809
質問者

お礼

早速教えて頂き、ありがとうございます。 自宅のEXCELはVerが異なるのですが、それでも問題なく希望通りのものができました。 休み明けに会社のPCで試してみます。 本当にありがとうございました!!

関連するQ&A