シートを操作する

【GAS】スプレッドシート内で検索を行う

GASでスプレッドシート内で検索を行うには「createTextFinder(findText)」を利用する。

createTextFinder(findText)

スプレッドシートのテキストファインダーを作成します。これを使用して、スプレッドシート内のテキストを検索および置換できます。検索は、スプレッドシートの最初のシートから始まります。

https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet?hl=en#createtextfinderfindtext

スプレッドシート内で検索を行うGAS実行の様子

createTextFinder(findText)メソッドを利用して、スプレッドシート内で検索を行うGASを実行してみました。

createTextFinderfindText-yes
createTextFinderfindTextを実行した場合

getLastRow() メソッドでスプレッドシートの最終行を取得する場合は、以下記事を御覧ください。

参照記事:【GAS】スプレッドシートの最終行を取得する

スプレッドシート内で検索を行うGAS

function sheetdelete(){
  //SpreadsheetAppを起動
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sht = ss.getSheets()[0];
  //見出し作成
  var text = [
    ["これは","文字を","検索する","テストです"]
  ];
  sht.getRange("A1:D1")
      .setValues(text)
      .setFontWeight("bold").setFontSize(16);
 //繰返しテキストを変数へ格納
  var array1,array2,array3
    array1 = "Spread";
    array2 = "Sheet";
    array3 = ".BLUE";
    array4 = "補足";
 //変数を繰り返しA~D列の101行目まで入力
  for(let i=2;i<=101;i++){
    sht.getRange(i,1).setValue(array1);//101行目までarray1をセット
    sht.getRange(i,2).setValue(array2);//101行目までarray2をセット
    sht.getRange(i,3).setValue(array3);//101行目までarray3をセット
    var array = array1+array2+array3;  //配列テキストの合体!
    sht.getRange(i,4).setValue(array+(i-1));//101行目まで連番でセット
    sht.getRange(i,5).setValue(array4+(i-1));//101行目まで連番でセット
  }
 
 //変数txtへあいうえおを格納して適当な位置へ設置
 var txt = "あいうえお";
  sht.getRange(5,3).setValue(txt);
  //■createTextFinderで文字を検索
  var txtfind = ss.createTextFinder(txt);
  //■findNextで検索条件に一致したセルを取得してgetA1NotationでA1形式に
  var cell = txtfind.findNext().getA1Notation();
  sht.getRange(cell)
    .setBackground("yellow")
    .activate();
  //メッセージで取得位置を掲載
  Browser.msgBox("「"+txt+"」があるセルは「"+cell+"」です!");
}

createTextFinder(findText)のパラメーター

名前タイプ説明
findTextString検索するテキスト。
createTextFinder(findText)の高度なパラメーター

createTextFinder(findText)の戻り値

TextFinder—TextFinderスプレッドシート用。

スプレッドシート内で検索を行うまとめ

GAS×スプレッドシート内で検索を行うならcreateTextFinder(findText)メソッドを利用しましょう。

関連記事:【GAS】スプレッドシートのUIに関数メニューを追加する

関連記事:【GAS】スプレッドシートに名前とインデックスを指定した新規シートを挿入する

関連記事:【GAS】スプレッドシートで指定した名前で新規シートを作成する

関連記事:【GAS】スプレッドシートのグリッド線を非表示にする

関連記事:【GAS】スプレッドシートのシート名を変更する

関連記事:【GAS】スプレッドシートをコピーして新規シートを作成する

関連記事:【GAS】スプレッドシートのアクティブシートを削除する

関連記事:【GAS】スプレッドシートで現在アクティブなシートを返す

関連記事:【GAS】スプレッドシートで名前・行・列数を指定して新規シートする

関連記事:【GAS】スプレッドシートのアクティブシートの名前を取得する

関連記事:【GAS】スプレッドシートでアクティブなシートを返す

関連記事:【GAS】スプレッドシートでアクティブなシートを取得する

-シートを操作する