изначально Alexander Ivanov прописал его так
/*
Эта функция должна быть зарегистрирована владельцем как триггер onEdit
*/
function onedit(e){
try{
updateOnce_(e);
}catch(err){
console.error(err, err.message, err.stack);
}
}
function updateOnce_(e){
var rng = e.range;
var c = rng.getColumn();
var r = rng.getRow();
if(!e.value || c !== 5 || r <= 1)
return;
var sht = rng.getSheet();
// Куда будут добавлены данные
var to = sht.getRange(r, 18, 1, 3);
if(!!to.getValues()[0].join(""))
return;
to.setValues(/* далее идет метод получения данных. Диапазоны должны быть равны по размеру */sht.getRange(r, 2, 1, 3).getValues());
}