Excelで複数のセルの文字列を一つにまとめたい時があります。例えば、顧客リストの姓と名、部署名と役職などを結合したい場合です。手作業でコピー&ペーストを繰り返すのは非効率的です。そんな時に役立つのが、文字列結合関数です。ExcelにはCONCAT関数とTEXTJOIN関数という、文字列を結合するための便利な関数があります。この記事では、これらの関数を使って複数セルの文字列を効率的に結合する方法を解説します。
CONCAT関数とTEXTJOIN関数は、それぞれ異なる特徴を持っています。どちらの関数を使えば、より目的に合った文字列結合ができるのでしょうか。この記事を読めば、これらの関数の使い方を理解し、あなたのExcel作業を劇的に効率化できるでしょう。
【要点】CONCAT関数とTEXTJOIN関数で複数セルの文字列を結合する
- CONCAT関数: 指定した複数のセルや文字列を、区切り文字なしで単純に結合します。
- TEXTJOIN関数: 指定した区切り文字を使って、複数のセルや文字列を結合します。空白セルを無視するオプションもあります。
- 使い分け: 区切り文字が必要ならTEXTJOIN関数、不要ならCONCAT関数が適しています。
ADVERTISEMENT
目次
CONCAT関数とTEXTJOIN関数の基本仕様
Excelで文字列を結合する際に利用できるCONCAT関数とTEXTJOIN関数は、それぞれ異なる機能を持っています。CONCAT関数は、指定された引数(セルや文字列)を順番に連結するシンプルな関数です。一方、TEXTJOIN関数は、より柔軟な文字列結合を可能にします。区切り文字を指定できるだけでなく、結合対象の範囲内に空白セルが含まれる場合に、その空白セルを無視するかどうかを選択できます。
これらの関数は、Excel 2019およびMicrosoft 365のバージョンで利用可能です。Excel 2016以前のバージョンではCONCAT関数は使用できません。TEXTJOIN関数もExcel 2019以降で追加された機能です。古いバージョンのExcelを使用している場合は、代わりに&演算子やCONCATENATE関数(こちらは古いバージョンでも利用可能ですが、TEXTJOINほどの柔軟性はありません)を使用する必要があります。ただし、CONCATENATE関数は引数の数に制限があり、最大で255個の引数しか指定できません。この点も、新しい関数との違いとして覚えておくと良いでしょう。
CONCAT関数で文字列を結合する手順
CONCAT関数は、複数のセルや文字列を単純に連結したい場合に最も適しています。例えば、「山田」と「太郎」という文字列を結合して「山田太郎」としたい場合などに使います。区切り文字を指定する機能はありませんので、結合したい文字列やセルを順番に指定するだけで結果が得られます。
- 結合したい文字列やセルを指定する
結果を表示したいセルを選択します。数式バーに「=CONCAT(」と入力します。 - 最初の引数を指定する
結合したい最初のセル(例: A1)をクリックするか、直接セル番地を入力します。 - カンマで区切って次の引数を指定する
結合したい次のセル(例: B1)をクリックするか、直接セル番地を入力し、カンマ(,)で区切ります。文字列リテラル(例: 「様」)を結合したい場合は、ダブルクォーテーション(“”)で囲んで指定します(例: “様”)。 - 全ての引数を指定し、括弧を閉じる
結合したい全てのセルや文字列を指定し終えたら、最後に閉じ括弧()を入力してEnterキーを押します。
例えば、A1セルに「山田」、B1セルに「太郎」と入力されている場合、C1セルに「=CONCAT(A1,B1)」と入力すると、「山田太郎」と表示されます。もし、A1セルに「株式会社」、B1セルに「Excel」と入力されている場合、「=CONCAT(A1,B1)」とすると「株式会社Excel」と表示されます。このように、CONCAT関数は指定した順番通りに文字列を連結します。
TEXTJOIN関数で文字列を結合する手順
TEXTJOIN関数は、CONCAT関数よりも高機能で、区切り文字を指定できる点が大きな特徴です。これにより、結合された文字列がより読みやすくなります。また、結合対象の範囲に空白セルが含まれる場合に、その空白セルを結果に含めるか無視するかを選択できます。これにより、不要な区切り文字の羅列を防ぐことができます。
TEXTJOIN関数の構文は以下の通りです。
=TEXTJOIN(区切り文字, 空白を無視, 文字列1, [文字列2], ...)
各引数の意味は以下の通りです。
- 区切り文字: 結合する文字列の間に挿入する文字を指定します。例えば、「, 」や「-」、「 」(半角スペース)などです。ダブルクォーテーション(“”)で囲んで指定します。
- 空白を無視: 論理値(TRUEまたはFALSE)を指定します。TRUEを指定すると、空白セルは無視されます。FALSEを指定すると、空白セルも結合対象となり、区切り文字が挿入されます。
- 文字列1, [文字列2], …: 結合したいセル範囲や文字列を指定します。
では、具体的な手順を見ていきましょう。
- 結合したいセルを選択し、数式を入力する
結果を表示したいセルを選択し、数式バーに「=TEXTJOIN(」と入力します。 - 区切り文字を指定する
最初の引数として、結合したい文字列の間に挿入する区切り文字をダブルクォーテーションで囲んで指定します。例えば、カンマと半角スペースで区切りたい場合は「”, “」と入力します。 - 空白を無視するかどうかを指定する
次に、カンマ(,)で区切り、「空白を無視」の引数を指定します。空白セルを無視したい場合はTRUE、無視したくない場合はFALSEと入力します。 - 結合したいセル範囲を指定する
さらにカンマ(,)で区切り、結合したいセル範囲を指定します。例えば、A1からC1までの範囲を結合したい場合は「A1:C1」と入力します。 - 括弧を閉じてEnterキーを押す
全ての引数を指定し終えたら、閉じ括弧()を入力し、Enterキーを押します。
例えば、A1セルに「東京」、B1セルに(空白)、C1セルに「新宿」と入力されているとします。D1セルに「=TEXTJOIN(“, “, TRUE, A1:C1)」と入力すると、結果は「東京, 新宿」となります。空白セル(B1)が無視されているのがわかります。もし、D1セルに「=TEXTJOIN(“, “, FALSE, A1:C1)」と入力した場合、結果は「東京, , 新宿」となり、空白セルにも区切り文字が挿入されます。
ADVERTISEMENT
CONCAT関数とTEXTJOIN関数の使い分け
CONCAT関数とTEXTJOIN関数は、どちらも文字列を結合する機能を持っていますが、その用途や機能には違いがあります。どちらの関数を使うべきかは、結合したい文字列の形式や、区切り文字の必要性によって判断します。
まず、CONCAT関数は、区切り文字を一切使用せずに、指定したセルや文字列をただ順番に連結したい場合に便利です。例えば、姓と名を結合して氏名にする場合や、会社名と部署名を単純に繋げたい場合などに適しています。引数として指定したセルの内容がそのまま連結されるため、シンプルで直感的な操作が可能です。
一方、TEXTJOIN関数は、より複雑な文字列結合に対応できます。最も大きな利点は、結合する文字列の間に任意の区切り文字を挿入できることです。これにより、結合された文字列の可読性を高めることができます。例えば、複数のタグをカンマ区切りで表示したい場合や、住所の各要素をハイフンで繋げたい場合などに非常に役立ちます。さらに、TEXTJOIN関数は空白セルを無視するオプションを持っているため、データに欠損がある場合でも、不自然な区切り文字の羅列を防ぐことができます。これは、データの前処理やレポート作成において、非常に強力な機能となります。
したがって、単純に文字列を連結したいだけであればCONCAT関数、区切り文字を挿入したい、または空白セルを考慮して結合したい場合はTEXTJOIN関数を選択するのが一般的です。Excel 2019以降のバージョンであれば、TEXTJOIN関数の方が多くの場面で柔軟に対応できるため、積極的に活用することをおすすめします。
CONCAT関数とTEXTJOIN関数でよくある失敗例と対処法
CONCAT関数とTEXTJOIN関数は非常に便利ですが、いくつか注意すべき点や、つまずきやすいポイントがあります。これらの失敗例とその対処法を知っておくことで、よりスムーズにこれらの関数を使えるようになるでしょう。
区切り文字が挿入されない
CONCAT関数で文字列を結合しようとした際に、意図した区切り文字が挿入されないことがあります。これは、CONCAT関数には区切り文字を指定する機能がないためです。もし、結合する文字列の間に区切り文字が必要な場合は、CONCAT関数ではなくTEXTJOIN関数を使用する必要があります。TEXTJOIN関数であれば、第一引数に区切り文字を指定することで、簡単に解決できます。
空白セルが無視されない
TEXTJOIN関数で「空白を無視」オプション(第一引数にTRUE)を指定したにも関わらず、空白セルが無視されずに結果に区切り文字が含まれてしまう場合があります。この原因として、対象のセルが実際には空白ではなく、スペースなどの見えない文字を含んでいる、または数式の結果として空白になっていることが考えられます。この場合、対象のセル範囲を再度確認し、不要なスペースなどを削除するか、TRIM関数などを使って前後のスペースを取り除く処理を事前に施す必要があります。
例えば、A1セルに「=IF(B1=””, “”, B1)」のような数式が入っており、B1が空白の場合、A1は数式上は空白ですが、TEXTJOIN関数がそれを「空白」と認識しないことがあります。このような場合、対象のセル範囲をコピーし、「値」として貼り付けることで、数式を解除し、純粋な空白または文字列にすることができます。
関数が使えない(Excelのバージョン)
「=CONCAT」や「=TEXTJOIN」と入力しても、Excelが関数を認識しない、または数式として無効だとエラーが表示される場合があります。これは、使用しているExcelのバージョンが古いことが原因である可能性が高いです。CONCAT関数はExcel 2019以降、TEXTJOIN関数もExcel 2019以降で追加された比較的新しい関数です。Excel 2016以前のバージョンではこれらの関数は利用できません。古いバージョンのExcelを使用している場合は、代わりに「&」演算子やCONCATENATE関数を使用する必要があります。ただし、CONCATENATE関数は引数の数に制限があるため、大量のセルを結合する際には注意が必要です。
数式が長くなりすぎる
結合したいセルが非常に多い場合、数式が長くなりすぎて管理が難しくなることがあります。例えば、「=TEXTJOIN(“, “, TRUE, A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1, S1, T1, U1, V1, W1, X1, Y1, Z1)」のように、引数が多くなると、入力ミスもしやすくなります。
このような場合は、セル範囲を指定する方が効率的です。例えば、「=TEXTJOIN(“, “, TRUE, A1:Z1)」のように、連続したセル範囲を指定することで、数式を大幅に短縮できます。もし、結合したいセルが連続していない場合は、複数のセル範囲をカンマで区切って指定することも可能です(例: 「=TEXTJOIN(“, “, TRUE, A1:A5, C1:C5)」)。
CONCAT関数とTEXTJOIN関数の比較
CONCAT関数とTEXTJOIN関数は、どちらもExcelで文字列を結合するために使用されますが、その機能や使い勝手には明確な違いがあります。ここでは、両者の主な違いを比較表にまとめました。
| 項目 | CONCAT関数 | TEXTJOIN関数 |
|---|---|---|
| 区切り文字の指定 | 不可 | 可能 |
| 空白セルの無視 | 対象外(空白セルもそのまま結合される) | 可能(TRUE/FALSEで指定) |
| Excelバージョン | Excel 2019以降 | Excel 2019以降 |
| 主な用途 | 単純な文字列連結 | 区切り文字付きの文字列連結、空白セルを考慮した結合 |
| 構文の柔軟性 | 低い | 高い |
この表からわかるように、TEXTJOIN関数はCONCAT関数よりも多くの機能を提供しており、より多様な文字列結合のニーズに対応できます。特に、区切り文字を指定したい場合や、データに空白セルが混在している場合に、TEXTJOIN関数は非常に強力なツールとなります。単純な結合で十分な場合はCONCAT関数でも問題ありませんが、より高度な文字列処理を行いたい場合は、TEXTJOIN関数を使いこなすことが推奨されます。
まとめ
この記事では、ExcelのCONCAT関数とTEXTJOIN関数を使って、複数セルの文字列を効率的に結合する方法を解説しました。CONCAT関数は区切り文字なしで単純に文字列を連結し、TEXTJOIN関数は区切り文字の指定や空白セルの無視といった、より柔軟な設定が可能です。どちらの関数もExcel 2019以降で利用でき、Excel作業の効率を大幅に向上させます。今後は、結合したい文字列の条件に合わせて、これらの関数を使い分けてみてください。例えば、住所の各要素を結合する際にはTEXTJOIN関数が役立ちます。さらに、これらの関数と他の文字列操作関数を組み合わせることで、より高度なデータ加工が可能になります。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Outlook】「メール送信を5分遅らせる」設定!誤送信を防ぐ最強のディレイ機能
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
