LANG SELRCT

コードを書く場所

2019年6月26日水曜日

TextFinderでシートの列内の文字列を検索してみる


TextFinderでシート内の文字列を検索してみる
ではシート内で検索しましたが、
列内で検索したくて書いたコードです。



コード.gs
function findAllRowsAtCol(){
  var rows = [];
  var targetCol = 1;
  var ss_url = 'SPREADSHEET_URL';
  var ss = SpreadsheetApp.openByUrl(ss_url);
  var sheet = ss.getSheets()[0];
  var textFinder = sheet.createTextFinder('探したい文字列');
  var ranges = textFinder.findAll();
  for (var i = 0; i < ranges.length; i++ ) {
    var row = ranges[i].getRow();
    var col = ranges[i].getColumn();
    if(col === targetCol) {
      rows.push(ranges[i].getRow());
    }
  }
  Logger.log([rows.length, rows]);
}


補足

範囲を指定して
range.createTextFinder('探したい文字列')
はできなかったので
targetColで列を指定する方法を書きました。


参考

Class TextFinder
https://developers.google.com/apps-script/reference/spreadsheet/text-finder#findAll()