
【Excel新関数紹介】TEXTSPLIT(テキストスプリット)で、カンマ区切りの文字列を一発分解!【Excelノウハウ】
■ 新しい関数、使いこなしていますか?
Excelには、年々「知っておくと得する」新関数が増えています。
今回は、TEXTSPLIT関数について説明します。TEXTSPLIT(テキストスプリット)関数
文字列の分解をしたいときに非常に便利な関数
※TRANSPOSE関数(縦横を反転)を組み合わせるのも便利です。他に TEXTBEFORE/TEXTAFTER関数というのも便利です。
次回説明しますが、中から一部の文字を切り出すものです。
(以前はFINDとLEFT,MIDを組み合わせていたもの)
もともとGoogleスプレッドシートでは早い段階からSPLIT関数があり、
「カンマ区切りで分ける」などの作業が当たり前のようにできていました。
しかしExcelでは、これまではVBAやPower Query、もしくは手作業による「区切り位置」(データ/区切り記号/ウィザード使用)操作に頼るしかありませんでした。
では、TEXTSPLIT関数はいつから使えるようになったのでしょうか?
■ TEXTSPLIT関数はいつから使える?
TEXTSPLIT関数は、2022年に登場した新しい関数で、
Microsoft 365のサブスク版(またはOffice 2021)で順次利用可能になりました。
従来のExcel(永続ライセンス版)では利用できません。
■ TEXTSPLITの基本的な使い方
=TEXTSPLIT(A1, ",")
上記のように使うと、A1セルにある「a,b,c」という文字列が、
a b c と、自動的に横方向に分割されて表示されます。
たとえば、以下のようなカンマ区切りのデータがあったとします:
tanaka@example.com, suzuki@example.com, yamada@example.com
このような文字列を1人ずつ別セルに分けて処理したいときに、TEXTSPLITが活躍します。
例えばOutlook のアドレスのように「; 」(セミコロン+スペースがあっても大丈夫です。(tanaka@example.com; suzuki@example.com…


■ 分割数がまちまちな場合は「縦横反転」も考慮
TEXTSPLITで分割した結果は横方向に展開されるのが基本です。
ですが、メールアドレスの数が行ごとに違う場合、横の列数がバラバラになることがあります。
こうした場合には、一度TEXTSPLITで分解した後、以下のようにTRANSPOSE関数で縦横を反転させて整理するとよいでしょう。
=TRANSPOSE(TEXTSPLIT(A1, ","))

こうすれば、列数がバラバラでも縦に並ぶので扱いやすくなります。
少し手間はかかりますが、行番号をセルに入力して可変にすることも可能です。(INDIRECT関数を使います。)
※INDIRECT関数は
「文字列で書かれたセル番地をセル参照として扱う関数」です。

こんな風に横に並べることが出来ます。

「こういうのがあれば」という関数が増えていくのがありがたいです。
是非活用してみてください。