セル範囲を操作する

【GAS】スプレッドシートで文字を指定箇所で分割・切り出しする

GASでスプレッドシートで文字を指定箇所で分割・切り出しするには「splitTextToColumns(delimiter) 」を利用する。

splitTextToColumns(delimiter)

指定された文字列をカスタム区切り文字として、テキストの列を複数の列に分割します。

https://developers.google.com/apps-script/reference/spreadsheet/range#splittexttocolumnsdelimiter

スプレッドシートで文字を指定箇所で分割・切り出しするGAS実行の様子

splitTextToColumns(delimiter) メソッドを利用して、スプレッドシートで文字を指定箇所で分割・切り出しするGASを実行してみました。

splitTextToColumns(delimiter)を実行することで、

  • 任意のセル範囲(1セル〜配列範囲)に対し、指定した文字に基づきテキストを複数列に分割する

といった操作が可能です。

スプレッドシートで文字を分割する場合は、以下記事を御覧ください。

参照記事:【GAS】スプレッドシートで文字を分割する

スプレッドシートで文字を指定箇所で分割・切り出しするGAS

function split02(){
    //SpreadsheetAppを起動してシートをアクティブに
     let ss = SpreadsheetApp.getActiveSheet();
    //シート全体をクリア
     ss.clear();
    //変数textに配列テキストを格納
     const text = [
       ["SpreadSheetSpreadSheetSpreadSheet"],
       ["sheetSheetsheetSheetsheetSheet"],
       ["BlueSheetBlueSheetBlueSheet"]
     ];
    //配列にtextを配置
     ss.getRange(1,1,3,1).setValues(text)
    //YESNOでテキストを分割するか確認
     const yesno = Browser.msgBox("テキストを分割しますか?",Browser.Buttons.YES_NO);
    //YESなら
     if(yesno == "yes"){
      //3行分繰返しで
       for(let i=1;i<=3;i++){
       //■splitTextToColumnsで("Sheet")箇所で文字を分割して列へ切り出し
         ss.getRange(i,1).splitTextToColumns('Sheet');
       }
    //Noなら
     }else{
       //何も処理しない旨を掲載
       Browser.msgBox("切り出し処理はしませんでした");
     }
    }

splitTextToColumns(delimiter)のパラメーター

名前説明
delimiterString分割するカスタムの区切り文字。
splitTextToColumns(delimiter)のパラメーター

スプレッドシートで文字を指定箇所で分割・切り出しするまとめ

GAS×スプレッドシートで文字を指定箇所で分割・切り出しするならsplitTextToColumns(delimiter)メソッドを利用しましょう。

追記

splitTextToColumns(delimiter)メソッドでは以下記述でも、文字を分割・切り出しすることが可能です。

function split03(){
  let ss = SpreadsheetApp.getActiveSheet();
  ss.clear();

  const text = [
    ["Spread;Spread;Spread;"],
    ["sheet;sheet;sheet;"],
    ["Blue;Blue;Blue"]
  ];
  ss.getRange(1,1,3,1).setValues(text);

  const yesno = Browser.msgBox("テキストを指定文字で分割しますか?",Browser.Buttons.YES_NO);

  if(yesno == "yes"){
    for(let i=1;i<=3;i++){
      ss.getRange(i,1).splitTextToColumns(SpreadsheetApp.TextToColumnsDelimiter.SEMICOLON);
    }
  }else{
    Browser.msgBox("切り出し処理はしませんでした。");
  }
}

splitTextToColumns(delimiter)・TextToColumnsDelimiterのパラメーター

名前説明
delimiterTextToColumnsDelimiter分割するプリセット区切り文字。
splitTextToColumns(delimiter)のパラメーター

Enum TextToColumnsDelimiter

テキストの列を複数の列に分割できる、プリセット区切り文字の列挙型。

プロパティ種類説明
COMMAEnum"," 区切り文字。
SEMICOLONEnum";" 区切り文字。
PERIODEnum"." 区切り文字。
SPACEEnum" " 区切り文字。
Enum TextToColumnsDelimiterのプロパティ

関連記事:【GAS】スプレッドシートの文字を折り返す

関連記事:【GAS】スプレッドシートの文字の折返しを配列で設定する

関連記事:【GAS】スプレッドシートの文字の折返し方法を設定する

関連記事:【GAS】スプレッドシートの文字を斜めにする

-セル範囲を操作する