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()