メインコンテンツへスキップ

Excelでスペース、コンマ、またはその他の区切り文字を含むセルに複数のセルを組み合わせる方法は?

複数の列または行のセルをXNUMXつのセルに結合すると、結合されたデータは何も分離されない場合があります。 しかし、スペース、コンマ、セミコロンなどの指定されたマークでそれらを区切りたい場合は、どうすればよいでしょうか。 このチュートリアルでは、いくつかの方法を紹介します。


数式を使用して、セルの行または列をスペース、コンマ、またはその他の区切り文字でXNUMXつのセルに連結します

Excelでは、次の数式を使用して、セルの行またはセルの列をXNUMXつのセルに結合できます。


方法A:「&」演算子を使用してセルを結合する

Excelでは、「&」演算子を使用して、さまざまなテキスト文字列またはセル値を組み合わせることができます。

以下の数式を入力して、複数の列のセルを連結してください:(結合された結果をスペースで区切ります。必要に応じて、空白を他の区切り文字に置き換えることができます)。

=A2&" "&B2&" "&C2

次に、塗りつぶしハンドルをこの数式を適用するセルまでドラッグすると、さまざまな列のデータがXNUMXつのセルにマージされます。スクリーンショットを参照してください。

  • ヒント:
  • 上記の式では、&演算子の間の空白を、次のような他の区切り文字に置き換えることができます。 =A2&"-"&B2&"-"&C2
  • 複数の行のセル値を組み合わせる必要がある場合は、セル参照を次のように変更する必要があります。 =A2&" "&A3&" "&A4&" "&A5&" "&A6&" "&A7

方法B:連結関数を使用してセルを結合する

Excelの連結関数は、複数のテキスト文字列またはセル値をXNUMXつのセルに結合するためにも使用されます。

以下の数式を空白のセルに入力またはコピーしてください。

=CONCATENATE(A2, "-", B2, "-", C2)

次に、この数式を適用するセルまで塗りつぶしハンドルを下にドラッグすると、次の結果が得られます。

  • ヒント:
  • 上記の式では、「-」文字を次のような他の区切り文字に置き換えることができます。 =CONCATENATE(A2, ";", B2, ";", C2)
  • 複数の行のセル値を組み合わせる必要がある場合は、セル参照を次のように変更する必要があります。 =CONCATENATE(A2, "-", A3, "-", A4, "-", A5, "-", A6, "-", A7)

方法C:Textjoin関数を使用してセルを結合する

Excel 365以降のバージョンを使用している場合は、新しい関数であるTextjoinがあります。この関数は、複数のセルをXNUMXつのセルに結合するのにも役立ちます。

次の数式を空白のセルに入力またはコピーします。

=TEXTJOIN(",",TRUE,A2:C2)

次に、塗りつぶしハンドルをドラッグして、この数式を他のセルに適用します。スクリーンショットを参照してください。

  • ヒント:
  • 上記の数式では、「、」文字を次のような他の区切り文字に置き換えることができます。 =TEXTJOIN("/",TRUE,A2:C2)
  • 複数の行のセル値を組み合わせるには、セル参照を次のように変更する必要があります。 =TEXTJOIN(",",TRUE,A2:A7)
  • このTEXTJOINは、次のように、セルの範囲を区切り文字でXNUMXつのセルに結合することもできます。 =TEXTJOIN(",",TRUE,A2:C7)

指定した区切り文字を使用して、セルの行、列、または範囲をXNUMXつのセルに連結します

Kutools for Excel 強力な機能をサポート-組み合わせる これは、データを失うことなく、行、列、またはセルの範囲に基づくすべてのデータをXNUMXつのレコードにマージするのに役立ちます。 以下のデモをご覧ください。    クリックしてKutoolsfor Excelをダウンロードしてください!


ユーザー定義関数を使用して、セルの行または列をスペース、コンマ、またはその他の区切り文字でXNUMXつのセルに連結します。

Excelでは、ユーザー定義関数を作成して、行または列のセルをスペースまたは指定されたマークのある単一のセルに結合することもできます。

1。 ホールド Alt + F11 キーボードのキーを開いて アプリケーション用 Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、VBAをモジュールにコピーします。

VBA:行または列に基づくセルを特定の区切り文字でXNUMXつに結合します。

Function Combine(WorkRng As Range, Optional Sign As String = "~") As String
Dim Rng As Range
Dim OutStr As String
For Each Rng In WorkRng
    If Rng.Text <> " " Then
        OutStr = OutStr & Rng.Text & Sign
    End If
