エクセルでは、複数のセルを結合して、1つの文字列として表示できます。そして、結合する方法は記号を使う方法や関数を利用するやり方など複数あります。ここでは、文字列の結合方法を取り上げるとともに、結合できない場合の対処策も紹介します。
エクセルで記号を使って文字列を結合する方法
エクセルで文字列を結合する方法は主に2つあります。その一つが、「記号を使う方法」です。使用する記号は「&(アンド)」です。
例えば、B1セルとC1セルを結合させてD1セルに表示させる場合は、まずD1セルに「=」を入力し、続けて最初に結合したいセル(B1)を選択して「&」を入力し、次に結合したいセル(C1)を選んでエンターキーを押下します。数式としては「=B1&C1」という形になるでしょう。なお、「&」を使用した文字列の結合は3つ以上も可能です。結合したいセルとセルの間に「&」をつけることで複数のセルの文字列を結合できます。
記号を使った文字列の結合方法では、結合結果を表示させるセルが計算式になります。結合したい文字列が複数あり、同じ列や行に入力されているなど秩序だった形式のデータであれば、セルの計算式をコピーして一気に文字列の結合が行なえます。
エクセルで関数を使って文字列を結合する方法
関数を使って文字列を結合する方法は3つあります。ここでは、それぞれの関数の構文や使い分けるポイントを紹介します。
CONCATENATE関数
「CONCATENATE関数」を使うと、複数の文字列を結合できます。バージョンが古いエクセルでも使用可能な点がメリットと言えるかもしれません。CONCATENATE関数の構文は以下の通りです。
「=CONCATENATE(文字列1,文字列2)
文字列の指定は「&」を用いる時とほぼ同様です。CONCATENATE関数は「&」を「,」に代え文字列を結合する方法です。
CONCAT関数
「CONCAT関数」を使うと、テキストの文字列の一覧や範囲を指定して結合できます。なお、このCONCAT関数は比較的新しい関数で、Excel2016・Excel2019・Office365などでしか使用できません。CONCAT関数の構文は以下の通りです。
「=CONCAT(テキスト1,…)」
あるいは
「=CONCAT(セルを範囲選択)」
CONCAT関数は、セルを一つ一つカンマで区切りながら指定することもできますが、範囲選択も可能です。結合したいセルをドラッグして選択できるため、たくさんのセルを結合したい場合は便利です。
TEXTJOIN関数
「TEXTJOIN関数」を使うと、テキスト文字列の一覧や範囲を結合できます。前述したCONCAT関数と同様、TEXTJOIN関数はExcel2016・Excel2019・Office365などで使用できる新機能です。TEXTJOIN関数の構文は以下の通りです。
「=TEXTJOIN(区切り文字,テキスト1,…)」
あるいは
「=TEXTJOIN(区切り文字,セルを範囲選択)」
TEXTJOIN関数は、テキストなどの選択の前に、TRUE・FALSEなどの区切り文字を選択できるようになっていますが、文字列の結合の際には入力は不要です。
それぞれの関数の使い分け方
CONCATENATE関数については、「&」を使うのとほとんど同じと考えてよいでしょう。一方、ネーミングが似たCONCAT関数は、範囲指定できるのがメリットです。範囲指定のやり方も使用頻度の高いSUM関数と似ているため、違和感なく使えるでしょう。TEXTJOIN関数は同じ文字列の結合でも、結合する文字列同士の間に何らかの文字や記号などを入れる際に使います。例えば、B1セルとC1セルの間に「,」をつける場合は、以下のように記載します。
=TEXTJOIN(",",TRUE,B1,C1)
この場合、B1セルとC1セルは範囲指定でも構いません。TEXTJOIN関数の良いところは、空白セルがあった場合は無視して結合できることです。上記のように、文字列と文字列に間に何かの文字を入れる場合であっても、空白セルには入らない仕組みになっています。使い方によっては、TEXTJOIN関数は非常に役立ちます。
エクセルで改行しながら文字列を結合する方法
エクセルで文字列を結合する際、同じセル内で改行した形で表示させたいという要望もあるはずです。例えば、郵便番号・住所・電話番号が記載されている別々のセルがある場合は、すべてを結合させて表示させると見にくくなってしまうでしょう。その場合は「CHAR関数」を使うと良いかもしれません。
例えば、A1セルに郵便番号、B1セルに住所、C1セルに電話番号が入っていて、それらをすべて一つのセルに改行して表示させる場合は、以下のように記載します。
=A1&CHAR(10)&B1&CHAR(10)&C1
なお、CHAR()の中の「10」という数字は改行を意味します。「CHAR(10)」と記載することで、前後で指定したセルの間に改行を入れています。CHAR関数を使うと、TEXTJOIN関数と同様、結合するセルの間などにスペースや記号などを入れられます。そのうちの、よく利用される数字の例を紹介します。
- 32「 」(半角スペース)
- 33「!」
- 34「“」
- 35「#」
エクセルで文字列を結合できないときの対処法
エクセルで文字列を結合しようと思ってもできないことがあります。ここでは、エクセルの文字列を結合できない原因と理由、試したい対処策をご紹介します。特定の状況下で文字列の結合ができない場合の解決策も記載しますので参考にしてください。
文字列を結合する式が全角で入力されている
&を使う場合も関数を使用するケースでも、計算式に全角文字が使われていると、エクセルは文字列だと判断してしまいます。半角で入力するとうまく結合できるはずです。
表示形式が正しくない
文字列を結合して表示するセルの表示形式が正しくないために、結果がうまく表示されない場合があるかもしれません。例えば、A1セルとB1セルを&を使って結合した際、「=A1&B1」と数式通りに表示される場合は、表示形式が文字列になっていることが考えられます。表示形式を「文字列」から「標準」に変更すると問題は解決されるでしょう。
なお、文字列の結合を表示するセルが複数あり、表示形式を一括して標準に変更する場合、対象のセルを一つずつアクティブにしてエンターで確定するのは手間がかかります。対象のセルすべてを選択して表示形式を変え、区切り位置の機能で列のデータ形式を「G/標準」を選択して完了をクリックすると、一括して表示形式を標準に変更できるので便利です。
日付と文字列の結合が不可
異なった種類の文字列を結合しようとするとうまくいかないことがあります。代表的なのは、日付と文字列の結合でしょう。文字列は表示できても、日付が数字のみで記載される場合は、TEXT関数を使うことをおすすめします。TEXT関数は、結合するセルの表示形式を指定できます。例えば、B1セルにある日付の表示を「年/月/日」の形式で表示させたい場合は、以下のように記載しましょう。
「TEXT(B1,"yyyy/mm/dd")」
TEXT関数を使う場合は、指定する形式の前後を「”」(ダブルクォーテーション)で囲います。
「#NAME?」エラーが表示される
セルを結合する際に、それぞれのセルには記載されていない何らかの文字列を加えることもあるでしょう。そのような場合に意図したとおりにセルの結合結果が表示されず、エラーになるケースがあります。セルではなく、計算式の中に何らかの文字を加える場合は、その文字列を「“」(ダブルクォーテーション)で囲ってください。
CHAR関数を使うと、文字列は結合できるものの改行されない
CHAR関数を使ってうまく改行ができない場合は、セルの初期設定を確認しましょう。セルの初期設定の「配置」タブを開き、文字の制御の項目で「折り返して全体を表示する」にチェックを入れれば、改行しながら文字列を結合できるはずです。
エクセルで文字列を結合する関数や結合できない場合の対処法まとめ
エクセルでは、複数のセルにある文字列を「&」や様々な関数を利用することで簡単に結合できるようになっています。また、結合するセルとセルの間に何らかの文字列などを挿入する機能もあります。文字列の結合ができない場合には、式を見直すとともに表示形式や使用する関数が正しいかどうかを確認しましょう。