複数セルのデータを改行して1つのセルにまとめる関数と計算式【TEXTJOIN】

Excelワザ: 複数セルのデータを改行して1つのセルにまとめる方法 (TEXTJOIN + CHAR(10))

Excelで作業していると、「縦に並んだリスト項目を1つのセルにまとめたい」「複数のセルに入力された住所や備考を、改行して1つのセルに表示したい」といった場面はありませんか?

単純にコピー&ペーストすると、改行されずに横につながってしまったり、一つずつ手作業で改行を入れるのは面倒ですよね。

そんな時に役立つのが、Excel 2024以降で追加されたTEXTJOIN関数です!これを使えば、指定した文字で区切りながら、複数のセルの内容を簡単に結合できます。そして、区切り文字に「改行」を指定することで、目的を達成できるのです。

この記事では、TEXTJOIN関数を使って複数セルのデータを改行区切りで1つのセルに結合し、それを適切に表示する手順を解説します。

使う関数: TEXTJOIN と CHAR(10)

このテクニックで中心となるのはTEXTJOIN関数です。これは、指定した区切り文字を使って、テキスト文字列やセル範囲の内容を結合するための関数です。

そして、結合する際に「改行」を入れるための鍵となるのがCHAR(10)です。CHAR関数は指定した番号に対応する文字を返す関数で、10番はExcel内で「改行文字(ラインフィード)」を表します。

計算式の基本形

複数セルの範囲の内容を、改行を区切り文字として結合する場合の基本的な計算式は以下のようになります。

=TEXTJOIN(CHAR(10), TRUE, 範囲)

各部分の意味は次の通りです。

  • CHAR(10): これが1番目の引数「区切り文字」になります。各セルの内容を結合する際に、間に改行が入ります。
  • TRUE: 2番目の引数「空のセルを無視」です。TRUEを指定すると、結合する範囲内に空のセルがあった場合、そのセルは無視され、結果に余計な改行が入りません。ほとんどの場合、TRUEを指定するのが便利です。(もし空セルも意図的に改行として反映させたい場合はFALSEを指定します。)
  • 範囲: 3番目以降の引数で、結合したい文字列が含まれるセル範囲を指定します。(例: C1:C4A2:A10など)

実践!リストを1つのセルにまとめてみよう

それでは、具体例を使って手順を見ていきましょう。以下の図のように、C1セルからC4セルに都道府県名が入力されているとします。

このC1:C4のリストを、A1セルに改行区切りでまとめて表示させます。

手順1: TEXTJOIN関数の数式を入力

まず、結果を表示したいセル(この例ではA1セル)を選択し、数式バーに以下の計算式を入力します。

=TEXTJOIN(CHAR(10), TRUE, C1:C4)

Enterキーを押して数式を確定します。この時点では、A1セル内では改行されず、一行に表示されているように見えます。

手順2: 「折り返して全体を表示する」をオンにする

次に、セル内で改行コードを有効にするための設定を行います。A1セルを選択した状態で、Excelのリボンメニュー(上部のメニュー)を確認します。

「ホーム」タブの中にある「配置」グループの中に、「折り返して全体を表示する」というボタンがあります。これをクリックしてオンの状態にします。

この設定を行うことで、A1セルに含まれる改行コードCHAR(10)がExcelに認識され、セル内で正しく改行が行われるようになります。

まとめ

Excelで複数のセルのデータを、1つのセル内に改行を入れてまとめたい場合は、以下のステップで簡単に行えます。

  1. 結合結果を表示したいセルに、=TEXTJOIN(CHAR(10), TRUE, 結合したいセル範囲) という数式を入力する。
  2. 数式を入力したセルの書式設定で、「ホーム」タブの「折り返して全体を表示する」をオンにする。
  3. 必要に応じて、セルの行の高さを調整する。

コメント