【GAS】スプレッドシートのテキスト列分割機能機能まとめ【サンプルソース付】

快速ワーク
スポンサーリンク

GAS開発者向けにスプレッドシートのテキスト列分割機能をすべてまとめました。

カンマ区切りやタブ区切りなどのいわゆるCSVデータを扱う処理です。

データ分析を行っている方、たくさんのデータを取り扱う方にとっては頻繁に使用するかもしれない機能ですね。

テキスト列分割に関するメソッドをすべて載せてます。少しでも参考になれば幸いです。


スポンサーリンク

Google Apps Script スプレッドシート 基礎 リファレンス

当ページは、GAS公式リファレンスを元にスプレッドシートの機能毎にまとめた基礎的な内容となっております。

若干、文言がおかしい可能性がありますが、あらかじめご了承ください。

 

GAS基本メソッドまとめ一覧はコチラ↓↓↓です。スプレッドシートの基本的な機能をまとめてますので、ぜひご活用ください。

【GAS】スプレッドシート基本メソッドまとめ一覧【初心者入門】
GAS開発者向けにスプレッドシートの基本的なメソッドを一覧にまとめました。各機能ごとのクラス、メソッドごとのサンプルソース付ページへリンクする一覧です。初心者にとって、スプレッドシートの基本的な操作・機能単位のメソッドを知...

 

まずは実際に動かしてみることをオススメします。マクロの登録方法は以下を参照いただければと思います。

【GAS】Googleスプレッドシートでマクロの使い方入門【動画付】
Googleの「Google Apps Script」通称GAS。GoogleマップやGメールなど、いろんなGoogle関連のサービスと自由に連携できたり、独自のWebアプリを開発することもできる、いろんな可能性を秘めたワクワクの...

 

GASの本はまだまだ少ないですね。基礎レベルであれば、以下の参考書が初心者にはベストの本です。

基本的な仕様やよく使われる機能の設定方法がまとまっています。

※JavaScriptの知識が既にある程度ある人にとっては冗長かもしれません。


セル範囲クラス[Range]のテキスト列分割

セル範囲のテキスト列分割メソッドです。

テキスト列分割[splitTextToColumns()]

splitTextToColumns()
自動検出された区切り文字に基づいてテキストの列を複数の列に分割します。

function splitTextToColumnsSample() {
  // A1:A3の値は以下のとおりです。
  //           A                  B                 C
  // 1 |one,one,one      |                 |                 |
  // 2 |two,two,two      |                 |                 |
  // 3 |three,three,three|                 |                 |

  var range = SpreadsheetApp.getActiveSheet().getRange("A1:A3");
  range.splitTextToColumns();

  // テキストを列に分割した結果
  //           A                  B                 C
  // 1 |one              |one              |one              |
  // 2 |two              |two              |two              |
  // 3 |three            |three            |three            |
}

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | splitTextToColumns()

テキスト列分割区切り文字付1[splitTextToColumns(区切り文字)]

splitTextToColumns(delimiter)
指定した文字列をカスタム区切り文字として使用して、テキストの列を複数の列に分割します。

function splitTextToColumns1Sample() {
  // A1:A3の値は以下のとおりです。
  //           A                  B                 C
  // 1 |one#one#one      |                 |                 |
  // 2 |two#two#two      |                 |                 |
  // 3 |three#three#three|                 |                 |

  var range = SpreadsheetApp.getActiveSheet().getRange("A1:A3");
  range.splitTextToColumns('#');

  // テキストを列に分割した結果
  //           A                  B                 C
  // 1 |one              |one              |one              |
  // 2 |two              |two              |two              |
  // 3 |three            |three            |three            |
}
Parameters
NameTypeDescription
delimiterString分割するカスタム区切り文字。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | splitTextToColumns(delimiter)

テキスト列分割区切り文字付2[splitTextToColumns(区切り文字)]

splitTextToColumns(TextToColumnsDelimiter)
指定された区切り文字に基づいてテキストの列を複数の列に分割します。

function splitTextToColumns2Sample() {
  // A1:A3 has the following values:
  //           A                  B                 C
  // 1 |one;one;one      |                 |                 |
  // 2 |two;two;two      |                 |                 |
  // 3 |three;three;three|                 |                 |

  var range = SpreadsheetApp.getActiveSheet().getRange("A1:A3");
  range.splitTextToColumns(SpreadsheetApp.TextToColumnsDelimiter.SEMICOLON);

  // テキストを列に分割した結果
  //           A                  B                 C
  // 1 |one              |one              |one              |
  // 2 |two              |two              |two              |
  // 3 |three            |three            |three            |
}
Parameters
NameTypeDescription
delimiterTextToColumnsDelimiter分割するプリセットの区切り文字。

参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | splitTextToColumns(delimiter)




テキスト列分割区切り文字列挙型[TextToColumnsDelimiter]

テキストを列に分割できる区切り文字です。

Enum TextToColumnsDelimiter
テキストの列を複数の列に分割できるプリセット区切り文字の種類の列挙体。

Properties
プロパティタイプ説明
COMMAEnum, 区切り文字。
SEMICOLONEnum; 区切り文字。
PERIODEnum。 区切り文字。
SPACEEnum半角スペース 区切り文字。

参照:Google Apps Script | REFERENCE | SpreadSheet | Enum TextToColumnsDelimiter


最後に

GASテキスト列分割機能機能のまとめをご紹介させていただきました。

必要に応じて、有益な情報でさらに更新していきたいと思います。

プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。

実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。

実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。

自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。

GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。

Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓

Googleスプレッドシートの使い方や機能がわかるショートカットキー全まとめ一覧【初心者こそ必見】
表計算ソフトとして、まだまだExcelのシェア率は高いですが、GoogleスプレッドシートにはExcelにはない超強力な関数があったり、Excelとは違って常に最新版を無料で使用できます。なにより、インターネットを使ったオンライン...

ショートカットキー一覧にもGASメソッドを載せています。どの操作からどのメソッドが呼ばれるのかイメージしてください。




コメント

//▼2023/04/08追加 //https://lovagelab.com/posts/3406/ //▲2023/04/08追加