После предыдущего вопроса
Я хочу классифицировать текстовые записи, добавив тег в следующий столбец.
Я мог бы сделать это с помощью регулярных выражений, но это займет слишком много времени для написания всех условий, таких как:
if(String(data[i][0]).match(/acme|brooshire|dillons|target|heb|costco/gi))
{
labValues[i][0]='Supermarket';
}
Вместо этого я создал именованный список со всеми именами магазинов (на другом листе).
Если запись соответствует термину в списке, следующий столбец установлен на " Супермаркет ".
Я использую этот скрипт ниже ... Никаких ошибок, но ничего не происходит при выполнении!
function tagStore() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange('A2:A655')
var store = range.getValues();
var tag = sheet.getRange('B2:B655');
var tagvalues= tag.getValues();
var storeList= SpreadsheetApp.getActive().getRangeByName("store_list");
for (var i = 0; i<store.length; i++)
{
if(String(store[i][0]).match(storeList))
{
tagvalues[i][0]='Supermarket';
}
}
tag.setValues(tagvalues);
}
Редактировать:
Важно использовать Regex, так как значения "store" не совсем совпадают с "store_list".
Store Values : ["Acme Store", "HEB PLaza", "Dillons Group"...]
Store_List : [acme, heb, dillons...]