Excel(エクセル)でセルの文字列を分割/結合する方法

Excel(エクセル)でセルの文字列を分割/結合する方法

Microsoft Excel(エクセル)で、一つのセルに入力されている文字列を分割して、複数のセルに入力したり、反対に複数のセルに入力されている文字列を結合して、一つのセルに入力したい場合があります。

そこでここでは、Microsoft Excel(エクセル)で、セルに入力されている文字列を分割したり結合する方法を紹介します。

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit22H2
Microsoft Excel for Microsoft 3652402
created by Rinker
マイクロソフト
¥13,545 (2024/04/28 09:40:35時点 Amazon調べ-詳細)

文字列を結合する

&演算子

複数のセルに入力されている文字列を結合するもっとの簡単な方法は「&」演算子を使った方法で、以下のように文字列間を&演算子を挟むだけです。

=文字列1&文字列2...

Excel(エクセル)でセルの文字列を分割/結合する方法

文字列には、セル番号だけでなく直接文字列を指定することもできます。(文字列はダブルクォーテーションで囲みます。)

Excel(エクセル)でセルの文字列を分割/結合する方法

CONCAT関数

複数のセルに入力されている文字列を関数で結合するなら「CONCAT」関数が一番シンプルです。

CONCAT関数の書式

=CONCAT(文字列1,[文字列2]...)

CONCAT関数の使い方

たとえば、A1からB1に入力されている文字列を結合したいときは、以下のように数式を入力します。

=CONCAT(A1,B1)

Excel(エクセル)でセルの文字列を分割/結合する方法

文字列には、セル範囲を指定することもできます。

=CONCAT(A1:B1)

Excel(エクセル)でセルの文字列を分割/結合する方法

TEXTJOIN関数

複数のセルに入力されている文字列を区切り文字を挿入して連結したいときにはTEXTJOIN関数が便利です。

TEXTJOIN関数の書式

=TEXTJOIN([区切り文字],空のセルは無視,文字列1,[文字列2]...)

[区切り文字]には、連結する文字列間に挿入する区切り文字を指定し、[空のセルは無視]は「TRUE」「FALSE」で指定し、既定値は「TRUE」です。

TEXTJOIN関数の使い方

たとえば、以下のようなシートでセルA2からC2までに入力されているの文字列を、区切り文字に「-」を指定して連結したいときは、以下のように計算式を入力します。

=TEXTJOIN("-",,A2:C2)

Excel(エクセル)でセルの文字列を分割/結合する方法

文字列を分割する

エクセルでは「区切り位置ウィザード」やTEXTSPLIT関数を使って、セルに入力されている文字列を区切り文字や長さで分割することができます。

区切り位置ウィザード

「区切り位置ウィザード」を使った方法では、区切り文字を指定してセルの文字列を分割したり、文字数で分割することができます。

区切り文字で分割する

指定した区切り文字でセルの文字列を分割するときの手順は、次のとおりです。

まず、分割したい文字列が入力されているセルの範囲を選択した状態で「データ」タブをクリックし「データツール」から「区切り位置」をクリックします。

Excel(エクセル)でセルの文字列を分割/結合する方法

「区切り位置指定ウィザード」が表示されるので「元のデータの形式」から「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」をクリックし「次へ」をクリックします。

Excel(エクセル)でセルの文字列を分割/結合する方法

「区切り文字」から、区切りたい場所に入力されている文字にチェックを入れ「データのプレビュー」で、区切ったあとの表示に問題がないことを確認したら「次へ」をクリックします。

Excel(エクセル)でセルの文字列を分割/結合する方法

列ごとの表示形式をあらかじめ変更しておきたいときは、「データのプレビュー」から変更したい列を選択してから「列のデータ形式」で表示形式を指定し「完了」をクリックします。

Excel(エクセル)でセルの文字列を分割/結合する方法

以上で、セルの文字列が分割されます。

Excel(エクセル)でセルの文字列を分割/結合する方法

文字数で分割する

指定した文字数でセルの文字列を分割する手順は、次のとおりです。

まず、分割したい文字列が入力されているセルの範囲を選択した状態で「データ」タブをクリックし「データツール」から「区切り位置」をクリックします。

Excel(エクセル)でセルの文字列を分割/結合する方法

「区切り位置指定ウィザード」が表示されるので「元のデータの形式」から「スペースによって右または左に揃えられた固定長フィールドのデータ」をクリックし、「次へ」をクリックします。

Excel(エクセル)でセルの文字列を分割/結合する方法

「データのプレビュー」で区切りたい部分をクリックし、クリックした位置に縦線が表示されたら「次へ」をクリックします。

縦線の位置がずれた場合は、縦線を左右にドラッグして位置を調整でき、不要な縦線がある場合は、縦線上をダブルクリックして削除できます。

Excel(エクセル)でセルの文字列を分割/結合する方法

列ごとの表示形式をあらかじめ変更しておきたいときは、「データのプレビュー」から変更したい列を選択してから「列のデータ形式」で表示形式を指定し「完了」をクリックします。

Excel(エクセル)でセルの文字列を分割/結合する方法

以上で、セルの文字列が分割されます。

Excel(エクセル)でセルの文字列を分割/結合する方法

TEXTSPLIT関数

セルに入力されている文字列を区切り文字で縦方向(行方向)や横方向(列方向)に分割したいときは、TEXTSPLIT関数が便利です。

TEXTSPLIT関数の書式

=TEXTSPLIT(文字列,横方向の区切り文字,[縦方向の区切り文字],[連続する区切り文字の扱い],[検索モード],[空いたセルの値])

[連続する区切り文字の扱い]では、連続する区切り文字を無視するかどうかを「TRUE」「FALSE」で指定し、既定値はFALSEです。

[検索モード]では、区切り文字の大文字と小文字を区別するかどうかを「0」「1」で指定し、既定値は、大文字と小文字を区別する「0」です。

[空いたセルの値]では、データ不足時に表示する値を指定し、既定では「#N/A」となります。

TEXTSPLIT関数の使い方

たとえば、セルD2に入力されている文字列を、区切り文字に「-」を指定して横方向に分割したい場合は、以下のように数式を入力します。

=TEXTSPLIT(D2,"-")

分割結果は、スピルとして表示されます。

Excel(エクセル)でセルの文字列を分割/結合する方法

セルA1に入力されている文字列を、区切り文字に「:」を指定して縦方向に分割したい場合は、以下のように数式を入力します。

=TEXTSPLIT(A1,,":")

Excel(エクセル)でセルの文字列を分割/結合する方法

複数の区切り文字を指定することもできます。たとえば「-」に加えて「/」も区切り文字として指定したい場合は、以下のように数式を入力します。

=TEXTSPLIT(A2,{"-","/"})

Excel(エクセル)でセルの文字列を分割/結合する方法

縦方向と横方向の両方の区切り文字をしてすれば、縦横に分割することもできます。

=TEXTSPLIT(A1,"-",":")

Excel(エクセル)でセルの文字列を分割/結合する方法

あとがき

セルに入力されている文字列の結合や分割は、少ないセルならコピペで対応するのもありですが、たくさんのセルを処理する必要がある場合は、上で紹介した方法を活用することで作業効率を格段に上げることができます。ご活用あれ。