この記事ではエクセルで複数行を1行にまとめる方法ついて解説していきます。
ポイントは、以下の通りです。
・文字の割付を使う方法
・CONCAT関数を使う方法
・マクロを使う方法
それではさっそく見ていきましょう。
エクセルで2行を1行にまとめる方法【文字の割付】
サンプルとして都道府県と市区町村がそれぞれ表示されている表があり、「東京都」と「新宿区」が2行に記載されています。
これを1行にまとめてみましょう。
2つの文字が入るようにB列のセル幅を広げます。
まとめるセルB1,B2を選択してホームタブのフィルより「文字の割付」をクリックしてください。
B1セルに「東京都」「新宿区」がまとめられました。
2行以上をまとめる際もセル幅を文字が入るだけ広くして、まとめたいセルを選択して同じ動作を行えばOKです。
この方法は数値や数式が入力されているセルには使えないことに注意してください。
エクセルで2行を1行にまとめる方法【CONCAT 関数】
次に関数を使った方法を紹介します。
CONCAT関数は別々のセルに入力された文字列をつなげる関数です。
次の数式で表されます。
( )内はまとめたいセルを入力します。
サンプルの表の3行目に1行目と2行目の文字をまとめた行を追加します。
B3セルに以下の数式を入力してください。
Enterキーを押すとセルの文字がまとめられます。
B3セルに「東京都」と「新宿区」がまとめられました。
この方法は数値にも使用することができます。
エクセルで2行を1行にまとめる方法【マクロ】
続いてマクロを使って複数行を1行にまとめる方法を紹介します。
コードを分かりやすくするため、今回は表の一行目に複数行のまとめが表示されるようにします。
以下のコードをVBE画面に貼り付けましょう。
Sub MergeRows()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row
Cells(1, 2) = WorksheetFunction.Concat(Range(Cells(2, 2), Cells(lastRow, 2)))
End Sub
マクロを実行すると、B1セルに「東京都」と「新宿区」がまとめられます。
このマクロの処理の流れは以下の通りです。
1. `lastRow`変数にB列の最終行番号を取得
2. `Cells(1,2)=WorksheetFunction.Concat(Range(Cells(2,2),Cells(lastRow,2)))`で
B1セルにCONCAT関数を入力
選択範囲はB2セルからB列最終行のセル(今回はB3セル)まで
このマクロを実行すると、B列の2行目から最終行までのセルに入っている文字(または数字)がB1セルにまとめられるという処理が行われます。
マクロを実行する前に、必ずデータのバックアップを取っておくことをおすすめします。
そうすれば、もしマクロの実行結果が意図したものと違った場合でも、元のデータに戻すことができます。
エクセルで2行を1行にまとめる(複数行:3行のデータ:結合:文字列:セル:関数など)方法
この記事では、エクセルで複数行のデータを1行にまとめる方法を紹介しました。
ぜひ活用して業務の効率化につなげてみてください。
コメント