「氏名を”姓”と”名”の2列に分けて管理しているが、印刷・メール用には「田中 太郎」のようにまとめた1列が必要」「都道府県・市区町村・番地を別々のセルに入力しているが、郵便ラベル用にひとつの住所文字列を作りたい」「複数のセルに入ったタグや分類語をカンマ区切りで1セルにまとめたい」——こうした文字列結合の作業は、ExcelのCONCAT関数・TEXTJOIN関数を使うと一行の数式で解決できます。
Excelには文字列を結合する手段がいくつかあります。古くから使われてきた&演算子やCONCATENATE関数に加え、Excel 2019・Microsoft 365から利用できるCONCAT関数・TEXTJOIN関数が登場し、より柔軟な結合が可能になりました。特にTEXTJOIN関数は「空白セルを自動でスキップする」「区切り文字を一度に指定できる」という点で、旧来の方法に比べて大幅に作業効率が向上します。MOS Excel試験でも文字列関数の出題は定番であり、CONCAT・TEXTJOINの基本操作は確実に押さえておく必要があります。本記事では、CONCAT関数・TEXTJOIN関数の構文と引数の意味・区切り文字パターン・空白セルの扱い・実務シナリオ別の活用例・旧関数との違い・MOS試験攻略のポイントまで、2026年最新版で徹底解説します。
「文字列結合をもっとスマートに行いたい」「MOS試験の文字列関数を確実に攻略したい」という方は、ぜひ最後までお読みください。
CONCAT関数とTEXTJOIN関数:2つの役割を整理する
まず、CONCAT関数とTEXTJOIN関数の違いを整理しましょう。どちらも文字列を結合する関数ですが、得意とする場面が異なります。
| 関数 | 区切り文字 | 空白セルの扱い | 主な用途 | 対応バージョン |
|---|---|---|---|---|
| CONCAT | 指定なし(手動で追加) | 空文字列として結合 | 少数のセル・範囲を単純に連結 | Excel 2019・Microsoft 365 |
| TEXTJOIN | 第1引数で一括指定 | 第2引数でスキップ可能 | 多数セルをまとめて区切り文字付きで結合 | Excel 2019・Microsoft 365 |
| CONCATENATE | 指定なし(手動で追加) | 空文字列として結合 | 後方互換(CONCATに移行推奨) | 全バージョン |
| &演算子 | なし | 空文字列として結合 | 2~3セルの素早い結合 | 全バージョン |
シンプルに「2つのセルをつなぐだけ」ならCONCAT(または&演算子)が手軽です。「複数セルを区切り文字付きでまとめる」「空白セルを飛ばしたい」場合はTEXTJOINが強力な選択肢になります。
CONCAT関数の基本構文と使い方
構文と引数の意味
CONCAT関数の構文は次のとおりです。
=CONCAT(テキスト1, [テキスト2], ...)
| 引数 | 必須 | 内容 |
|---|---|---|
| テキスト1 | 必須 | 結合する最初の文字列・セル参照・セル範囲 |
| テキスト2以降 | 任意 | 続けて結合する文字列・セル参照・セル範囲(最大253個) |
CONCAT関数の最大の特徴は、セル範囲(例:A1:A5)をそのまま引数に指定できる点です。旧来のCONCATENATE関数ではセルを1つずつ列挙する必要がありましたが、CONCATではA1:C1のように範囲指定が可能です。ただし、区切り文字を自動で挿入する機能はないため、区切りが必要な場合は手動でテキストを引数として追加します。
基本的な使用例
次の表はCONCAT関数の代表的な使い方を示しています。
| 目的 | 数式の例 | 結果の例 |
|---|---|---|
| A1とB1をそのまま連結 | =CONCAT(A1,B1) | 田中太郎 |
| 姓と名の間に全角スペースを挿入 | =CONCAT(A1,” ”,B1) | 田中 太郎 |
| A1からC1の範囲を連結 | =CONCAT(A1:C1) | 東京都渋谷区代々木 |
| 文字列リテラルを混在させる | =CONCAT(A1,”様”) | 田中太郎様 |
区切り文字がない場合は単純に連結されるため、「東京都渋谷区代々木」のように区切りなしで文字列が続く形になります。住所の各要素に読点やスペースを挟みたい場合は、引数に文字列リテラルを追加して対応します。
TEXTJOIN関数の基本構文と使い方
構文と引数の意味
TEXTJOIN関数の構文は次のとおりです。
=TEXTJOIN(区切り文字, 空のセルを無視, テキスト1, [テキスト2], ...)
| 引数 | 必須 | 内容 |
|---|---|---|
| 区切り文字 | 必須 | 各テキストの間に挿入する文字(例:”、”、”,”、” “)。不要な場合は””を指定 |
| 空のセルを無視 | 必須 | TRUEで空白セルをスキップ、FALSEで空白セルも結合対象にする |
| テキスト1 | 必須 | 結合する文字列・セル参照・セル範囲 |
| テキスト2以降 | 任意 | 続けて結合する文字列・セル参照・範囲(最大252個まで追加可能) |
第2引数の「空のセルを無視」がTEXTJOIN最大の特長です。TRUEを指定すると、結合範囲の中に空白セルがあっても区切り文字が連続で挿入されることなく、自動的にスキップされます。アンケート集計・タグ一覧の作成など、入力が不定な列を扱う業務で特に威力を発揮します。
基本的な使用例
次の表はTEXTJOIN関数の代表的な使い方です。
| 目的 | 数式の例 | 結果の例 |
|---|---|---|
| A1:E1をカンマ区切りで結合(空白無視) | =TEXTJOIN(“,”,TRUE,A1:E1) | Excel,Word,Access |
| A1:E1を区切りなしで結合 | =TEXTJOIN(“”,TRUE,A1:E1) | ExcelWordAccess |
| A1:A5を読点で結合(空白含む) | =TEXTJOIN(“、”,FALSE,A1:A5) | 東京、、大阪、、名古屋 |
| 2列の範囲をスラッシュで結合 | =TEXTJOIN(“/”,TRUE,A1:B3) | 2026/01/05 |
第2引数にFALSEを指定した場合、空白セルの位置にも区切り文字が挿入されます。区切り文字を「、」にした場合、空白セルがあると「東京、、大阪」のように区切り文字が連続するため、通常はTRUEを指定することが推奨されます。
区切り文字パターン別の活用方法
TEXTJOINの第1引数「区切り文字」には、業務の用途に合わせたさまざまな文字を指定できます。代表的なパターンとその用途を整理します。
| 区切り文字の指定 | 結果の形式 | 主な用途 |
|---|---|---|
| “,” | A,B,C | CSVデータ・タグ一覧 |
| “ ”(全角スペース) | 田中 太郎 | 姓名の結合 |
| ” “(半角スペース) | Taro Tanaka | 英字名前の結合 |
| “/” | 2026/06/07 | 日付形式 |
| “・” | Excel・Word・Access | 商品名・科目名の羅列 |
| CHAR(10) | セル内改行付き | 住所を改行で分けて1セル内に収める |
| “”(空文字) | ExcelWordAccess | 区切りなしの単純連結 |
セル内で改行を挿入したい場合は、区切り文字にCHAR(10)を指定します。ただし、CHAR(10)を使って改行表示するには、対象セルの「折り返して全体を表示する」を有効にする必要があります。[ホーム]タブの「折り返して全体を表示する」をオンにするか、手動改行(Alt+Enter)を使ったセルと組み合わせると効果的です。
実務シナリオ別の活用パターン
氏名(姓・名)を全角スペースで結合する
顧客データベースで「姓」「名」を別々の列に管理している場合、印刷用・メール差し込み用に「田中 太郎」形式の結合列を作る場面が多くあります。A列に姓・B列に名が入っている場合、各関数の書き方を比較します。
| 方法 | 数式 | 結果 |
|---|---|---|
| CONCAT関数 | =CONCAT(A2,” ”,B2) | 田中 太郎 |
| TEXTJOIN関数 | =TEXTJOIN(“ ”,TRUE,A2,B2) | 田中 太郎 |
| &演算子 | =A2&” ”&B2 | 田中 太郎 |
2セルの単純な結合ではどの方法でも同じ結果になります。セルが増える場合(例:姓・名・敬称の3列)は、CONCAT(A2,” ”,B2,” 様”)のように引数を追加して対応します。MOS試験では、指定の区切り文字を使ってセルを結合する操作が出題されるため、3パターンいずれの書き方も書けるようにしておくと安心です。
住所(都道府県・市区町村・番地)を1つの文字列にまとめる
住所を複数列に分けて入力しているデータベースでは、郵便送付先や宛名ラベル用に1列にまとめる必要があります。A列に都道府県・B列に市区町村・C列に番地・D列に建物名が入っている場合、CONCAT関数で次のように記述します。
=CONCAT(A2,B2,C2,D2)
建物名(D列)が入っていない行が混在する場合は、TEXTJOIN関数でTRUEを指定することで空白セルを自動スキップできます。
=TEXTJOIN("",TRUE,A2:D2)
住所の区切り文字は通常不要(都道府県・市区町村・番地は続けて表記するのが一般的)なので、区切り文字には空文字(””)を指定します。建物名がない行でも余分なスペースが入らず、きれいな住所文字列が得られます。
年・月・日が別セルに入った日付を文字列形式にまとめる
A列に年・B列に月・C列に日が数値で入力されている場合、「2026年06月07日」という文字列形式に変換するには、TEXT関数とCONCATを組み合わせます。
=TEXTJOIN("",TRUE,TEXT(A2,"0000"),"年",TEXT(B2,"00"),"月",TEXT(C2,"00"),"日")
TEXT関数で桁数を揃えながら数値を文字列に変換し、TEXTJOINでつなぐことで「2026年06月07日」のような統一フォーマットが得られます。Excelのシリアル値として日付が1セルに入っている場合は、TEXT関数単独で書式コードを指定するほうがシンプルです。
=TEXT(A2,"yyyy年mm月dd日")
複数セルの選択肢・タグ値をカンマ区切りで一覧化する
アンケート集計やスキルタグ管理で、複数列に分散して入力されたテキストをひとつの列に「Excel,Word,Access」のようにまとめたい場合に、TEXTJOINが最も効果を発揮します。
=TEXTJOIN(",",TRUE,B2:F2)
B2~F2に5つのスキル列があり、回答がないセルは空白になっている場合、TRUEを指定することで入力されているスキルだけをカンマ区切りで結合できます。CONCATやCONCATENATEでは空白セルをIF関数で個別にガードする必要がありましたが、TEXTJOINではこの手間が不要になります。
空白セルとエラーの取り扱い
文字列結合の現場でよく遭遇するのが「空白セルが混在しているデータ」と「エラー値を含むセル」の扱いです。それぞれの対処法を確認しておきましょう。
見えない空白(スペース)が入ったセルへの対策
TEXTJOINの第2引数をTRUEにすると、完全な空セルはスキップされます。しかし「見た目は空白だが実際にはスペース1文字が入っているセル」はスキップされず、区切り文字が挿入されてしまいます。TRIM関数を組み合わせると、余分なスペースを除去してから結合できます。
=TEXTJOIN(",",TRUE,TRIM(A1),TRIM(B1),TRIM(C1))
セル数が多い場合は、事前にTRIM関数で別列を作り、その列をTEXTJOINの対象にする方法が効率的です。
エラー値が含まれるセルの結合
結合対象のセルに#N/AなどのエラーがあるとCONCATやTEXTJOINはエラーを返します。IFERROR関数で空文字(“”)に変換してから結合することで、エラーを安全に除外できます。
=TEXTJOIN(",",TRUE,IFERROR(A1,""),IFERROR(B1,""),IFERROR(C1,""))
TEXTJOIN + IFERROR の組み合わせは、VLOOKUP・INDEX/MATCHなど検索関数の結果を結合する場面でも頻繁に使われるパターンです。TEXTJOINの第2引数をTRUEにしておけば、IFERRORが返す空文字(“”)もスキップされるため、不要な区切り文字が挿入されません。
CONCATENATE関数・&演算子との違いと使い分け
CONCAT・TEXTJOINが登場する以前から使われてきたCONCATENATE関数と&演算子について、改めて比較整理します。
| 手段 | 範囲指定 | 区切り文字の一括指定 | 空白セルのスキップ | 推奨される場面 |
|---|---|---|---|---|
| &演算子 | 不可(セルを1つずつ) | 不可 | 不可 | 2~3セルのシンプルな結合 |
| CONCATENATE | 不可(セルを1つずつ) | 不可 | 不可 | 後方互換(新規作業では使わない) |
| CONCAT | 可(A1:C1など) | 不可(手動で追加) | 不可 | 範囲をまとめて連結したい場合 |
| TEXTJOIN | 可(A1:F1など) | 可(第1引数) | 可(第2引数TRUE) | 多数セルの区切り付き結合・空白スキップが必要な場合 |
CONCATENATEはMicrosoft 365でも引き続き動作しますが、Microsoftはすでに上位互換のCONCATへの移行を推奨しています。既存ファイルの互換性維持以外では、CONCAT・TEXTJOINを積極的に使うのが現代のExcel運用の基本方針です。&演算子は数式が短くなりシンプルですが、3つ以上のセルをつなぐ場合は記述が増えてミスが起きやすいため、CONCATやTEXTJOINに切り替えるほうが安全で保守性も高まります。
MOS Excel試験での出題傾向と対策
MOS Excel(一般・上級)では、文字列操作関数は毎回出題される定番分野です。CONCAT・TEXTJOINに関する主な出題ポイントと対策を確認しましょう。
MOS試験頻出の出題パターン
| 出題パターン | 確認ポイント |
|---|---|
| 指定セル範囲を特定の区切り文字で結合する | TEXTJOINの第1引数に指定する文字と、第2引数TRUE/FALSEを正確に選べるか |
| 空白セルを除いて結合する | 第2引数にTRUEを指定することを理解しているか |
| 複数セルを範囲指定でまとめる | CONCATに範囲(A1:C1など)を指定できることを知っているか |
| CONCATENATE関数の置き換え問題 | 同等の機能をCONCATで書き直せるか |
| 文字列結合と他の関数との組み合わせ | TEXT・IFERRORとの組み合わせパターン |
試験本番での注意点
MOS試験はExcel上で実際に操作する形式のため、関数の構文を正確に覚えておくことが重要です。試験中は関数の引数ガイド(ポップアップ)が表示されますが、引数の順番や意味を理解していないと時間をロスします。特にTEXTJOINは「区切り文字 → 空のセルを無視 → テキスト」の順番で引数を指定することを確実に覚えておきましょう。
また、MOS試験では問題文に「空白セルを無視して」という指示がある場合は第2引数にTRUEを、「空白セルも含める」場合はFALSEを選ぶ、という判断が素早くできるようにしておくことが得点のポイントです。練習の際は実際に空白セルを含む範囲でTEXTJOINを試し、TRUE/FALSEの挙動の違いを手を動かして確認しておくことを強く推奨します。
練習問題:数式を自分で書けるか確認する
以下の状況に対応する数式を自分で記述できるか確認しましょう。
| 問題 | 模範解答 |
|---|---|
| B2:G2の範囲を「・」区切りで結合し、空白セルは除く | =TEXTJOIN(“・”,TRUE,B2:G2) |
| A2の姓とB2の名を全角スペースでつなぐ | =CONCAT(A2,” ”,B2) |
| A2:D2を区切りなしで連結し、空白セルも含める | =TEXTJOIN(“”,FALSE,A2:D2) |
| A2からC2を改行で結合する(折り返し表示前提) | =TEXTJOIN(CHAR(10),TRUE,A2:C2) |
| B2:F2をカンマ区切りで結合(エラーセルは空白扱いで除外) | =TEXTJOIN(“,”,TRUE,IFERROR(B2:F2,””)) |
模範解答を確認したうえで、実際にExcelを開いて同じ状況を再現し、数式を入力して結果を確かめることが、MOS試験合格への最短ルートです。関数ウィザードだけに頼らず、直接セルに数式を入力する練習を積み重ねることで、試験本番での操作速度が格段に向上します。
まとめ:CONCAT・TEXTJOINを使い分けて文字列結合を効率化しよう
本記事では、ExcelのCONCAT関数とTEXTJOIN関数について次の内容を解説しました。
- CONCAT:セル範囲をまとめて連結できる関数で、区切り文字は手動で追加する
- TEXTJOIN:区切り文字を第1引数で一括指定でき、第2引数TRUEで空白セルを自動スキップできる
- 区切り文字にはカンマ・スペース・読点・CHAR(10)など多様なパターンが使える
- 空白セルのスキップはTEXTJOINの第2引数をTRUEに設定する
- エラー対処はIFERROR関数と組み合わせて空文字に変換してから結合する
- CONCATENATEは後方互換のためCONCAT・TEXTJOINへの移行が推奨される
- MOS試験ではTEXTJOINの引数の順番・TRUE/FALSEの判断が頻出問題
CONCAT・TEXTJOINを活用すると、住所結合・氏名整形・タグ一覧作成など、これまで手動コピペや複雑なIF関数で対応していた作業が、短い数式で一発解決できるようになります。まずは手元のデータで空白セルを含む範囲にTEXTJOINを試してみてください。MOS Excel試験の対策としても、実際に手を動かすことが最も効果的な学習方法です。文字列結合の実務スキルとMOS試験対策を同時に磨いて、Excel活用の幅をさらに広げましょう。
