エクセルで文字をつなげる方法(&・CONCAT・TEXTJOIN)
※写真はイメージです
書き方はこれだけ
=A2&" "&B2 =TEXTJOIN("区切り", TRUE, 範囲)文字をつなげるなら、まず &(アンド)で十分です。間に入れたい文字(空白・「様」・「-」)は " " で囲みます。たくさんのセルを区切り文字でまとめたいときだけ、TEXTJOIN(Excel 2019以降)を使えばいいと思います。
この図の表をExcelファイルでダウンロード(問題と答えのシートつき)
&・CONCAT・TEXTJOINの違い
| 方法 | 書き方 | 向いている場面 | 使えるExcel |
|---|---|---|---|
| & | =A2&B2 | 2〜3個をつなげる | すべて |
| CONCAT | =CONCAT(A2:C2) | 範囲をまとめてつなげる | 2019以降 |
| TEXTJOIN | =TEXTJOIN("、",TRUE,A2:A5) | 区切り文字を入れて、空欄を飛ばしてつなげる | 2019以降 |
| CONCATENATE | =CONCATENATE(A2,B2) | 古い書き方(今はCONCATを使う) | すべて |
区切り文字を入れてまとめる(TEXTJOIN)
数字や日付をつなげるとき
よくあるのが、日付や金額をそのまま&でつないで、日付が「46337」のような数字に、金額が「,」のない数字になるパターンです。TEXT関数で見た目を決めてからつなげれば大丈夫です。
| やりたいこと | 式 |
|---|---|
| 日付を「11月9日」で | =TEXT(A2,"m月d日")&"締め" |
| 金額を「1,980円」で | =TEXT(B2,"#,##0")&"円" |
| 改行を入れてつなげる | =A2&CHAR(10)&B2(セルの「折り返して全体を表示」をオン) |
うまくいかないとき
1式がそのまま文字で出る
セルの表示形式が「文字列」になっています。
直し方表示形式を「標準」にしてから、入れ直します。
2日付が数字になる
=A2&"締め"=TEXT(A2,"m月d日")&"締め"日付の中身は数字なので、そのまま数字でつながります。
直し方TEXTで見た目を決めてからつなげます。
3#NAME? になる
TEXTJOINやCONCATが使えない古いExcelです。
直し方&でつなげるか、CONCATENATEを使います。
サンプルファイルで試す
黄色のセルに&・TEXTJOINの式を入れて、「答え」のシートと比べてください。
よくある質問
文字をつなげるとき、間に空白を入れるには?
=A2&" "&B2 のように、" " で空白を囲んで間に入れます。全角の空白なら " " です。
CONCATENATEとCONCATの違いは?
CONCATENATEはセルを1つずつ指定、CONCATは範囲(A2:C2)をまとめて指定できます。今はCONCATを使うのがおすすめです。
Googleスプレッドシートでも使えますか?
はい。&・CONCATENATE・TEXTJOINは使えます。スプレッドシートのCONCATは2つの値だけをつなげる関数なので、範囲には使えません。
一緒に覚えたい関数・操作
- CONCAT関数(専用のページ)
- TEXTJOIN関数(専用のページ)
- CONCATENATE関数(専用のページ)
- LEFT・RIGHT・MID関数(分ける)
- TEXT関数(表示形式を決める)
- TRIM・SUBSTITUTE関数
- Excel関数一覧
このページについて
操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報