Используйте function onEdit(event) для определения факта изменения ячейки.
event.source..getActiveRange().getA1Notation() для определения адреса ячейки
Дальше просто где-нибудь аккумулировать данные. Ниже код для проверки листа "Лист1" и ячейки "A1" в ней. Данные аккумулируются на лист "Архив"
function onEdit(event){
if ((event.source.getActiveRange().getA1Notation()=="A1")&&(event.source.getActiveSheet().getName()=="Лист1")){
var arc=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Архив");
arc.getRange(arc.getLastRow()+1,1,1,2).setValues([[event.source.getActiveRange().getValue(),new Date()]]);
};
};