スプレッドシートで1つの文字列を複数のセルに分けたいとき便利なSPLIT関数について、使い方と内部のしくみを解説します。草野球の成績管理表で「4-2」のようなメモを打数と安打に分割する場面を例に、初心者向けに丁寧に説明します。
SPLIT関数とは
指定した区切り文字を目印に、1つのセルに入った文字列をバラバラに分解し、隣接する複数のセルに自動で書き出す関数です。成績管理表では「試合中にまとめてメモした数値を、あとで列ごとに仕分けたい」という場面で活躍します。
基本の書式はこうです。
=SPLIT(分割したい文字列, 区切り文字)
「区切り文字」には、ハイフン(-)やスラッシュ(/)、カンマ(,)など、分割の目印にしたい文字を指定します。
成績管理表での実例:メモを打数と安打に分割する
大阪グーニーズの個人成績シートでは、試合中にスコアブックへ書き留めた内容を、あとからまとめて「D2」のような1セルに「打数-安打」の形でメモしておくことがあります。これをE列(打数)・F列(安打)に自動で分割したいとします。
| 選手名 | メモ(打数-安打) | 打数 | 安打 |
|---|---|---|---|
| SUZUKI | 4-2 | 4 | 2 |
| NAKATA | 3-1 | 3 | 1 |
| YAMAMOTO | 4-0 | 4 | 0 |
| … | … | … | … |
このメモ(D列)を打数と安打に分割したいとき、式はこうなります。
=SPLIT(D2,"-")
これをE2セルに入力するだけで、「4」がE2に、「2」がF2に、それぞれ自動で書き出されます。1つの式を書くだけで結果が2つのセルにまたがって表示されるのが、SPLIT関数ならではの動き方です。
打数を表示したいセル(例:E2)をクリックして選択します。安打が入るF2は、あとで自動的に埋まるのでこの時点では何も入力しません。
分割元のセル(D2)をクリックし、続けてカンマで区切って区切り文字を「”-“」のようにダブルクォーテーションで囲んで入力します。
式を確定すると、E2に打数、F2に安打が自動で書き出されます。式自体はE2にしか入っていませんが、結果はF2にもまたがって表示されます。
しくみを理解する:SPLITは何をしているのか
SPLIT関数は、指定した文字列を先頭から見ていき、区切り文字が現れるたびにそこで文字列を切り分けます。「4-2」であれば、ハイフンの位置で「4」と「2」の2つに分かれる、という単純な仕組みです。
- 分割された結果の個数だけ、隣接するセルに自動で書き出される(この動きを「スピル」と呼ぶ)
- 式自体は先頭のセル(この例ではE2)にしか入力されていないが、見た目上は複数セルにまたがって表示される
- 分割された値は文字列として扱われる(見た目は数字でも、そのままでは計算に使えない場合がある)
よくあるミス:分割がうまくいかない原因
SPLITは結果を隣接セルに書き出す性質上、書き出し先(この例ではF列)にすでに別のデータが入っていると、正しく表示されずエラーになります。分割結果が入る列は、あらかじめ空けておく必要があります。
SPLITで取り出した値は文字列扱いのままのことがあり、そのままSUMなどで合計しようとすると計算に含まれないことがあります。安打数の合計だけがなぜか少ない、というときはこのパターンを疑ってみてください。数値として扱いたい場合は、別途VALUE関数などで変換する必要があります。
- SPLIT関数は「指定した区切り文字で文字列を分解し、隣接セルに書き出す」関数
- 結果は1つの式から複数セルにまたがって表示される(スピル)
- 成績管理表では、書き出し先セルの空きと結果の文字列/数値の区別が「思ったように分割できない」の2大原因
次回予告
次回のテーマは「SUBSTITUTE関数・TRIM関数」です。入力ゆれ(全角/半角、余分なスペース)を補正する、文字列処理の仕上げとなる関数を解説していきます。



コメント