excel

【Excel】エクセルで文字をくっつける方法(関数でaとbの文字列連結・2つの列・セルの結合・複数セルの内容を1つに・スペース追加)

当サイトでは記事内に広告を含みます

エクセルで複数のセルに分かれた文字情報を一つにまとめたい、あるいは特定の区切り文字を挟んで連結したいと感じたことはありませんか?

氏名、住所、商品コードなど、ビジネスシーンでは異なるデータを効率よく結合するニーズが頻繁に生じます。

手作業で一つひとつコピー&ペーストを行うのは時間がかかり、ヒューマンエラーの原因にもなりかねません。

本記事では、Excelで文字を「くっつける」ための様々な方法について、初心者の方でも理解しやすいように詳しく解説していきます。

セルの結合から、便利な関数、さらにはVBAを使った高度な自動化まで、あなたの目的に合った最適な解決策がきっと見つかるでしょう。

これらのテクニックを習得して、日々の業務効率を格段に向上させませんか。

エクセルで視覚的にセルを結合する方法【セルの結合】

それではまず、エクセルで複数のセルを視覚的に一つにまとめる「セルの結合」について解説していきます。

この方法は、表のヘッダーなどで複数の列をまとめた見出しを作成したい場合などに非常に便利です。

ただし、データ処理の観点からは注意が必要な点もありますので、そのあたりもしっかりと確認していきましょう。

セルの結合の基本操作

セルの結合は、選択した複数のセルを一つの大きなセルとして表示する機能です。

例えば、A1セルとB1セルに分かれた見出しを一つの「商品情報」という見出しにしたい場合に活用できます。

ここでは、次のサンプルデータを使って、具体的な操作手順を見ていきましょう。

部署名
営業部 山田 太郎
開発部 佐藤 花子
企画部 田中 次郎

仮に、この表のヘッダー部分で「姓」と「名」の上位に「氏名」という一つの見出しを設定したいとしましょう。

まず、結合したいセル範囲(この例では「姓」と「名」の上、C1とD1など、適切なセル)を選択します。

次に、Excelのリボンにある「ホーム」タブをクリックしてください。

「配置」グループの中に「セルを結合して中央揃え」というボタンがありますので、そちらをクリックするだけで結合が完了します。

ホームタブの「セルを結合して中央揃え」
書式 条件付き書式 テーブルとして書式設定
セルのスタイル 挿入 セルを結合して中央揃え
削除 書式 オートSUM

「セルを結合して中央揃え」ボタンをクリックすると、選択範囲が結合され、文字が中央に配置されます。

このボタンをクリックすると、選択した複数のセルが一つになり、文字が自動的に中央揃えで配置されるでしょう。

これで、視覚的に美しい見出しを作成できました。

結合の解除と注意点

セルの結合は便利な反面、注意すべき点もいくつか存在します。

最も重要なのは、結合されたセルには、元の複数のセルのうち、左上隅のセルのデータしか残らないという点です。

例えば、A1に「東京」、B1に「支社」と入力されている状態でA1とB1を結合すると、結合後のセルには「東京」のみが残り、「支社」は失われてしまうので、必ず事前に内容を確認しましょう。

また、結合されたセルは、データの並べ替えやフィルタリング、他の関数での参照において問題を引き起こすことがあります。

そのため、データ入力や分析が主目的のシートでは、セルの結合は避けるのが賢明と言えるでしょう。

セルの結合を解除したい場合は、結合されたセルを選択し、「ホーム」タブの「セルを結合して中央揃え」ボタンをもう一度クリックするだけです。

ドロップダウンメニューから「セルの結合を解除」を選択することも可能です。

結合と同時に中央揃えにする方法

「セルを結合して中央揃え」ボタンは、その名の通り結合と中央揃えを同時に行ってくれます。

しかし、中央揃えではなく、左揃えや右揃えにしたい場合もあるかもしれません。

そのような時は、まずセルを結合した後で、別途配置を変更する方法があります。

「セルを結合して中央揃え」のボタン横にある小さな下向き矢印をクリックすると、以下のようなオプションが表示されます。

