Windows 10 & Office 2016 Excel 2016

複数の文字列を結合してひとつの文字列にするには

投稿日:2017年4月9日 更新日:

Excelで1つのセルに他のセルの文字列を結合した文字列を表示する方法を紹介します。

5つの方法を紹介しますので、使用環境に合った方法で操作してみてください。

Excel2013以降であれば、フラッシュフィルがお勧めです。

Excel2013のフラッシュフィル

参考Excel2019では、CONCAT関数TEXTJOIN関数 が追加されました。

関数や演算子で設定していると、参照元の値が変更になっても自動的に変更されますが、フラッシュフィルでは自動的に変更はされません。

どちらを選択した方がいいのかは、使用する状況によって選択してください。

[&](アンバサンド)で結合する

下のような表があります。

セル[E2]にセル[B2]と、セル[C2]と、セル[D2]の文字を結合した文字列を表示します。

サンプル表

セル[E2]を選択して、以下のように入力します。

=B2&C2&D2

もちろん、セル番号はクリックして挿入して構いません。

数式バーに、「=」を入力、セル[B2]をクリック、「&」を入力、セル[C2]をクリック、「&」を入力、セル[D2]をクリックです。

そして、この数式をコピーします。

ドラッグでもいいですし、フィルハンドルをダブルクリックでもいいです。

この方法については、以下のページでも解説しています。

セルとセルの文字列をつなぐには

数式

参考フィルハンドルが表示されない場合は、設定を確認してください。

オートフィル機能が使用できない時は[Excelのオプション]で確認

フィルハンドルってご存知ですか?Excelのワークシートでアクティブセルの右下に現れる小さい四角の形のものです。 これって便利ですよね? こ ...

続きを見る

空白を追加して結合

空白文字を途中に追加したい場合は、以下のようにします。

=B2&" "&C2&" "&D2

空白を追加して結合

文字列を追加したい場合

数式内に文字列を追加したい場合は、ダブルクォーテーションで囲んで入力します。

=A1&"様"

文字列を追加して結合

文字列と日付を結合する場合

文字列と日付を結合すると、日付の表示形式がシリアル値になってしまいます。

文字列と日付を結合

表示形式のまま結合したい場合は、先に日付のセルを文字列に変換しておきます。

日付を文字列へ変換して2つのセルを結合

以下の記事で解説しています。TEXT関数を使う方法と、メモ帳に貼り付けて、それをコピーして貼り付ける方法があります。

日付を文字列に変換するには

CONCATENATE関数を使う

関数を使う方法です。

セル[E2]を選択した状態で、[数式]タブをクリックして、[関数ライブラリ]グループにある[文字列操作]から[CONCATENATE]をクリックします。

「コンカティネイト」と読みます。

ポップヒントには、下のように記されています。

CONCATENATE(文字列1,文字列2,)

複数の文字列を結合して1つの文字列にまとめます。

CONCATENATE関数

クリックすると、下のように[関数の引数]ダイアログボックスが表示されます。

[関数の引数]ダイアログボックスを表示する方法は、ほかにもあります。

関数の引数ダイアログボックス

[文字列1]のテキストボックスにカーソルがあることを確認して、セル[B2]をクリックします。

[文字列1]のテキストボックスにはセル[B2]が入ります。

続けて、同じように操作して、[文字列2]のテキストボックスには、セル[C2]、[文字列3]のテキストボックスにはセル[D2]が表示されるようにします。

[OK]ボタンをクリックしてダイアログボックスを閉じます。

関数の引数ダイアログボックスの完成

セル[E2]の数式バーには下のように「=CONCATENATE(B2,C2,D2)」と表示されて、セル[E2]には文字列が結合された状態になっていれば、フィルハンドルをダブルクリックして関数をコピーします。

関数のコピー

下のように隣の列と同じ最終行まで、関数がコピーされます。

フィルハンドルでコピーした結果

新関数[CONCAT関数]ではセル範囲を指定可

Excel2019では、CONCAT関数が追加されました。

「コンカット」と読みます。

使用できる環境については、Microsoftのページで確認してください。

CONCAT 関数(Microsoft)

[数式]タブの[関数ライブラリ]グループにある[文字列操作]には、[CONCATENATE]はありませんが、使用できないわけではありません。

CONCAT(テキスト1,)

テキスト文字列の一覧または範囲を連結します

CONCAT関数

引数にセル参照だけでなく、セル範囲も指定できるようになっています。便利になりました。

CONCAT関数

以下は、[CONCAT]の[関数の引数]ダイアログボックスです。

CONCATENATE関数]との違いが分かると思います。

[CONCAT関数の引数]ダイアログボックス

参考新関数を使用できないバージョンのExcelで表示した場合の挙動については、以下で解説しています。

新しい関数を旧バージョンのExcelで表示した場合

新関数[TEXTJOIN関数]は区切り文字を挿入して結合

Excel2019では、TEXTJOIN関数も追加されました。

使用できる環境については、Microsoftのページで確認してください。

TEXTJOIN 関数(Microsoft)

[数式]タブの[関数ライブラリ]グループにある[文字列操作]の中にあります。

[文字列操作]の下方にあります。

