スプレッドシート(EXCEL)のSPLIT関数の使い方と例です。
SPLIT関数の書式
=SPLIT(テキスト, 区切り文字,[各文字での分割], [空のテキストを削除])
テキスト | 分割する対象。値でもセルの参照でも可 | 必須 |
---|---|---|
区切り文字 | 任意の文字。複数指定可能 | 必須 |
各文字での分割 | TRUE:区切り文字がいずれかあれば分割 FALSE:区切り文字を文字列として探索して分割 | 任意 |
空のテキストを削除 | TRUE:空のセルができる場合に詰める FALSE:空のセルができても詰めない | 任意 |
ポイント |
---|
特定の文字ごとにテキストを分割できる |
SPLIT関数の使い方と使用例
カンマ区切りで分割する
=SPLIT("りんご, みかん, バナナ", ", ")
文字列を「,」ごとに区切った場合、画像のように分割され、同じ行の右側の列に羅列されていきます。もちろん、セルを参照することも可能です。
セルの文字を分割する例
=SPLIT(B4,",")
セルを指定して分割することでフォーマットの決まった「職業,年齢,生年月日」のように並んだデータを一括で分けることが可能です。
複数の文字を指定する
=SPLIT(A1,"「」")
複数の文字を指定して、テキストを分割することも可能です。上記の例では、鍵括弧の前後ろを指定することで文字のみを抽出して分割しています。
各文字での分割オプションを指定して分割
TRUEを指定 | FALSEを指定 |
---|---|
「渋・谷・区」のいずれかの文字で区切られてしまう | 渋谷区の文字列に一致した場合のみSPLIT関数 |
=SPLIT(A1,"渋谷区",FALSE)
各文字での分割オプションは、FALSEを設定することで、文字列に一致した場合のみ分割することができます。上記の例のように、複数の文字を指定する際に、意図していない分割を避けることが可能なオプションです。
空のテキストを削除を指定
=SPLIT(A3,"/",true,false)
空のテキストを削除にFALSEを指定すると、分割した値が空値の場合でもセルに空白が反映されます。空値の入る可能性のある、一定の形式のデータを分割する際に指定しておくとよいです。
また、このオプションを使う際には、各文字での分割オプションのTUREorFALSEも設定しましょう。
SPLIT関数の応用テクニック
ユニーク(一意)なデータ作成
=UNIQUE(TRANSPOSE(SPLIT(B1,",")))
文字列の中の重複を消して、1列に出力する例です。SPLIT関数で本来羅列される行を縦の列にすることで、UNIQE関数を適用できるようになり、一意なデータを取得することができます。
データをSPLIT関数のように右に並べて表示したい場合は、UNIQE関数の外にもう一度TRANSPOSEをかませましょう。
【横に並べる場合】
=TRANSPOSE(UNIQUE(TRANSPOSE(SPLIT(B1,","))))
改行ごとに分割する
=SPLIT(A2,char(10))
SPLIT関数の区切り文字には、CHAR関数を使って文字コードを指定できます。改行の文字コードであるCHAR(10)を指定しましょう。
文字列を削除する関数として使用する
【前後の不要なローマ数字を削除した例】
=TRIM(SPLIT(A1,".ⅠⅡⅢⅣⅤⅥ"))
SPLIT関数は分割を目的とした関数ですが、指定した文字列はすべて取り除いて出力してくれるので、特定の文字を削除する関数としても代用できます。
コメント