Next
Combine = Left(OutStr, Len(OutStr) - 1)
End Function

先端:上記のスクリプトでは "Function Combine(WorkRng As Range, Optional Sign As String = "~") As String"、セパレータ"~"は、結合された結果を分離するために指定されています。必要に応じて変更できます。

3。 次に、数式を入力してください =Combine(A2:C2) 空白のセルで、この数式を適用する範囲に塗りつぶしハンドルをドラッグすると、行のすべてのセルがダッシュ付きのセルに結合されます。 スクリーンショットを参照してください:

ヒント:上記のユーザー定義関数を使用すると、列に基づいてセル値を組み合わせることができます。この数式を入力するだけです。 =Combine(A2:A7) 必要に応じてマージされたデータを取得します。


数式を使用して、セルの行または列を改行してXNUMXつのセルに連結します

場合によっては、改行を使用して連結されたテキスト文字列を区切ることができます。通常、CHAR(10)は改行文字を返します。 ここでは、以下の方法を使用してこのタスクを解決できます。


方法A:連結関数を使用してセルを改行で結合します

ここでは、連結関数とChar(10)文字を組み合わせて、改行で区切られたマージ結果を取得できます。

1。 以下の式を入力またはコピーしてください。

=CONCATENATE(A2,CHAR(10),B2,CHAR(10),C2)

次に、塗りつぶしハンドルをこの数式を適用するセルまでドラッグすると、次の結果が得られます。

2。 次に、をクリックする必要があります ホーム > テキストを折り返す セルをフォーマットすると、必要に応じて結果が得られます。

ヒント:複数の行のセル値を組み合わせるには、セル参照を次のように変更する必要があります。 =CONCATENATE(A2,CHAR(10),A3,CHAR(10),A4,CHAR(10),A5,CHAR(10),A6,CHAR(10),A7)


方法B:Textjoin関数を使用して、セルを改行で結合します(Excel 365以降のバージョン)

複数のセルを組み合わせる必要がある場合、上記の数式はやや難しいかもしれません。そのため、Textjoin関数はこのタスクをすばやく簡単に処理できます。

以下の数式を空白のセルに入力またはコピーしてください。

=TEXTJOIN(CHAR(10),TRUE,A2:C2)

結合された結果を取得したら、数式セルを次のようにフォーマットすることを忘れないでください テキストを折り返す、スクリーンショットを参照してください:

ヒント:複数の行のセル値を組み合わせるには、セル参照を次のように変更する必要があります。 =TEXTJOIN(CHAR(10),TRUE,A2:A7)


すばらしい機能を使用して、セルの行、列、または範囲を指定された区切り文字でXNUMXつのセルに連結します

上記の式やコードに悩まされている場合は、ここで、便利なツールをお勧めします- Kutools for Excelそのと 組み合わせる この機能を使用すると、行、列、または範囲ごとにセル値をXNUMXつのセルにすばやく組み合わせることができます。

ヒント:これを適用する 組み合わせる 機能、まず、ダウンロードする必要があります Kutools for Excel、次に機能をすばやく簡単に適用します。

インストールした後 Kutools for Excel、次のようにしてください。

1。 セルに結合する範囲セル値を選択します。

2。 クリックしてこの機能を適用してください クツール > マージ&スプリットデータを失うことなく行、列、またはセルを組み合わせる。 スクリーンショットを参照してください:

docはデータをコンマで結合します9

3。 ポップアウトされたダイアログボックスで、次のスクリーンショットのように必要な操作を指定してください。

4。 次に、をクリックします。 Ok、以下のスクリーンショットのような結果が得られます。

1)。 セル値を各行のXNUMXつのセルに結合します。

2)。 セルの値を列ごとにXNUMXつのセルに結合します。

3)。 セル値の範囲をXNUMXつの単一セルに結合します。

クリックしてKutoolsfor Excelと無料トライアルを今すぐダウンロードしてください!


