Excel関数で文字列を結合する方法をお探しですね。
広告
Excelで文字列をつなげる方法を初心者向けに解説!「&」からTEXTJOIN関数まで
Excelで名簿を作っていると、「姓」と「名」を1つにまとめたり、バラバラの住所データを1つのセルにまとめたくなることってよくありますよね。
手作業でコピペしてもいいんですが、データが多いとミスが起きやすいですし、後で修正するのも大変です。
そこでこの記事では、Excelで文字列をつなげる方法を、基本の「&」記号から、CONCATENATE関数、TEXTJOIN関数、CONCAT関数まで、初心者の方にもわかりやすく説明していきます。
1. Excelで文字列をつなげるってどういうこと?使い分けのコツ
Excelで文字列をつなげるというのは、複数のセルに入っている文字や、好きな文字を組み合わせて、1つのセルにまとめて表示することです。
たとえば、A2セルに「山田」、B2セルに「太郎」と入力されているとき、別のセルに「山田太郎」と表示させる、といった操作のことですね。
Excelでは主に次の4つの方法で文字列をつなげることができます。
– **「&」記号**
– **CONCATENATE関数**
– **CONCAT関数**
– **TEXTJOIN関数**
どれも似たようなことができるんですが、「何個のセルをつなげたいか」「間に区切り文字を入れたいか」などによって、使いやすい方法が変わってきます。
一番手軽なのは**「&」**です。
2つくらいのセルをサッとつなげるだけなら、式も短くて分かりやすいので初心者の方にもおすすめです。
**CONCATENATE関数**は昔からある文字列結合の関数で、古いバージョンのExcelでも使えるので、互換性を気にする場合に便利です。
**CONCAT関数**はCONCATENATE関数の新しい版のような位置づけで、セルの範囲をまとめて指定できるのが強みです。
**TEXTJOIN関数**は、カンマやハイフン、スペースなどの区切り文字を自動で挟みながらつなげられるので、複数の項目をきれいにまとめたいときにとても便利です。
使い分けの目安としては、こんな感じで考えるとわかりやすいですよ。
– 2つのセルを単純につなげる → **「&」**
– 古いExcelでも開くファイル → **CONCATENATE関数**
– 連続した複数セルをまとめる → **CONCAT関数**
– 区切り文字や空白セルもきれいに処理したい → **TEXTJOIN関数**
ただし、CONCAT関数やTEXTJOIN関数は比較的新しい機能なので、Microsoft 365やExcel 2019以降で使えます。
共有する相手のExcelバージョンにも注意しましょう。
2. 「&」とCONCATENATE関数でシンプルにつなげる
**「&」記号**は、Excelで文字列をつなげる一番基本的な方法です。
使い方はとっても簡単。
A2セルに「山田」、B2セルに「太郎」が入っているとき、C2セルに次のように入力すると「山田太郎」と表示されます。
“`
=A2&B2
“`
間にスペースを入れて「山田 太郎」としたいときは、こう書きます。
“`
=A2&” “&B2
“`
ポイントは、直接入力する文字は必ず**ダブルクォーテーション(” “)で囲む**ことです。
半角スペースなら`” “`、全角スペースなら`” ”`のように指定します。
固定の文字を加えたいときも「&」は便利です。
たとえば、A2セルに商品名、B2セルに数量が入っていて、「りんご:10個」のように表示したい場合は、こんな感じで書けます。
“`
=A2&”:”&B2&”個”
“`
このように、セルの内容と好きな文字を交互につなげていくだけで、見やすい文章やラベルが作れます。
請求書、在庫表、お客さんリストなど、ちょっと整えた文字列を作りたいときは「&」だけでも十分対応できますよ。
**CONCATENATE関数**を使う場合は、こんな風に書きます。
“`
=CONCATENATE(A2,B2)
“`
スペースを入れるなら、
“`
=CONCATENATE(A2,” “,B2)
“`
やっていることは「&」とほぼ同じなんですが、関数として引数を並べる形なので、関数に慣れている人には読みやすいかもしれません。
ただ、CONCATENATE関数は古い形式の関数なので、今のExcelではCONCAT関数やTEXTJOIN関数を使うことが推奨される場面も増えています。
とはいえ、古いバージョンのExcelで開く可能性があるファイルでは、CONCATENATE関数や「&」を使っておくと安心です。
「&」とCONCATENATE関数の弱点は、つなげるセルが増えると式が長くなりがちなこと。
たとえば、A2からE2までを全部つなげる場合、
“`
=A2&B2&C2&D2&E2
“`
または
“`
=CONCATENATE(A2,B2,C2,D2,E2)
“`
のように、セルを1つずつ指定する必要があります。
数が少ないうちはいいんですが、住所や商品コードみたいに項目が多い場合は、次に紹介するCONCAT関数やTEXTJOIN関数を使ったほうが効率的です。
3. TEXTJOIN関数とCONCAT関数で複数セルを効率よくつなげる
複数のセルをまとめてつなげたいときは、**CONCAT関数**が便利です。
たとえば、A2からD2までに分かれている文字列をそのままつなげたい場合、こう書けばOKです。
“`
=CONCAT(A2:D2)
“`
範囲で指定できるので、CONCATENATE関数みたいにA2、B2、C2、D2って1つずつ書く必要がありません。
連続した範囲を扱うなら、CONCAT関数のほうが式が短くて済みますし、後から見直したときにも分かりやすいです。
ただし、CONCAT関数には**区切り文字を自動で入れる機能がありません**。
たとえば、A2に「東京」、B2に「新宿区」、C2に「西新宿」と入っていて、「東京 新宿区 西新宿」のようにスペースで区切りたい場合、CONCAT関数だけではちょっと工夫が必要です。
そんなときに使いやすいのが**TEXTJOIN関数**です。
こんな風に書きます。
“`
=TEXTJOIN(” “,TRUE,A2:C2)
“`
最初の引数で**区切り文字**を指定して、2つ目の引数で**空白セルを無視するかどうか**を指定します。
その後につなげたいセルや範囲を書きます。
TEXTJOIN関数のすごいところは、区切り文字を1回指定するだけで、複数の文字列の間に自動で入れてくれるところです。
– カンマ区切りにしたい → `=TEXTJOIN(“,”,TRUE,A2:A10)`
– ハイフン区切りにしたい → `=TEXTJOIN(“-“,TRUE,A2:C2)`
2つ目の引数を**TRUE**にすると空白セルを無視してくれるので、途中にデータが抜けていても余計なカンマやハイフンが入りません。
**FALSE**にすると空白セルも対象として扱うので、データの抜けをあえて見える形にしたいときに使えます。
セル内で改行しながらつなげたいときは、区切り文字に**CHAR(10)**を使います。
“`
=TEXTJOIN(CHAR(10),TRUE,A2:C2)
“`
こうすると、A2からC2の内容がセル内で改行されながら表示されます。
ただし、改行を見えるようにするには、セルの書式設定で「折り返して全体を表示する」を有効にする必要があります。
住所や備考、複数行のメモを1つのセルにまとめたいときに便利な使い方です。
TEXTJOIN関数は、単に文字列をつなげるだけじゃなくて、見やすい形に整えながら結合できるので、実務でとても役立ちます。
4. 文字列をつなげるときの注意点と実務での活用例
文字列をつなげるときに気をつけたいのが、**日付や数値の扱い**です。
Excelでは日付が内部的に「シリアル値」という数値で管理されているので、日付セルをそのまま文字列とつなげると、思ったような表示にならないことがあります。
たとえば、A2セルに日付が入っていて「更新」とつなげたい場合、
“`
=A2&”更新”
“`
と書くと、「45400更新」みたいな数値っぽい表示になることがあります。
こんなときは**TEXT関数**を使って、日付の表示形式を指定してからつなげます。
“`
=TEXT(A2,”yyyy/mm/dd”)&”更新”
“`
数値についても注意が必要です。
つなげた後の値は**文字列として扱われる**ので、そのまま数値比較や計算に使うと、おかしな結果になることがあります。
結合した結果を数値として使いたいときは、**VALUE関数**で数値に変換します。
“`
=VALUE(A2&B2)
“`
ただし、先頭のゼロを残したい商品コードや会員番号では、数値化するとゼロが消えてしまうので、用途に応じて文字列のまま扱うか判断しましょう。
あと、よくある勘違いなんですが、**「セルの結合」と「文字列の結合」は別物**です。
セルの結合は、複数のセルを見た目上1つにまとめるレイアウト機能で、複数セルの文字を自動でつなげる機能ではありません。
セルを結合すると、基本的に左上のセルの内容だけが残って、他のセルのデータが消えてしまう場合があります。
表のタイトルを中央に配置するような見た目の調整には使えますが、データの整理、検索、並べ替え、集計を行う表では不便になることも多いので、文字をつなげたいときは「&」やTEXTJOIN関数を使うのが安全です。
実務では、こんな場面で文字列結合が役立ちます。
– 名簿の氏名作成
– 住所の統合
– 商品コードの生成
– メール文面の差し込み用テキスト作成
少ない項目をサッとつなげるなら**「&」**、古いExcelとの互換性を重視するなら**CONCATENATE関数**、範囲をまとめて結合するなら**CONCAT関数**、区切り文字や空白セルまできれいに処理したいなら**TEXTJOIN関数**を選びましょう。
特にTEXTJOIN関数は、カンマ区切りのリストやハイフン区切りのコードを作る作業でとても便利です。
つなげた後に日付や数値をどう扱うかまで意識すると、見た目だけじゃなくて後の作業でも使いやすいExcelデータが作れますよ。
広告
