Я использую скрипт в Google Sheets для поиска строки в ячейке, чтобы определить, есть ли в строке какое-либо из моих ключевых слов. Если в строке есть ключевое слово, я хочу добавить его к результату, а затем отобразить все ключевые слова, найденные в строке.
В основном это работает, но я обнаружил, что пропущено первое ключевое слово в каждой строке поиска. Есть предложения?
function findKeyWordsInString(keywordRange, searchString)
{
var result = "";
// Loop through the rows in keywordRange
for (var row = 0; row < keywordRange.length; row++)
{
// Loop through the columns in keywordRange
for (var col = 0; col < keywordRange[row].length; col++)
{
var keyword = keywordRange[row][col];
if (keyword != null && keyword != "")
{
// Found a non-null, non blank value, check if it exists in the searchString
if (searchString.indexOf(keyword) > 0)
{
result = result + keyword + ", ";
}
}
}
}
if (result == "")
{
result = "-";
}
else
{
result = result.substr(0, result.length - 2);
}
return (result);
}
Моя таблица содержит ключевые слова в столбце A и строки поиска в столбце C.
Вот что я использую для вызова функции:
=findKeyWordsInString(A2:A, C3)
C3 содержит:
Accomplishment, Awareness, Credibility, Seriousness, Attentiveness
Правильный ответ должен быть:
Accomplishment, Awareness, Credibility, Attentiveness
Фактический результат:
Attentiveness, Awareness, Credibility
Accomplishment
отсутствует