見出し画像

TEXTSPLIT 関数とは何か?

先日、とある勉強会でテーマが文字列関数でした。
具体的には郵便番号のような「860-0019」を前半3桁と後半4桁に分割することを目的としていました。
このケースで言うと、

=leftG1,3)
=right(G1,4)

で分割するのがオーソドックスでイジーな方法かと思います。
メールアドレスをドメイン名と分割する場合、「@」を区切り記号として、分割する必要があるので、上記の方法が使用できませんでした。
そこで、下記のような3つのパターンがすぐに思い浮かびました。

  • リボンのデータから「区切り位置」を使用する

  • PowerQueryで加工する

  • VBAで独自の関数を作成する

実際に、その勉強会では共有を借りてPowerQueryで処理をしました。
が、0で始まる番号が数値型として認識されて、そこの整形に時間を要しました。

そこで、「区切り記号 エクセル関数」とグーグルで検索したところTEXTSPLIT 関数がヒットするではありませんか。

それでは今回はTEXTSPLIT 関数について紹介したいと思います。

TEXTSPLIT 関数っていつからあったのか

実は先日のスクーの田中亨先生の講義を録画で見ていたら、ちょうどTEXTSPLIT関数が紹介されていました。
エクセルに実装されたのが今年の3月で、一般ユーザーが使用できるようになったのが最近のようです。
ですので、私がググって使用できたのは私の使用環境が365だったからです。
2019以前のオフィスでは使用できません。

具体的な使用方法

これはすごくシンプルで、第一引数に分割する文字列、第二引数に区切り記号を入れるだけです。

TEXTSPLIT関数を用いて列の分割

E1セルに=TEXTSPLIT(D1,",")と入力すると、区切り記号で分割され、さらにF1セルにスピってますね。

応用その1

例えば、下記のように1つのセルに区切り記号を2つ以上使用しないと行けないケースで、TEXTSPLIT関数が力を発揮します。

区切り記号が2つ以上あるケース

実は第2引数の区切り記号は配列で入れることができます。
ちょっと言葉だけでイメージしにくいと思いますので、さっそくやってみますね。

区切り記号に配列を用いた場合

見事にD列、E列とスピってますね。
これは便利です。

応用その2

これはよく名簿で見る典型のケースですけど、下記のようなセルがあるとします。
これを構造化データにする場合も、TEXTSPRIT関数で簡単にできます。

1つのセルに複数の情報が含まれている

レコード数が少なかったら手作業で十分ですけど、レコード数が多くなったら、これは大変な作業です。
そこでTEXTSPRIT関数の出番です。

第3引数を入れた場合

=TEXTSPLIT(A1,":",CHAR(10))

このように第3引数に改行コードを入れることで、行方向にも分割することができます。
これはめちゃめちゃ使えそうですね。

ということで、今回は自分の備忘録の意味も含めてTEXTSPRIT関数を紹介しました。

この記事が気に入ったらサポートをしてみませんか?