TEXTJOIN(区切り文字,空のセルは無視,テキスト1,)

区切り文字を使用してテキスト文字列の一覧または範囲を連結します

参考以下の画像で使用している省略波線は、Excelの図形で作成しています。

[数式]タブの[関数ライブラリ]グループにある[文字列操作]-TEXTJOIN

例えば、以下のように使用します。

TEXTJOIN関数

TEXTJOIN関数の引数ダイアログボックスです。

[TEXTJOIN関数の引数]ダイアログボックス

  • 区切り文字
    文字列の間に挿入する区切り文字を指定します。テキストボックスには、ダブルクォーテーションで挟まれていますが、これは、自動的に入力されます。
    ここでは[,]を使用していますが、[-]などの区切り文字でも構いません。
  • 空のセルは無視
    空のセルに対しての処理を指定します。
    [TRUE]を指定した場合、空のセルを無視して、区切り文字は挿入されません。
    [FALSE]を指定した場合、空のセルも文字列として、必ず区切り文字を挿入します。
  • テキスト
    結合する文字列を指定します。252個まで可能です。セル範囲でも構いません。

以下のように指定しても同じということです。

[TEXTJOIN関数の引数]ダイアログボックス

改行して連結したい場合

改行して連結したい場合は、[区切り文字]に[CHAR(10)]を使用します。

数式を入力するセルは、[ホーム]タブの[配置]グループにある[折り返して全体を表示する]をオンにしておきます。

そして、以下の数式を入力します。

=TEXTJOIN(CHAR(10),TRUE,B2:D2)

TEXTJOIN関数を使ってセルを改行して連結

[関数の引数]ダイアログボックスは以下のようになります。

TEXTJOIN関数の[関数の引数]ダイアログボックス

2つのセルを改行して連結する場合は、[=A1&CHAR(10)&B1]でかまいませんが、連結するセルが多くなると面倒なので[TEXTJOIN]関数を使用したほうが効率的です。

2つのセルを改行して連結

参考Excel2019では、IFS関数SWITCH関数も追加されています。IF関数の入れ子(ネスト)が苦手な方は、IFS関数はお勧めです。

日付から月・四半期・上期下期を求める(MONTH/IFS/SWITCH関数)

Excel2019では、複数の条件や値を検索して結果を求める[IFS(イフエス)関数]と[SWITCH(スイッチ)関数]が追加されています。 ...

続きを見る

MAXIFS関数MINIFS関数も使用できるようになっています。

複数の条件で最大値/最小値を求める[MAXIFS関数]と[MINIFS関数]

Excel2019では複数の検索条件で最大値・最小値を求められる[MAXIFS(マックスイフエス)関数]と[MINIFS(ミニマムイフエス) ...

続きを見る

フラッシュフィルを使う

フラッシュフィルという機能は、Excel2013以降のバージョンで使用できる機能です。

セル[E2]に下のように表示したい文字列を入力します。文字列をコピーして貼り付けしても構いません。数式や関数ではなく、入力します。

面倒かもしれませんが、1回切りでOKです。

入力が終わったら確定して、[ホーム]タブの右端の方にある[フィル]ボタンをクリックして、[フラッシュフィル]をクリックします。

もし、一行の入力でうまくいかない場合は、その下の行も入力して[フラッシュフィル]を実行してみてください。

フラッシュフィル

あっという間に文字列を結合した状態にしてくれます。

フラッシュフィルのポップヒントには以下のように記されています。

フラッシュフィル(Ctrl+E)

値を自動的に埋め込みます。結果として使いたいサンプルをいくつか入力したら、値を埋め込みたい列のセルをアクティブにした状態にしておきます。

フラッシュフィルの結果

フラッシュフィルについては、以下の記事で詳しく解説しています。フラッシュフィルであれば、文字列の結合も分割もできます。

フラッシュフィル(文字列の結合や抜き出しをワンクリックで)

フラッシュフィルとは、Excelが入力されたデータから規則性を自動的に認識して実行してくれる機能です。Excel2013の新機能です。 これ ...

続きを見る

フラッシュフィル

参考セルの文字列を複数のセルに分割したい場合の方法は、以下の記事で解説しています。

氏名の列を姓と名の列に分割するなら[区切り位置指定ウィザード]

Excelで氏名セルを姓と名の別々のセルに分けるという作業をしなければならないことがあります。 F列の氏名は、空白スペースで区切られています ...

続きを見る

1つのセルの内容を複数のセルに分割(指定した文字数で分割)

区切り位置指定ウィザードを使って、8個の並んだ数字を4個の数字(年)、2個の数字(月)、2個の数字(日)に分割します。 区切り位置指定ウィザ ...

続きを見る

関数を使って氏名の列を[姓]と[名]に分割してふりがなを表示

Excelで氏名の列を姓と名の列に分割したい場合がありますね。 区切り位置指定ウィザードを使用して分割する方法は、以下の記事で解説しています ...

続きを見る

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

関連記事30件

moneytizerPCのみ

Profile

執筆者/はま

-Windows 10 & Office 2016 Excel 2016

Copyright © 2001-2024 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2024 AllRights Reserved Powered by AFFINGER4.