Excelの文字を区切り付きでつなぐ|TEXTJOINで空欄と空白を区別する
「受付」「午前」など別々のセルにある文字を、一つの見やすい表示にまとめるならTEXTJOIN関数を使えます。区切りを付けることと、不要な空白を掃除することは別です。WindowsのMicrosoft 365デスクトップ版で、配布用の一覧に載せる短い文字列を作ります。
元の項目を残し、表示用の列を一つ作る
A1を「担当」、B1を「補足」、C1を「時間帯」にします。A2へ「受付」、C2へ「午前」を入力し、B2は何も入力しない空欄にします。D1には「配布用の表示」と書きます。これは架空の案内表です。
ここで作るのは、A列からC列を材料にした表示です。セルを結合して表の枠を一つにする操作ではありません。後で時間帯を直せるよう、元の三つの列はそのまま残しておきます。数量や日付の表示書式まで連結する例には広げず、今回は文字だけで試します。
区切り文字と、空欄を無視する指定を入れる
D2へ `=TEXTJOIN("/",TRUE,A2:C2)` と入力します。最初の引数の「/」は、項目の間に入れる区切りです。文字列なので二重引用符で囲みます。TRUEは、範囲内の空のセルを無視する指定です。
この入力例では「受付/午前」が期待する結果です。補足が空欄でも、区切りだけが余分に残る表示にしたくないときの指定です。補足に「正面入口」を入力した場合は「受付/正面入口/午前」になり、三つの項目を読み分けられるか確かめます。
空欄と、スペースが入ったセルを区別する
比較用にB2をもう一度空欄にし、E2へ `=TEXTJOIN("/",FALSE,A2:C2)` と入力します。FALSEでは空のセルも含めるため、例の結果は「受付//午前」です。空欄の位置を残したい場合と、省略したい場合とで使い分けます。
次に、B2へ半角スペースを一つだけ入れた場合を考えます。見た目は空でも文字が入っているため、TRUEを使ったD2でも「受付/ /午前」となります。空欄を無視する指定を、スペースの削除機能として使わないことが大切です。
| B2の内容 | 空欄の扱い | この例の期待結果 |
|---|---|---|
| 実際の空欄 | TRUE | 受付/午前 |
| 実際の空欄 | FALSE | 受付//午前 |
| 半角スペース1文字 | TRUE | 受付/ /午前 |
| 正面入口 | TRUE | 受付/正面入口/午前 |
直す場所は元の項目と数式に分ける
区切りを「・」へ変えたい場合は、D2の数式の区切り文字を直します。担当や時間帯が違う場合はA2やC2を直します。表示結果だけを手入力で上書きすると、元の項目との対応が分かりにくくなるので、どちらを修正するのかを先に決めます。
補足欄が意図せずスペースだけになっていたら、そのセルを確認して不要な文字を取り除きます。名前や説明の内部に必要な空白まで一括で消さないでください。TEXTJOIN自体は、文字の意味や同じ語の重複を判定して整理するものではありません。
印刷するのは、最後まで読める表示にする
一つにまとめるほど、表示用のセルは長くなります。印刷プレビューで右側の時間帯まで読めるか、折り返した後に行の下側が欠けていないかを確認します。文字を小さくする前に、補足を別の列のまま残す方が読みやすくないかも比べます。
この関数には、結果が32,767文字を超えるとエラーになる制限もあります。長文を一つのセルへ詰める用途に広げず、短いラベルとして仕上げます。最後に元の三項目と配布用の表示を読み合わせ、修正後に作り直したPDFや紙面にも反映されていることを確認してください。
次に確認すること
表示用の列でTEXTJOINを使い、空欄・スペース・補足ありの三つを試します。元の項目との一致を確認してから、配布サイズで末尾まで読めるかを点検してください。
あわせて確認する
参考資料
- Microsoft:TEXTJOIN function
https://support.microsoft.com/en-us/excel/functions/textjoin-function
確認日:2026-10-03
WindowsのMicrosoft 365デスクトップ版。文字列と実際の空欄。空白除去・重複除去・数値書式継承は主張しない。
出典は各記事の判断に必要な範囲で参照しています。機種・アプリ固有の操作は、他の環境で同一になることを保証しません。条件を置いた計算例と、メーカー等が明示した仕様を区別してください。