Я создал скрипт в GAS, который извлекает идентификатор из загроможденной записи, а затем вводит его в формулу, которая будет искать его в листе данных - однако формулы, созданные скриптом, приводят к тому, что лист Google выбрасываетошибка, как если бы формула была неверной.Однако, используя окно «Поиск и замена» в Google Sheets, чтобы заменить символ на тот же самый точный символ (например, начало = to =), можно заставить его принять формулу и выполнить ее правильно - вручную удалив символ, нажав Enterи положить его обратно тоже работает.
Я пытался внедрить Find and Replace в GAS, чтобы сделать его автоматическим - и хотя скрипт работает правильно и заменяет данный символ, он не выполняет то, что делает руководство Find and Replace, - формулы, которые уже исправлены, остаютсяработают, а те, которые являются «неправильными», по-прежнему ошибочны.
for(var i = 0; i < range.getNumRows(); i++ ){
//Processing to extract the id
valsO[i][0]="=IF(ISERROR(VLOOKUP(\""+id+"*\";'Data'!B2:B$8400;1;FALSE));\"NONE\";VLOOKUP(\""+id+"*\";'Data'!B2:B$8400;1;FALSE))";
}
range=sheet.getRange(range.getRowIndex(), resultColumn, range.getNumRows());
range.setFormulas(valsO);
РЕДАКТИРОВАТЬ: исправлено с .setValues
до .setFormulas
и с IFERROR
до ISERROR
- однако ошибка синтаксического анализа формулысохраняется, несмотря на то, что работает, если он набран или скопирован.