結合して中央揃え: 選択範囲を結合し、内容を中央に配置します。

セルを横方向に結合: 各行内で選択範囲を結合します。列をまたいで結合し、行ごとに見出しを作りたい場合に便利です。

セルの結合: 選択範囲を結合し、元の左揃えなどの配置を維持します。

セルの結合を解除: 結合されたセルを元の状態に戻します。

もし結合後に中央揃え以外の配置にしたい場合は、「セルの結合」を選び、その後に「ホーム」タブの「配置」グループにある左右揃えのボタンで調整できます。

【操作のポイント】
セルの結合は見た目を整えるのに有効ですが、データ処理には不向きな場合があります。結合する際は、データの消失や後工程への影響に注意し、必要に応じて結合を解除する方法も覚えておきましょう。

複数の文字列をシンプルに連結する「&(アンパサンド)演算子」

続いては、エクセルで複数の文字列を関数を使わずに、シンプルに連結する方法として「&(アンパサンド)演算子」を確認していきます。

この方法は非常に直感的で、日常的にエクセルを使っている方であれば、ぜひマスターしておきたいテクニックの一つです。

先ほどのセルの結合が「見た目を一つにする」のに対し、&演算子は「複数の文字データを一つに結合する」のが特徴と言えるでしょう。

&演算子の基本的な使い方

&演算子は、2つ以上の文字列やセルの内容を結合するために使用します。

その書き方は非常に簡単で、結合したい対象を「&」で繋ぐだけです。

例えば、「姓」と「名」を結合して「フルネーム」を作成したい場合に威力を発揮します。

先ほどのサンプルデータを使って、「姓」と「名」を結合してみましょう。

G2セルに山田太郎さんのフルネームを作成すると仮定します。

この場合、G2セルに以下の数式を入力するだけで、それぞれのセルに入力された文字が連結されます。

=C2&D2

この数式をG2セルに入力してEnterキーを押すと、「山田太郎」という結果が表示されるでしょう。

数式を直接入力する代わりに、セルをクリックして参照することも可能です。

例えば、G2セルに「=」と入力し、C2セルをクリック、次に「&」と入力し、D2セルをクリックするという手順でも同じ数式が作成できます。

これは、手軽に文字列を結合する最も一般的な方法の一つです。

数式入力とオートフィル
A B C D E
部署名 =C2&D2
営業部 山田 太郎 山田太郎
開発部 佐藤 花子 佐藤花子
企画部 田中 次郎 田中次郎

E2セルに数式を入力後、セルの右下にあるフィルハンドルをドラッグしてオートフィルを実行します。

スペースや区切り文字を挿入する方法

「山田太郎」と連結されただけでは、姓と名の区別がつきにくい場合があるでしょう。

このような時には、スペースや特定の区切り文字を間に挿入することで、より読みやすい文字列を作成できます。

文字列を直接数式に含める場合は、必ず「”」(ダブルクォーテーション)で囲む必要があることに注意してください。

例えば、姓と名の間を全角スペースで区切りたい場合は、G2セルに次の数式を入力します。

=C2&” ”&D2

この数式の結果は、「山田 太郎」となり、見やすさが向上します。

また、部署名と氏名を「:」で区切りたい場合は、以下のように記述することも可能です。

=A2&”:”&C2&” ”&D2

この結果は「営業部:山田 太郎」となるでしょう。

このように、&演算子を使うことで、セルの内容だけでなく、任意の文字やスペースを自由に挿入しながら複数の要素を柔軟に結合できます。

数値や日付の連結時の注意点

&演算子は非常に便利ですが、数値や日付を連結する際にはいくつかの注意点があります。

エクセルは、日付や時刻を内部的にはシリアル値という数値で管理しています。

そのため、日付のセルを&演算子で結合すると、日付として認識されず、シリアル値として結合されてしまうのです。

例えば、あるセルに「2023/04/01」と入力されており、別のセルに「開始日」という文字列があるとします。

これを「=”開始日”&A1」のように結合すると、「開始日45018」のような結果になってしまうでしょう。

