• 締切済み

エクセルで、列を連結するには

エクセルの住所録で、 番号 マンション名 住所が、300行あります。この、番号、マンション名、住所を1つのセルに、1行づつ、300行全て、まとめたいのですが、どのようにすればできるでしょうか。

みんなの回答

回答No.3

'マクロでもできマス。区切り文字が必要なければブランクに。 'ターゲットとソースの列は重なっていてもできるようです。(暴走に注意!) 'サンプルはターゲット:A列、ソース:B列~D列、1~300行、区切り文字:\\ Sub JointItems() Const xTarget = 1 Const xFrom = 2 Const xTo = 4 Const yFrom = 1 Const yTo = 300 Const xDelim = "\\" '区切り文字 Dim xx As Long Dim yy As Long Dim wBuff As Variant Application.ScreenUpdating = False For yy = yFrom To yTo wBuff = "" '最初はグーゥ For xx = xFrom To xTo - 1 wBuff = wBuff & Cells(yy, xx) & xDelim Next wBuff = wBuff & Cells(yy, xTo) Cells(yy, xTarget) = wBuff '終りよければすべてよし Next Columns(xTarget).EntireColumn.AutoFit Application.ScreenUpdating = True End Sub

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

番号、マンション名、住所がそれぞれB列、C列、D列にあるとしたら例えばE1セルに次の式を入力して下方にドラッグコピーします。 =D1&" "&C1&" "&B1 住所、マンション、番号の間にそれぞれスペースが入るようにしています。 それらの操作の後でB列、C列およびD列を削除するのでしたらE列を選択して右クリックして「コピー」し、E1セルを選択してから「形式を選択して貼り付け」で「値」にチェックをして貼り付けをします。その後にB,C,D列を削除します。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

シート1のA1からC300までデータがあるとしますね。 一番簡単な手順: シート2のA1に =Sheet1!A1&","&Sheet1!B1&","&Sheet1!C1 と記入、A300までコピー貼り付ける。(必要に応じて「&","」とか要らなきゃ無くてもいいです) 必要に応じてコピーして形式を選んで値のみ貼り付けて値化する。

関連するQ&A