Excel情報555 関数--TEXTSPLIT関数でCSVデータを個別セルに分割する方法
【テーマ】
CSVデータをTEXTSPLIT関数で個別のセルに分割する方法を解説します。
【方法】
TEXTSPLIT関数を使用します。
【参考】
元データが残ったまま処理が可能なので他関数と合わせて処理が出来ます。
■ 今回の内容
TEXTSPLIT関数でCSVデータをExcelの個別のセルに分けて格納することができます。
TEXTSPLIT関数はGoogleスプレッドシートで使えるのに、Excelでは使えない関数の一つで
その登場が心待ちにされている関数でした。
※Microsoft365版Excelに対応
今回はTEXTSPLIT関数とスピル機能を使ってCSVデータを個別セルにわける方法をご紹介します。
※スピル機能は、Excel2021以降またはMicrosoft365に対応
従来ではこのようにExcelに読み込んだCSVデータを区切り位置指定ウィザードにより細かく指定して
個別のセルに分けていく必要がありました。(下図)
■設定方法
関数の構文(Microsoftサポートより転載)
=TEXTSPLIT(text,col_delimiter,[row_delimiter],
[ignore_empty], [match_mode], [pad_with])
TEXTSPLIT 関数の構文には、次の引数があります。
text                  分割するテキスト。 必ず指定します。 
col_delimiter    列間でテキストをスピルするポイントを示すテキスト。(colかrowかは必ず指定)
row_delimiter   テキストを下の行に書き込むポイントを示すテキスト。 (colかrowかは必ず指定)
ignore_empty   連続する区切り記号を無視するには TRUE を指定します。 
           既定値は FALSE で、空のセルが作成されます。(省略可能)
match_mode    大文字と小文字を区別しない一致を実行するには、1 を指定します。
           既定値は 0 で、大文字と小文字を区別する一致が行われます。(省略可能)
pad_with           結果を埋め込む値。 既定値は #N/A です。(省略可能)
【数式の設定】
A列に貼り付けたカンマ区切りのCSVデータをB列から横に展開してみましょう。
=TEXTSPLIT(A1,",")
上記のように入力しますとスピル機能が働き入力されたデータがB:I列に8分割され格納されます。
関数を用いることで区切り位置指定ウィザードにはないメリットがあります。
元レコードを保持した状態でデータをExcelに読み込むことが可能です。
縦方向に展開することも可能です。
■ ご参考までに
関数により展開することで他の関数と組み合わせ便利に扱うことができます。
このような;と|で分けられているデータに対してindex関数を組み合わせることで
2番目の要素を抜き出して表示させることが可能です。
=TEXTSPLIT(INDEX(TEXTSPLIT(A1, "|"), 2), ";")
このように「|」で区切られている配列をまずTEXTSPLIT関数で得て
それをINDEX関数に渡しその2列目の要素をTEXTSPLIT関数を用いて「;」で分割しています。
以上の通りTEXTSPLITは従来の分割方法に比べ、分かりやすく再利用性も高いのでぜひ利用してみてください。
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます