Есть ли способ проверить наличие слова в ячейке? - PullRequest
0 голосов
/ 26 мая 2019

Я ищу способ проверить, содержит ли ячейка текст в Google Apps Script и Google Sheets.

var cell = "Joe, Bob, Tim, John"

//I would want this to execute
if(cell contains "Tim") {
//code
}

1 Ответ

2 голосов
/ 26 мая 2019

Недавно в службу SpreadsheetApp был добавлен класс TextFinder, который позволяет вам делать это на Range (или Sheet или даже Spreadsheet).См. документацию для более подробной информацииПросто установите искатель в контексте с createTextFinder() с текстом, который вы хотите найти в качестве аргумента.Вызов метода findNext() для полученного экземпляра TextFinder вернет либо Range, в котором он был вызван, либо null, если ничего не было найдено.Например:

function findText() {

  var sh = getSheet(); //custom function that returns target Sheet;
  var rng = sh.getRange(1,1); //change to desired Range boundaries;

  //create TextFinder and configure;
  var tf = rng.createTextFinder('textToFind');
      tf.matchCase(false); //{Boolean} -> match target text's case or not;
      tf.matchEntireCell(false); //{Boolean} -> check the whole Range or within;
      tf.ignoreDiacritics(true); //{Boolean} -> ignore diacretic signs during match;
      tf.matchFormulaText(false); //{Boolean} -> search in formulas (if any) or values;

  //invoke search;
  var res = tf.findNext();

  //do something with result;
  if(res!==null) {
    var vals = res.getValues();
    Logger.log(vals);
  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...