残業を減らす!Officeテクニック
Excelのセル内で「,」や「/」で区切られたデータを「列」や「行」に分割するテク
2024年7月8日 06:55
関連する情報が「,」や「/」などの記号で区切られて、1つのセルに入力されていることがありますよね。業務システムなどから出力されるCSVファイルの1レコードなどは典型的な例です。
手入力でも区切り文字を挟んで情報を羅列することがあります。そして、後になって“区切り文字で分割したい”という課題が出てくるはずです。
大量のデータなら[区切り文字指定ウィザード]やPowerQueryの利用を検討すると思いますが、数件ならコピペで何とかしているかもしれません。今回はそんな時に役立つ、区切り文字で手軽に分割できるTEXTSPLIT関数を紹介したいと思います。
横方向の分割なら引数は2つだけ
まずはTEXTSPLIT関数の構文を紹介します。6つの引数のうち、最初の2つ[文字列]と[列区切り]を使うことがほとんどだと思います。結果を縦方向に分割して表示したいときは、[列区切り]を省略して[行区切り]を指定します。
なお、Excelのバージョンによって、引数のチップが英字で表示されることがありますが、意味は上記の通りです。冒頭のサンプルを例に「,」で区切ってみましょう。
結果を縦方向に表示したい場合は引数[列区切り]を省略して[行区切り]に区切り文字を指定します。
区切り文字が混在している場合
区切り文字が混在しているケースを考えてみましょう。以下は「,」と「、」が含まれており、正しく分割されていない例です。区切り文字の混在は手入力ではありがちですね。
検索・置換して区切り文字を統一する必要はありません。含まれる区切り文字を「{}」で囲んで指定します。この例では「=TEXTSPLIT(C2,{",","、"})」のように指定します。
TEXTSPLITは指定する引数も少なく、使いやすい関数です。ぜひ活用してみてください。応用例として、縦方向に分割した結果をSORT関数で並べ替えて、TEXTJOIN関数で結合し直すなども考えられます。