SPLIT関数を使うと、スプレッドでの文字列やURLを場所を指定して分割できた。CSV簡単【Googleスプレッドシート】

スプレッドシート

Googleスプレッドシートの SPLIT関数の使い方
について記事にしていきます。

このSPLIT関数は、セルの値(文字列やアドレス・数値)
などを記号、特定の「-」や「,」や「/」など指定したところで、
分割して表示してくれる関数になります。

また、特定の文字列の、前と後ろに分割なんかも可能です。

指定した文字または文字列の前後でテキストを分割し、
各部分を同じ行の別のセルに表示します。

マスターすれば、データ処理の際に便利な
関数になるのでしっかりマスターしましょう。

SPLIT関数の数式

 

SPLIT(テキスト, 区切り文字, [各文字での分割], [空のテキストを削除])

テキスト
分割したい文字列などの値のあるセル

区切り文字
分割に指定する文字や記号を記入

各文字での分割 (省略可能)
区切り文字に含まれる各文字の前後でテキストを分割するかどうかを指定。
デフォルトは TRUE  FALSEにすると文字列を単語認識する。

空のテキストを削除 (省略可能)
空をセルに表示するかどうかの指定
デフォルトは TRUE  FALSEにすると空の部分もセルに表示。

では早速やっていきます。

SPLITを使って分割していきます。

下図のB2からB5の 文字列を「-」の所で分割して
B10からB13に表示。

B10のセルに下記の数式記入

=SPLIT(B2,”-“)

と記入。今回は3つ目と4つ目の引数は省略してます。
それぞれ「-」で分割されて、各セルに記入されてます。
B10に書いたセルの数式を下にコピーで完了です。

 

 

特定の文字列を指定して分割

次は、特定の文字列、今回はURLを使って、やっていきます。
下記のURLの「shopdetail」を指定して分割。
その前後、ドメイン部分と商品番号に分けて表示する。

B10セルに下記の数式記入

=SPLIT(B2,”shopdetail”)

と記入。
結果か下図のように、おかしな表示になってます。

 

希望はこんな感じに分割したいのですが、
https://buyerz.shop/
/000000000140/

SPLIT関数は、文字列を指定する場合は、3つ目の引数の
指定を変更する必要があります。

3つ目の引数は指定しない場合はTRUEになってるので、
指定した文字列を単語「shopdetail」じゃなく、「s」「h」「o」
「p」「d」「e」「t」「a」「i」「l」 1文字単位でそれぞれの文字
を起点に分割されます。

なので、3つ目の所に、「FALSE」と記入します。
すると、「shopdetail」を起点に分割してくれます。

B10セルの数式を変更します。

=SPLIT(B2,”shopdetail”,FALSE)

 

こんな感じで分割されました。
文字列を使って分割する場合は注意しましょう。

 

空白の表示指定

4つ目の引数の空白の指定は、あまり使うことはないですが
説明しときます。

何も指定しない場合は、空白は表示しない設定なので、
今回は、ここの指定を「FALSE」の場合をやっていきます。

B10セルに下記の数式記入

=SPLIT(B2,”/”,TRUE,FALSE)

下図のようになりました。

これは、「https://buyerz.shop・・・」の中で、//の部分
/と/で間に空白になるので、C10セルに空白で表示されてる。

4つ目の引数、TRUEとFALSEの比較。

こんな感じです。
データ加工、少しの場合は大丈夫ですが多くなってくると、
時間ロスはスゴイです。
そん時にこの関数してると役に立ちますよ。

 

データが多い場合はARRAYFORMULA関数

 

最後に、このSPLIT関数はARRAYFORMULA関数とセット
での使用も可能です。

多くのデータの処理の場合、全てのセルに数式入れていくと
重たくなるので、ARRAYFORMULA関数を使うとスッキリ。

数式はE2セルに下記の数式書くだけでOK!
ARRAYFORMULA 使う場合の数式はこちらになります。

=ARRAYFORMULA(split(B2:B,”/”))

この際、B2:Bの指定になるので注意です。

 

 

 

こちらでARRAYFORMULA関数に関する記事も書いてます。

 

 

IFERROR関数使うと#VALUE!消せる

ただこの数式だと、B列に値がない場合は #VALUE!
が表示されます。

これは、1つ目の値をデータの最後まででしていすると消えます。
例えば、元データがB50行まであった場合は、B2:B50 と
指定すれば変換はB50行までで完了になる。

最後の探すの面倒、または増えていく可能性がある場合は
IFERROR関数使うと解消されます。

IFERROR関数使う場合の数式はこちら

=IFERROR(ARRAYFORMULA(split(B2:B,”/”)),””)

 

 

 

こちらでIFERROR関数に関する記事も書いてます。

 

このSPLIT関数はARRAYFORMULA関数とIFERROR関数を
セットで使うと便利に使えます。

 

おすすめ教材

 

動画で勉強できるからわかりやすい
私もよく使ってます。

無料で使える表計算ソフトの「Google Spreadsheet」を
基礎から応用までしっかり学習!
データの共有方法からグラフ作成、ピボットテーブルまで
しっかり習得出来る!演習問題付きだから技術が身につく!
これから始める「Googleスプレッドシート」基礎講座

Google スプレッドシートを用いて表計算ソフトの
一般的な機能を体験するコースです。
四則演算や絶対参照、キーボードショートカットからはじまり、
関数SUM / IF / VLOOKUP や、フィルタ、並べ替え、ピボット、グラフまでを体験
基本機能を活用したワンランク上の使い方

初心者でも安心!
スプレッドシートをマスターし『売上の最大化』と
『無駄の最小化』ができるようになるコースです。
スプレッドシートの最新技術をマスターし、Excelよりも
効率的に最小の労力で最大の結果を出せる分析能力を身につけましょう!
ゼロから始めるGoogleスプレッドシートマスターコース

 

 

 

コメント

タイトルとURLをコピーしました