Я немного изменил сценарий, размещенный здесь здесь , чтобы удовлетворить мои потребности. Он работал очень хорошо по большей части, просматривая список из более чем 4500 записей и заменяя его на основе списка перекрестных ссылок длиной 187.
function replMyText(){
var ss=SpreadsheetApp.getActive();
var sh1=ss.getSheetByName('summary');
var sh2=ss.getSheetByName('Dashboard');
var rgtxt=sh1.getRange('A7:A4934');//text to replace
var rgrep=sh2.getRange('K2:L188');//replacement table
var txtA=rgtxt.getValues();
var repA=rgrep.getValues();
for(var i=0;i<txtA.length;i++){
for(var j=0;j<repA.length;j++){
if(txtA[i][0]==repA[j][0]){
txtA[i][0]=repA[j][1];
}
}
}
rgtxt.setValues(txtA);
}
Однако есть 17 предметов, которые не были заменены. Ошибка, которую я вижу на странице скрипта: «Элемент уже существует». Я не вижу никакой разницы в этих 17 значениях по сравнению с уже замененными. Может ли кто-нибудь дать некоторые указания относительно того, на что ссылается ошибка?
Edit: в ответ на 1-й комментарий, да, было бы удобно иметь номер строки, но не было дано ничего подобного. Вот скриншот сообщения-
... и вот внешняя ссылка старого элемента / нового элемента. Список был сокращен, поскольку все удачные замены были удалены.
Стенограмма выполнения выглядит следующим образом -
Извините, что не предоставил больше данных заранее.