WebページやCSVをコピーすると「カンマ」「スペース」「改行」が混ざったまま貼り付けられ、
1つずつ手作業で分割していた…という経験はないでしょうか?
WEBからコピーしたデータや、CSVデータを分割する際、従来は《データ》タブ → 《区切り位置》を使用したり、VBAを作成して処理していました。
こうした“データ整形の手間”を関数だけで自動化できるのが、Excel 365/Excel 2021 以降で利用できる新関数「TEXTSPLIT関数」(テキストスプリット)です。
この記事ではTEXTSPLIT関数を使って 区切り文字を指定し、テキストを関数だけで分割する方法 をご紹介します。
DX/Office活用トレーナー 本多 瑞季(ほんだ みずき)
現場の業務フローを起点に、Excel・Copilot・Power Automateを“使いこなせる状態”まで伴走するトレーナー。操作説明にとどまらず、部署や役割に合わせた課題設計で、研修翌日から成果を出せるよう設計します。
※DX人財育成サービスの公式サイト
TEXTSPLIT関数とは、指定した区切り文字でテキストを分割し、配列(スピル)として返す関数です。
TEXTSPLIT関数を使用すると、元のデータを変更せずに分割できるため、「区切り位置」より汎用性が高く、関数による自動化との相性がよいのが特徴です。
※引数名は英語表記のまま提供されています。
早速、使用例を用いながら基本の使い方を確認していきましょう。
CSVのように「カンマ区切り」「スペース区切り」のデータを分割する際に便利です。
(1)分割結果を表示したい【A4】セルを選択
(2)数式バーに次の式を入力します
(3)Enterキーを押すと、スピルによって自動的に横方向へ分割されます。
TEXTSPLIT関数では縦方向への分割も可能です。
第3引数 Row_delimiter に縦方向の区切り文字を指定します。
▼(例)A1セルを「,」で横、「:」で縦に分割して A4 セルから展開
▼【追加:改行で縦に分割したい場合】
【A1】セルに入力されているカンマ区切りのデータを横方向は「,」、縦方向は「:」で分割し、【A4】セルを起点として表示します。
(1)分割結果を表示したい【A4】セルを選択
(2)数式バーに次の式を入力します
(3)つづけて数式バーに次の式を入力します
(4)Enterキーを押し数式を確定
ここでは TEXTSPLIT の省略可能な3つの引数について解説します。
黄色のセルには元データ(【A3】セル)のセルのデータを「,」で区切るTEXTSPLIT関数が入力されています。FALSEまたは省略で、データがない場合空白を返します。
TRUEを指定するとデータがない場合セルとして出力されず無視されます。
黄色のセルには元データのセル(【A8】セル)のデータを「a」で区切るTEXTSPLIT関数が入力されています。
0または省略で、区切り記号の大文字と小文字を区別します。
黄色のセルには元データのセル(【A13】セル)のデータを
横は「,」縦は「:」で区切るTEXTSPLIT関数が入力されています。
Pad_Withの引数は、データが不足していた際に、表示するデータを指定することができます。
今回は「なし」と指定しています。
TEXTSPLITは単体でも便利ですが、他の関数と組み合わせることで実務でさらに使いやすくなります。
セル範囲【A1:B7】の表は、総務省が明示している「統計表における機械判読可能なデータ 作成に関する表記方法」の修正前のデータの例を元にした表です。
セルが結合され、データが1つのセルにまとまっています。
年度ごとのデータは「、」で区切られているので、横は「(」で区切り、縦は「、」で区切り、【D2】セルを起点に表示します。しかし、データを分割した時余計な文字がある場合があります。
そんな場合はSUBSTITUTE関数と組み合わせて利用することで不要な文字を空欄に置換します。
(1)【D2】セルに次の式を入力します
テキストが横と縦でそれぞれ分割して表示されますが、「)」が表示されたままです。
(2)【D2】セルの数式を下記に変更
SUBSTITUTE関数の基本構文を確認してみましょう。
(3)Enterキーを押し、数式を確定
分割を実施後、分割した一部分の列だけ表示をしたい場合はCHOOSECOLS関数を利用することで、表示したい列を指定することができます。
続いて出荷額を表示します。
【F2】セルに先ほどと同様のTEXTSPLIT関数とSUBSTITUTE関数を入力します。
(1)【F2】セルに下記数式を下記に変更
(2) Enterキーを押し数式を確定
(3)【F2】セルの数式を下記に変更
CHOOSECOLS関数の基本構文を確認してみましょう。
(4)Enterキーを押し数式を確定
TEXTSPLIT関数によって分割された結果は文字列となります。
数式で「数値」として扱う場合は、 VALUE関数を使用して数値データに変換します。
セル範囲【A1:C9】の表のC列のテキストを分割して、セル範囲【G2:H9】に表示し、合計値を求めます。
(1)【G2】セルに下記数式を入力
(2)Enterキーを押し数式を確定
【G2】セルを起点にデータが表示されますが、合計値が計算されません。
TEXTSPLIT関数で分割されたデータは「文字列データ」となり関数で計算することができません。
(3)【G2】セルの数式を「」に変更
TEXTSPLITで分割した「文字列」を「数値」に変換してください。という意味です。
VALUE関数の基本構文を確認してみましょう。
(4) Enterキーを押し数式を確定し、表の範囲にコピー
文字列が数値に計算され、合計値に値が反映されます。
※TEXTSPLIT関数は Microsoft 365/Excel 2021 以降で利用できます。
※分割後の値は文字列になることがあるため、数値計算に使う場合は VALUE関数などで変換が必要です。
※数千件以上の大量データを扱う場合は Power Query の「列の分割」のほうが高速・安定します。
TEXTSPLIT関数は、指定した区切り文字でテキストを自動的に分割できる、Microsoft 365/Excel 2021 以降で利用可能な新しい関数です。
従来の「区切り位置」より柔軟で、関数として処理を残せるため、データ整形の再現性が高まります。
特に、CSVの分割・氏名や住所の整形・タグデータの展開・改行データの処理など、日常業務で頻繁に発生する“ちょっと面倒な作業”を関数ひとつで効率化できるのが大きなメリットです。
また、SUBSTITUTE・CHOOSECOLS・VALUE などの関数と組み合わせることで、「不要文字の除去 → 分割 → 列抽出 → 数値化」まで一連の処理を自動化でき、BIツールやレポート作成の前処理としても活用できます。
TEXTSPLITは、Excelの新しい“標準スキル”として押さえておきたい関数です。業務の効率化につながる場面は多いため、ぜひ今回紹介した使い方や応用パターンを実務ですぐに試してみてください。
当社では、『Microsoft認定トレーナー』資格を持つEXCEL女子による「Excel研修」を提供しております。書籍化するなど注目いただいている研修です。
社員教育に時間を割けない、Excelスキルの底上げをしたいなどお悩みでしたら、ぜひお気軽にお問い合わせください。