この問題を解決するには、TEXT関数を使って数値や日付の書式を指定してから連結する方法があります。

TEXT関数は、数値や日付を指定した書式設定の文字列に変換する関数です。

上記の例であれば、「=”開始日”&TEXT(A1,”yyyy/mm/dd”)」とすることで、「開始日2023/04/01」と正しく表示させることが可能です。

数値についても同様で、通貨やパーセンテージなどの書式を持つ数値を結合する際は、TEXT関数で書式を整えてから連結すると良いでしょう。

【操作のポイント】
&演算子は直感的に使え、スペースや区切り文字の挿入も容易です。ただし、数値や日付を結合する際は、意図しない表示になるのを防ぐため、TEXT関数で書式を整えるように意識してください。

古典的な文字列連結関数「CONCATENATE関数」

続いては、エクセルで文字列を連結する古典的な関数である「CONCATENATE関数」を確認していきます。

この関数は、&演算子と同様に複数の文字列を結合する目的で使用されますが、関数の形式をとるため、より多くの引数を扱う際に整理された形で記述できるメリットがあります。

CONCATENATE関数の基本構文

CONCATENATE関数は、結合したい文字列やセル参照を引数としてカンマで区切って指定します。

その基本的な構文は以下の通りです。

CONCATENATE(文字列1, [文字列2], …)

「文字列1」は必須の引数で、結合する最初の項目です。

「文字列2」以降は省略可能で、最大255個までの項目を結合できます。

先ほどの例と同様に、C2セルの「姓」とD2セルの「名」を結合して「山田太郎」を作成する場合を考えてみましょう。

G2セルに次の数式を入力します。

=CONCATENATE(C2,D2)

この数式を実行すると、&演算子を使った場合と同じく「山田太郎」という結果が得られるでしょう。

間にスペースを挿入したい場合は、以下のようにダブルクォーテーションで囲んだスペースを引数として追加します。

=CONCATENATE(C2,” ”,D2)

このようにすることで、「山田 太郎」と表示させることが可能です。

CONCATENATE関数は、複数の要素を結合する際に、それぞれの要素が引数として明確に区切られるため、数式の可読性が高まるという利点があります。

&演算子との違いと使い分け

CONCATENATE関数と&演算子は、どちらも文字列を連結するという同じ目的を果たしますが、いくつかの違いがあります。

主な違いとしては、まず書き方が挙げられます。

&演算子は演算子なので、文字列の間に直接「&」を挟みますが、CONCATENATE関数は関数なので、すべての引数をカッコの中にカンマ区切りで記述します。

また、CONCATENATE関数は複数のセル範囲をまとめて指定する機能がありません。

例えば、A1からC1までのセルを結合したい場合、CONCATENATE(A1,B1,C1)と一つずつ指定する必要がありますが、後の項目で説明するCONCAT関数やTEXTJOIN関数では、A1:C1のように範囲指定が可能です。

使い分けとしては、結合する項目が2、3個程度であれば、直感的に記述できる&演算子の方が手軽で使いやすいでしょう。

しかし、結合する項目が多くなり、かつ個々の項目が明確な意味を持つ場合は、CONCATENATE関数の方が数式が読みやすく、管理しやすくなる傾向があります。

例えば、「報告書番号」と「日付」と「担当者名」と「バージョン」などを結合して一つの管理コードを作成する場合などは、CONCATENATE関数の方が引数が分かりやすいと感じるかもしれません。

複数のセル範囲を連結する際の限界

先述の通り、CONCATENATE関数は複数のセル範囲を一度に指定して結合することができません。

これは、引数として指定できるのが個々の文字列やセル参照に限られるためです。

もしA1からE1までの5つのセルを結合したい場合、CONCATENATE(A1,B1,C1,D1,E1)というように、すべてのセルを個別に引数として記述しなければなりません。

これは、結合したいセルの数が増えれば増えるほど、数式が長くなり、入力の手間も増えるということを意味します。

多数のセルをまとめて結合したい場合には、次に紹介するCONCAT関数やTEXTJOIN関数のような、範囲指定に対応した関数を利用する方がはるかに効率的です。

【操作のポイント】
CONCATENATE関数は&演算子と同様に文字列を結合しますが、関数の形式をとるため、引数が明確で可読性が高いという特徴があります。ただし、複数範囲の指定はできないため、多数のセルをまとめて結合する場合は他の関数を検討しましょう。

進化した文字列連結関数「CONCAT関数」

続いては、エクセル2016以降で導入された、CONCATENATE関数の進化版とも言える「CONCAT関数」を確認していきます。

この関数は、CONCATENATE関数の持つ基本的な機能はそのままに、特に複数のセル範囲をまとめて指定できるという点で、大幅な利便性の向上を実現しています。

大量のデータを効率的に結合したい場合に、非常に強力なツールとなるでしょう。

CONCAT関数の基本構文と特徴

CONCAT関数の基本的な構文はCONCATENATE関数と似ていますが、大きな違いはその柔軟な引数の指定方法にあります。

CONCAT(文字列1, [文字列2], …)

この構文自体はCONCATENATE関数と同じに見えますが、文字列の引数として、個々のセル参照や文字列だけでなく、セル範囲(例: A1:C1)を直接指定できる点が最大の特徴です。

例えば、B2セルの「姓」とC2セルの「名」を結合して「山田太郎」を作成する場合、G2セルに以下の数式を入力します。

=CONCAT(C2,D2)

この結果も「山田太郎」となります。

スペースを挿入する際も同様に、ダブルクォーテーションで囲んだスペースを引数として追加します。

=CONCAT(C2,” ”,D2)

結果は「山田 太郎」となるでしょう。

このように、基本的な個別の文字列連結においてはCONCATENATE関数とほぼ同じ使い勝手ですが、真価を発揮するのは次項で説明する複数範囲の指定です。

複数セル範囲の指定方法

CONCAT関数がCONCATENATE関数と一線を画すのは、複数のセル範囲をまとめて結合できる点です。

たとえば、C2からE2まで(姓、名、部署名とする)の3つのセルに入力された内容をすべて結合したい場合、CONCATENATE関数ではC2,D2,E2と個別に指定する必要がありました。

しかし、CONCAT関数では次のように範囲指定が可能です。

=CONCAT(C2:E2)

この数式を実行すると、C2、D2、E2の順にすべての内容が結合され、「山田太郎営業部」のような結果が得られます。

これは、結合するセルの数が多い場合に、数式の記述を大幅に簡略化し、入力ミスを減らすことに貢献するでしょう。

CONCAT関数は、指定された範囲内のすべてのセルを順に結合します。これにより、特に大量のデータを扱う際や、動的に変化する範囲のデータを結合する際に、手動で一つずつセルを指定する手間を省くことが可能となります。

また、異なる複数の範囲を組み合わせて指定することもできます。

例えば、=CONCAT(A2,C2:E2)のように、個別のセルと範囲を混在させて指定することも可能です。

この柔軟性が、CONCAT関数の大きな魅力と言えるでしょう。

CONCAT関数とCONCATENATE関数の比較

CONCAT関数はCONCATENATE関数の上位互換として考えることができます。

主な比較ポイントは以下の通りです。

  • **対応バージョン**: CONCATENATE関数は古いバージョンから利用可能ですが、CONCAT関数はExcel 2016以降で導入されました。そのため、古いバージョンのExcelを使用しているユーザーとのファイル共有を考慮する場合は、CONCATENATE関数を使う必要があるかもしれません。
  • **引数の柔軟性**: CONCATENATE関数は個別のセル参照や文字列しか引数に取れませんが、CONCAT関数はセル範囲を引数として指定できます。
  • **将来性**: MicrosoftはCONCATENATE関数を将来的に廃止する可能性も示唆しており、新しいプロジェクトやファイルではCONCAT関数の使用を推奨しています。

結論として、Excel 2016以降を使用しているのであれば、CONCAT関数を積極的に活用することをおすすめします。

特に、複数のセル範囲を結合する場面では、その効率性が際立つでしょう。

