目次
Microsoft Excelでは、複数の列を1つの列に結合するのに適した方法がいくつかあります。 この記事では、複数の列から1つの列にデータを結合するためにさまざまなアプローチを適用する方法を、例と適切な図解で学びます。
練習用ワークブックをダウンロードする
この記事の作成に使用したExcelワークブックをダウンロードすることができます。
複数の列を1つの列にまとめる.xlsxExcelで複数の列を1つの列にまとめる6つのアプローチ
1.Excelで複数の列を結合するCONCATENATEまたはCONCAT関数の使用法
次の図では、3つの列が分割されたランダムなアドレスを表しています。 各行をマージして、意味のあるアドレスを E列 の下に 合体テキスト ヘッダを表示します。
を使用することができます。 CONCATENATE または CONCAT 関数を使用することで、その目的を果たすことができます。 最初の出力では セルE5 の場合、必要な計算式は次のようになります。
=concatenate(b5,c5,d5)です。
あるいは
=concat(b5,c5,d5)
を押した後 入力 を使用し フィルハンドル の残りのセルをオートフィルする。 E列 とすると、下図のように結合された1つのカラムが得られます。
関連コンテンツ Excelで2つ以上のセルから1つのセルにテキストを結合する(5つの方法)
2.アンパサンド(&)による複数列の1列化
を使用することもできます。 アンパサンド(&) セル内のテキストに区切り記号がないと仮定して、行のテキストを結合するときには、区切り記号を挿入する必要があります。
出力において セルE5 を使って、必要な数式を作成します。 アンパサンド(&) になります。
=B5&」、「&C5&」、「&D5
プレス 入力 を自動入力します。 E列 をクリックすると、結合されたすべてのテキストがすぐに1つのカラムに収まります。
3.Excelで複数の列を1列にまとめるTEXTJOIN関数を挿入する
を使用している場合 エクセル2019 または Excel 365 であれば テキストジョイン 機能もまた、目的に合った素晴らしい選択肢です。
で複数のテキストを結合するために必要な式。 テキストジョイン での機能 セルE5 になります。
=textjoin(", ",true,b5,c5,d5)です。
を押した後 入力 の最後のセルまでドラッグダウンしてください。 E列 とすると、連結されたテキストが一度に1つのカラムに表示されます。
4.エクセルで複数の列を1つの列に積み重ねる
このデータセットには,4つのランダムな列があります. B列 まで E列 .下 コンバイン・コラム ヘッダから値をスタックします。 第4、5、6回 つまり、1つの列の中にすべてのデータを積み重ねるのです。
📌 ステップ1.
➤ セルの範囲を選択する (B4:E6) を含む。
➤ テキストで名前を付けます。 ネームボックス .
📌 ステップ2.
➤ 出力において セルG5 を入力し、次の数式を入力します。
=INDEX(データ,1+INT((ROW(A1)-1)/COLUMNS(データ)),MOD(ROW(A1)-1+COLUMNS(データ)),COLUMNS(データ))+1)
📌 ステップ3.
➤ プレス 入力 で4行目から最初の値を取得します。 セルG5 .
➤ 今すぐ使える フィルハンドル を見つけるまで、列に沿ってドラッグダウンしてください。 #レフ のエラーが発生しました。
そして最後に、次のような出力が表示されます。
🔎 フォーミュラの仕組みは?
- COLUMNS(データ)。 があります。 コロンブス 関数の内部で モデル は,指定された範囲内で利用可能な列の総数を返します。 (データ) .
- ROW(A1)-1+COLUMNS(Data)です。 の組み合わせは 列 と コロンブス の配当を定義しています。 モデル 関数を使用します。
- MOD(ROW(A1)-1+COLUMNS(Data), COLUMNS(Data))+1。 の列番号を定義する部分です。 INDEX を返し、出力には '1' .
- 1+INT((ROW(A1)-1)/COLUMNS(Data)): の行番号。 INDEX 関数は、この部分によって指定されます。 イント 関数は結果の値を整数に切り上げる。
5.メモ帳を利用してExcelの列データを結合する
また メモ帳 を使って、複数の列を1つの列にまとめることができます。 次の手順で行ってみましょう。
📌 ステップ1.
➤ セルの範囲を選択する (B5:D9) を含む。
➤ プレス CTRL+C をクリックして、選択したセル範囲をコピーします。
📌 ステップ2.
➤ ノートパッドファイルを開く。
➤ペースト CTRL+V をクリックすると、選択したデータをここに貼り付けることができます。
📌 ステップ3.
➤ プレス CTRL+H を開いてください。 交換 ダイアログボックスを表示します。
➤ メモ帳ファイル内の脇の2つのテキスト間のタブを選択し、コピーする。
➤ 貼り付けます。 を探す ボックスを使用します。
📌 ステップ4.
➤タイプ ", " において に置き換えてください。 ボックスを使用します。
➤ オプションを押す すべて交換 で終了です。
メモ帳ファイルにあるすべてのデータは、次の図のようになります。
📌 ステップ5.
➤ ここで、メモ帳からテキストを丸ごとコピーします。
📌 ステップ6.
➤ そして最後に、出力に貼り付けます。 セルE5 あなたの中の エクセル 表計算ソフト
の結果データ E列 は以下のようになります。
6.VBAスクリプトを使って、Excelで列を1列に結合する
また ブイビーエー メソッドを使って、複数の列を1つの列に重ねることができます。 次の図では G列 は、スタックしたデータを表示します。
📌 ステップ1.
➤ ワークブックのシート名を右クリックし 表示コード .
新しいモジュールウィンドウが表示されますので、そこに以下のコードを貼り付けてください。
Option Explicit Sub StackColumns() Dim Rng1 As Range Dim Rng2 As Range Dim Rng As Range Dim RowIndex As Integer Set Rng1 = Application.Selection Set Rng1 = Application.InputBox("Select Range:", "Stack Data into One Column", Rng1.Address, Type:=8) Set Rng2 = Application.InputBox("Destination Column:", "Stack Data into One Column", Type:=8) RowIndex = 0 Application.ScreenUpdating = False For EachRng In Rng1.Rows Rng.Copy Rng2.Offset(RowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True RowIndex = RowIndex + Rng.Columns.Count Next Application.CutCopyMode = False Application.ScreenUpdating = True End Sub
📌 ステップ2.
➤ コードを貼り付けたら、 を押します。 F5 を実行してください。
➤ マクロの名前を マクロ ダイアログボックスを表示します。
➤ プレス 実行 .
📌 ステップ3.
➤ データの主な範囲を選択する (B4:E6) において 範囲を選択 ボックスを使用します。
➤ プレス よっしゃー .
📌 ステップ4.
➤ 出力の選択 セルG5 を有効にした後 デスティネーションコラム ボックスを使用します。
➤ プレス よっしゃー で終了です。
次の図のように、出力欄に結合され積み重ねられたデータが表示されます。
結びの言葉
以上、簡単な方法をご紹介しましたが、これからは必要な時にExcelのスプレッドシートで応用していただければと思います。 もし、ご質問やご意見がありましたら、コメント欄でお知らせください。 または、本サイトのExcel関数に関連する他の記事もご覧になってみてください。