別のセルに入力されている文字を結合し、1つのセルに表示する方法です。
- CONCAT関数
- CONCATENATE関数
- TEXTJOIN関数
- &(アンパサンド)
例:A列とB列の結合結果をC列に表示する
CONCAT関数
Office 2019 または Office 365で使用できる関数です。
テキストの文字列の一覧または範囲を結合する関数です。連続するセルの文字列をつなぐ場合に便利です。
CONCAT(文字列1, 文字列2,・・・)
結合する文字列が連続するセルの場合
CONCAT(範囲)
最大文字列は253
以下はマイクロソフトのサポートより。
テキスト項目には最大 253 のテキスト引数がを設定可能です。 各引数には、文字列、またはセルの範囲などの文字列の配列を指定できます。
マイクロソルトのサポートより引用:https://support.microsoft.com/
試しに範囲で254セルの文字をCONCAT関数で設定したら、結果は返されていました。
値に変換後の最終文字を確認すると「254」
この他に2,800まで試しましたが、結果は返っていました。「,」での引数が253までということなのかもしれません。そもそも253も文字をつなぐことはなさそう。
結果の文字列の上限
結合結果が 32,767 文字 を超えると #VALUE! エラーを返します。
以下の図は上が32,767文字、下が32,768文字で#VALUE! エラー。2行目の数字は1行目の文字数(LEN関数の結果)です。
設定方法
セルC2に設定する関数
=CONCAT(A2:B2)
(1)セルC2に[「=CONCAT」と入力します。
「=con」と入力すると関数の候補が表示されるので、該当する関数名をダブルクリックすると簡単に設定できまます。
(2)結合する文字列のセルを選択します。
結合する文字列が隣同士の場合は、連続して選択できます。
(3)セルC2の右下の「■」をダブルクリックし、セルC6まで式をコピーします。
文字列と文字列の間に区切記号を入れる場合
文字列と文字列の間に「-」ハイフォンを入れる場合のセルC2に設定する関数です。
=CONCAT(A2,"-",B2)
区切記号を入れる場合は、設定に手間がかかります。CONCATENATE関数や&で結合する方法と変わらないです。
CONCATENATE関数
複数の文字列を結合して1つの文字列にまとめる関数です。CONCAT関数ができる前の関数です。
CONCATENATE(文字列 1 ,文字列 2, ・・・)
最大 255 個まで指定できます。合計文字数は 8,192指定可能。
マイクロソフトのサポートに以下の内容が記載されています。
重要: Excel 2016、Excel Mobile、 Web 用 Excelの場合、この関数は CONCAT 関数に置き換えられています。 CONCATENATE 関数は、引き続き下位互換性がありますが、今後は CONCAT を使用することを検討する必要があります。 これは、CONCATENATE が Excel の将来のバージョンで利用できない可能性があるためです。
引用元:https://support.microsoft.com
設定方法
セルC2に設定する関数
=CONCATENATE(A2,B2)
(1)セルC2に[「=CONCATENATE」と入力します。
「=conc」と入力すると関数の候補が表示されるので、該当する関数名をダブルクリックすると簡単に設定できまます。
(2)文字列を選択後「,」カンマを入力し、つなげる文字列を選択します。
(3)セルC2の右下の「■」をダブルクリックし、セルC6まで式をコピーします。
文字列と文字列の間に区切記号を入れる場合
文字列と文字列の間に「-」ハイフォンを入れる場合のセルC2に設定する関数です。
=CONCATENATE(A2,"-",B2)
&(アンパサンド)
&(アンパサンド)を文字列と文字列の間に入れると、複数の文字列を結合します。
文字列1&文字列2&・・・
設定方法
セルC2に設定する式です。
=A2&B2
(1)セルA2をクリックし、「&」を入力、セルB2をクリックし、エンターを押します。
(2)セルC2の右下の「■」をダブルクリックし、セルC6まで式をコピーします。
文字列と文字列の間に区切記号を入れる場合
文字列と文字列の間に「-」ハイフォンを入れる場合のセルC2に設定する関数です。
=A2&"-"&B2
TEXTJOIN関数
文字列と文字列の間に同じ区切記号を入れる場合に便利です。例えば以下のように文字列の間に「/」を入れてA列~D列をつなぐ場合。
TEXTJOIN (区切り記号,True(またはFalse),文字列 1, 文字列 2,・・・)
結合結果が 32,767 文字 を超えると #VALUE! エラーを返します。
関数の設定例・セルE2に入力する関数です。
=TEXTJOIN(“/”,TRUE,A2:D2)
2番目に設定すTrueまたはFalseの違いについて。trueの場合は空白セルは無視されます。セルC2が空白の場合の例です。
次の例はfalseの場合です。