【操作のポイント】
CONCAT関数は、特に複数セル範囲をまとめて結合したい場合に非常に便利です。Excel 2016以降のバージョンであれば、CONCATENATE関数よりも柔軟で効率的な文字列連結が可能です。

区切り文字を自由に設定できる「TEXTJOIN関数」

続いては、Excel 2016以降で導入された、文字列連結関数の中でも特に強力な「TEXTJOIN関数」を確認していきます。

この関数は、これまでに紹介した&演算子やCONCAT関数では実現が難しかった「区切り文字の指定」と「空白セルの無視」という二つの画期的な機能を提供します。

データの整理やレポート作成において、非常に大きな利便性をもたらすでしょう。

TEXTJOIN関数の基本構文とメリット

TEXTJOIN関数の基本的な構文は以下の通りです。

TEXTJOIN(区切り記号, 空白を無視, 文字列1, [文字列2], …)

それぞれの引数の意味は次の通りです。

  • **区切り記号**: 結合される各文字列の間に挿入する文字列を指定します。例えば、カンマ「,」、スペース「 」、ハイフン「-」などをダブルクォーテーションで囲んで指定します。
  • **空白を無視**: 論理値(TRUEまたはFALSE)を指定します。TRUEを指定すると、結合する範囲内の空白セルを無視して結合します。FALSEを指定すると、空白セルも結合対象として扱い、空白の区切り記号が挿入されます。
  • **文字列1, [文字列2], …**: 結合したい文字列、セル参照、またはセル範囲を指定します。CONCAT関数と同様に、複数のセル範囲を指定できる点が大きなメリットです。

先ほどのサンプルデータを使って、C2セルの「姓」とD2セルの「名」を、全角スペース「 」で区切りながら結合してみましょう。

G2セルに以下の数式を入力します。

=TEXTJOIN(“ ”,TRUE,C2:D2)

この数式では、「区切り記号」に全角スペースを、「空白を無視」にTRUEを指定し、「文字列」にC2からD2の範囲を指定しています。

結果は「山田 太郎」となり、期待通りのフルネームが作成できるでしょう。

TEXTJOIN関数の最大のメリットは、一度に複数のセル範囲を結合しながら、すべての項目間に統一された区切り文字を自動で挿入できる点にあります。

これにより、数式の記述が非常にシンプルになり、エラーのリスクも低減できます。

空白セルを無視する設定

TEXTJOIN関数のもう一つの強力な機能が、「空白を無視」引数です。

例えば、住所データを結合する場合、番地の一部が空欄になることがあります。

通常の&演算子やCONCAT関数で結合すると、空欄部分にも区切り文字が入ってしまい、「東京都港区  1-2-3」のように不要な空白が生じてしまうでしょう。

しかし、TEXTJOIN関数で「空白を無視」にTRUEを設定すれば、この問題を簡単に解決できます。

仮に、A1セルに「東京都」、B1セルに「港区」、C1セルに空欄、D1セルに「1-2-3」と入力されているとします。

これらを半角スペース「 」で区切りながら結合したい場合、次の数式を入力します。

=TEXTJOIN(” “,TRUE,A1:D1)

この数式の結果は「東京都 港区 1-2-3」となり、空欄だったC1セルの内容は無視され、不要なスペースが入ることもありません。

もし「空白を無視」をFALSEに設定した場合は、「東京都 港区 1-2-3」のように、空白セルの位置に区切り文字が挿入されてしまうため、注意が必要です。

データの欠損がある場合でも、美しく整形された文字列を簡単に作成できる点が、TEXTJOIN関数の大きな魅力と言えるでしょう。

TEXTJOIN関数を活用した実践例

TEXTJOIN関数は、様々なビジネスシーンで活用できます。

例えば、顧客の連絡先を一つにまとめる、商品コードとオプション情報を連結する、複数のキーワードをカンマ区切りでリスト化するといった場面で非常に便利です。

ここでは、部署名とフルネームをハイフン「-」で区切り、さらに「さん」を最後に付け加える例を考えてみましょう。

A2セルの「営業部」、C2セルの「山田」、D2セルの「太郎」を使用します。