より相対的な行と列の組み合わせの記事:

  • Excelでデータを失うことなく行をマージおよび結合する
  • 「マージと中央揃え」コマンド([ホーム]タブ> [配置]パネルの[マージと中央揃え])を適用してExcelのデータ行をマージした場合、Excelは左上のセルにのみデータを保持します。 ユーザーは別の方法を使用して、データを削除せずにデータの複数の行をXNUMXつの行にマージする必要があります。
  • 重複する行を組み合わせてExcelで値を合計する
  • Excelでは、次のスクリーンショットに示すように、重複するエントリを含むデータの範囲があり、重複するデータを結合して対応する値を別の列に合計する場合、常にこの問題が発生する可能性があります。 この問題をどのように解決できますか?
  • Excelで日付と時刻をXNUMXつのセルに結合する
  • 以下に示すように、ワークシートにはXNUMXつの列があり、XNUMXつは日付、もうXNUMXつは時間です。これらのXNUMXつの列をすばやく結合して、時間形式を維持する方法はありますか?
  • セルを連結すると、Excelで空白が無視またはスキップされます
  • Excelの連結関数を使用すると、複数のセル値をXNUMXつのセルにすばやく結合できます。選択したセル内に空白のセルがある場合、この関数は空白も結合します。 しかし、セルをデータと連結して空のセルをスキップしたい場合は、Excelでどのように終了できますか?

  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする およびデータの保持。 分割セルコンテンツ; 重複する行と合計/平均を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • お気に入りの数式をすばやく挿入する、範囲、チャート、写真; セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • ピボットテーブルのグループ化 週番号、曜日など... ロック解除された、ロックされたセルを表示する さまざまな色で; 式/名前を持つセルを強調表示する...
kteタブ201905
  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
Comments (34)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I would like to know if I have a list of people with their information in different cells in one column but different row how to combine them in one cell For e,g I have one person teaching English, math and science and his name is repeated in one column but the courses are in different rows so I want to combine all the courses in one cell for that teacher. if I have 50 teachers I need to have all the courses that the teacher is teaching in one cell.
This comment was minimized by the moderator on the site
Hi, Lavina,
Do you mean to combine multiple cell values in a column based on duplicate names in another column as below screenshot shown:

You can insert a screenshot to make your problem more intuitive.
This comment was minimized by the moderator on the site
This is exactly what I'm looking for. Is this problem solved?
This comment was minimized by the moderator on the site
Hi, Piotr,
To solve this problem, maybe the following article can help you, please check it:
https://www.extendoffice.com/documents/excel/2723-excel-concatenate-based-on-criteria.html
This comment was minimized by the moderator on the site
VBA doesn't work for me, excel 2016.
This comment was minimized by the moderator on the site
Working on trying to get your VBA code to work however I keep getting a #NAME? error. How do I fix this? I've used this code before and it worked wonderfully but now it gives me an error.
This comment was minimized by the moderator on the site
But it is not working for large data. I have around 50000 rows to combine in single cell.
This comment was minimized by the moderator on the site
415xxe 5687sdc sa4567 415xxe 5687sdc sa4567 415xxe 5687sdc sa4567 415xxe 5687sdc sa4567 I need to separate these in different columns and then put a comma behind the last column
This comment was minimized by the moderator on the site
The VBA code does not work I get an error Microsoft Visual Basic for Applications - Compile error: Syntax error then the line "If Rng.Text "," Then" is highlighted in blue and on the top highlighted in yellow it says this "function combine(workrng as range, optional sign as string = ",") as string I am using excel 2016 on a pc
This comment was minimized by the moderator on the site
I genuinely enjoy studying on this website, it holds good content. Never fight an inanimate object. by P. J. O'Rourke. dfdkbafbadfkagdd
This comment was minimized by the moderator on the site
how to combine 2 cell with space in between with 2 independent cell format. Eg. If one cell is Red digits & other cell has digits in green, it should combine with Red & green digits.
This comment was minimized by the moderator on the site
The VBA code worked really well thanks. My only issue is that it is including blanks so that my combined output ends up looking like this: "test, test, , , , , , test" How could I get it to exclude blank cells within the range?
This comment was minimized by the moderator on the site
If you found the answer let me now please as well.
This comment was minimized by the moderator on the site
instead of the line in the original code:

If Rng.Text <> ", " Then
OutStr = OutStr & Rng.Text & Sign


you need to add a "test" to determine if the cell is empty followed by the statement above which adds the delimiter. Delete the above 2 lines and then Copy the following code in and your COMBINE function will remove the blanks from your list.

If IsEmpty(Rng.Value) = True Then

OutStr = OutStr & ""

ElseIf Rng.Text <> ", " Then

OutStr = OutStr & Rng.Text & Sign
This comment was minimized by the moderator on the site
The VBA macro worked very well after I adjusted for the my cell locations and I was able to add a space after the comma for a better display of the data.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations