DESIGN / CODE / INFRA / AI

解説

SPLITで空の列が消える?Googleスプレッドシートの区切り方を確認しよう

SPLITの空テキスト削除と複数文字の区切りを、小さな文字列で比較。列のずれやCSVの引用符を混同しないための確認手順。

SPLITで空の列が消える?Googleスプレッドシートの区切り方を確認しよう
保存リストを見る →
この記事の道しるべ 5項目

カンマで区切った文字をSPLITで分けたら、空の項目が消えて列がずれた。SPLITには、空のテキストを取り除くかどうかを指定する引数があるよ。

今回は新しい練習シートに、短い架空の文字列だけを入れる。本番の名簿や集計へ、そのまま式を追加しないようにしよう。

初期設定では、空のテキストを削除する

=SPLIT("A,B,,C",",")

公式ヘルプでは、空のテキストを削除する設定の初期値はTRUE。上の例ではA、B、Cが並び、連続するカンマの間の空の項目は残らない。

空欄にも「3番目の項目が未入力」という意味があるデータなら、消してよいとは限らないね。後ろのCがどの項目なのか、列の見出しと合わなくなる場合がある。

四つ目の引数をFALSEにする

=SPLIT("A,B,,C",",",FALSE,FALSE)
式の条件 1列目 2列目 3列目 4列目
初期設定 A B C —
空のテキストを残す A B (空) C

表の「(空)」は説明用の表示で、式がその文字を出すわけではないよ。三つ目と四つ目の引数は別の役割を持つので、位置を取り違えないようにしよう。

区切りが複数文字なら、三つ目も確認する

構文はSPLIT(テキスト, 区切り文字, 各文字での分割, 空のテキストを削除)。三つ目の初期値TRUEでは、区切りに指定した文字をそれぞれ個別に使う。

=SPLIT("red--blue","--",FALSE,FALSE)

この指定は二文字の--を一つの区切りとして扱い、redとblueに分ける。三つ目をTRUEへ変え、四つ目をFALSEのままにすると、一文字ずつの-で分けるため、その間に空の項目ができる。

空の項目を消す設定がオンだと、結果だけ見て区切り方の違いに気づきにくいこともある。どの文字列で、どんな項目を残したいのかを先に決めよう。

CSVの読み込みと同じにはしない

SPLITは、指定した文字や文字列で区切る関数。引用符で囲った中のカンマを、CSVの規則に従って別扱いする関数ではない。

例えば引用符、セル内改行、エスケープを含むCSVを、カンマだけのSPLITで正しく読み込めるとは考えないようにしよう。元がCSVファイルなら、取り込み機能と文字コード・区切り設定を確認する場面になるね。

練習では結果を置く列も空けておこう

結果は同じ行の複数セルへ広がる。練習用の空いた範囲を使い、元の文字列、想定する列数、実際の値の位置を比べよう。元の値を消す前に、空欄が残るか、後ろの項目がずれないかを確かめたいね。

編集部では公式条件と、ここに示した文字列の分割結果を独立した確認プログラムで照合した。Googleの実アカウントで入力した記録ではないよ。文字コードはCSVのUTF-8取り込み、引用符と行はCSVのレコード数も参考になるね。

参考・出典

公開と変更の記録
  • :初回公開

日時は日本時間です。記載のある変更は、確認できた編集記録に基づきます。更新日の違いだけから変更内容を推測して載せることはありません。

更新・訂正の方針 →

みんなのコメント 0

感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。

最初のコメントをどうぞ。