=TEXTJOIN(“-“,TRUE,A2,C2&” ”&D2)&”さん”

この数式では、TEXTJOIN関数で「営業部」と「山田 太郎」をハイフンで結合し、その結果にさらに「さん」という文字列を&演算子で付け加えています。

結果は「営業部-山田 太郎さん」となるでしょう。

このように、TEXTJOIN関数は他の関数や演算子と組み合わせることで、さらに複雑で柔軟な文字列処理を実現できます。

データの整形やレポート作成の効率を大幅に向上させる強力なツールとして、ぜひ活用してみてください。

【操作のポイント】
TEXTJOIN関数は、区切り文字の指定と空白セルの無視という点で非常に優れています。複数のセルや範囲を結合し、整形された文字列を効率的に作成したい場合に最適な関数です。

VBAマクロで複数の文字列を柔軟に結合する

ここまでは関数の利用を中心に解説してきましたが、続いてはVBA(Visual Basic for Applications)マクロを使って、より柔軟かつ自動的に複数の文字列を結合する方法を確認していきます。

VBAは、Excelの機能を拡張し、繰り返し行われる作業を自動化するために使用できるプログラミング言語です。

特定の条件下で文字列を結合したい、あるいは複雑なルールに基づいて結合したいといった高度なニーズに対応できるでしょう。

VBAで文字列を結合する基本的なアプローチ

VBAで文字列を結合する基本的な方法は、VBAの文字列結合演算子である「&」を使用することです。

これは、エクセルのシート上で使う&演算子と全く同じ役割を果たします。

また、セルの値は `Range(“A1”).Value` のように参照します。

簡単な例として、シート上のA1セルとB1セルの内容を結合してC1セルに出力するマクロを考えてみましょう。

Sub 文字列結合の基本()
    Dim str1 As String
    Dim str2 As String
    Dim result As String

    ' A1セルとB1セルの値を取得
    str1 = Range("A1").Value
    str2 = Range("B1").Value

    ' 2つの文字列を結合
    result = str1 & str2

    ' C1セルに結果を出力
    Range("C1").Value = result

    MsgBox "文字列が結合されました!"
End Sub

このコードでは、まず `Dim` キーワードを使って変数を宣言しています。

`str1` にA1セルの値、`str2` にB1セルの値を格納し、それらを `&` 演算子で結合して `result` 変数に入れています。

最後に、`result` の内容をC1セルに書き出しています。

このように、VBAを使えばプログラムのロジックに基づいて柔軟に文字列を結合することが可能です。

選択範囲の文字列を結合するマクロ例

より実践的な例として、ユーザーが選択した複数のセル範囲の文字列を、特定の区切り文字(例:カンマとスペース)で結合し、アクティブセル(マクロを実行したセル)に出力するマクロを作成してみましょう。

このマクロは、複数の部署名や商品名をまとめてリストアップしたい場合などに役立つでしょう。

Sub 選択範囲の文字列を結合()
    Dim selectedRange As Range
    Dim cell As Range
    Dim combinedString As String
    Dim delimiter As String

    ' 区切り文字を指定
    delimiter = ", " ' 例: カンマとスペース

    ' 選択されている範囲を取得
    On Error Resume Next ' エラーが発生しても処理を続行
    Set selectedRange = Selection
    On Error GoTo 0      ' エラー処理を元に戻す

    ' 選択範囲がセルでなければ終了
    If selectedRange Is Nothing Then
        MsgBox "セルを選択してください。", vbExclamation
        Exit Sub
    End If

    ' 選択範囲内の各セルをループして文字列を結合
    For Each cell In selectedRange
        If cell.Value <> "" Then ' 空白セルは無視
            If combinedString = "" Then
                combinedString = cell.Value
            Else
                combinedString = combinedString & delimiter & cell.Value
            End If
        End If
    Next cell

    ' 結果をアクティブセルに出力
    ActiveCell.Value = combinedString

    MsgBox "選択されたセルの文字列が結合され、アクティブセルに出力されました。", vbInformation
End Sub

このVBAコードでは、まず `delimiter` 変数に区切り文字として「, 」を設定しています。

`Selection` オブジェクトで現在選択されている範囲を取得し、それがセル範囲でなければメッセージを表示して終了します。

`For Each cell In selectedRange` ループを使って、選択範囲内の各セルを一つずつ処理しています。

`If cell.Value <> “” Then` で空白セルを無視し、`combinedString` 変数に結合された文字列を蓄積しています。

最初のセルは区切り文字なしで、2番目以降のセルからは区切り文字を付けて結合するようにロジックを組んでいるのがポイントです。

最終的に、`ActiveCell.Value = combinedString` でマクロを実行したセルに結果を出力します。

マクロの実行と適用後の確認

このVBAマクロを使用するには、以下の手順で実行します。

  1. エクセルファイルを開き、Alt + F11キーを押してVBAエディター(Microsoft Visual Basic for Applications)を起動します。
  2. 左側のプロジェクトエクスプローラーで、目的のワークブックを選択し、「挿入」メニューから「標準モジュール」をクリックします。
  3. 開かれたモジュールウィンドウに上記のVBAコードをコピー&ペーストします。
  4. エクセルシートに戻り、結合したいセル範囲を選択します。(例: A2からC4までを選択)
  5. 結果を出力したいセル(例: D2)を選択します。(このセルが`ActiveCell`になります)
  6. Alt + F8キーを押して「マクロ」ダイアログボックスを開き、「選択範囲の文字列を結合」を選択して「実行」をクリックします。

マクロが実行されると、D2セルに選択したセルの内容がカンマとスペースで区切られて結合された形で表示されるでしょう。

例えば、A2からC4の範囲が以下のようだったとします。

A B C
営業部 山田 太郎
開発部 佐藤 花子
企画部 田中 次郎

この範囲を選択し、D2セルをアクティブにしてマクロを実行すると、D2セルの内容は以下のようになるでしょう。

D
営業部, 山田, 太郎, 開発部, 佐藤, 花子, 企画部, 田中, 次郎

このようにVBAを活用すれば、エクセルの標準機能では難しい複雑な結合ルールや、大量のデータに対する一括処理を自動化できるでしょう。

【操作のポイント】
VBAマクロは、繰り返し作業や複雑な条件での文字列結合を自動化するのに適しています。選択範囲の結合や特定のルールに基づく結合など、柔軟な処理を実現したい場合に検討してみましょう。

まとめ

本記事では、エクセルで文字をくっつけるための様々な方法について解説しました。

目的や状況に応じて最適な方法を選択することで、エクセル作業の効率を大きく向上させることができるでしょう。

視覚的にセルを一つにまとめる「セルの結合」は、表の見出し作成などに便利ですが、データ処理には不向きな側面があります。

一方、「&(アンパサンド)演算子」は、2つ以上の文字列やセルの内容をシンプルに結合する最も直感的な方法です。

間にスペースや特定の区切り文字を挿入することも容易ですが、数値や日付を結合する際はTEXT関数で書式を整える必要があることを覚えておきましょう。

「CONCATENATE関数」は、&演算子と同様の連結機能を持つ古典的な関数で、多数の引数を扱う際に数式の可読性が高まる点がメリットです。

しかし、複数セル範囲の一括指定はできません。

その欠点を補うのが「CONCAT関数」です。

Excel 2016以降で導入されたこの関数は、複数セル範囲をまとめて結合できるため、大量のデータを扱う際に非常に効率的と言えるでしょう。

そして、文字列連結の強力なツールとして「TEXTJOIN関数」があります。

この関数は、区切り文字を自由に指定できるだけでなく、空白セルを無視して結合できるため、整形されたデータを簡単に作成したい場合に最適です。

最後に、より高度な自動化や複雑な条件での結合が必要な場合は、VBAマクロの利用を検討してください。

VBAを使えば、特定のルールに基づいた文字列結合や、繰り返し作業を一括で処理することが可能になります。

これらの方法を状況に合わせて使い分けることで、エクセルでのデータ管理やレポート作成がよりスムーズかつ正確に行えるようになるでしょう。