Я пытаюсь написать скрипт на листах Google, чтобы при изменении ячейки в столбце F она копировала и вставляла значения в одну и ту же строку в столбцах b: e. Буду признателен за любую помощь.
У меня есть лист Google, где операторы регистрируют события. Они вводят ссылочный номер в столбце a, и он ищет соответствующие данные (из другой вкладки) и отображает их в столбцах b-e. Затем они добавляют данные, такие как их имя, текущее время и т. Д. В столбцы F-M. Я пытаюсь написать скрипт, чтобы при изменении столбца F он копировал результаты из формул в столбцах b-e в текущей строке и вставлял их обратно в качестве значений.
Причина двоякая: одно удаление формул и вставка значений повышает производительность, а два - если кто-то изменил данные поиска, строка становится поврежденной.
Я нашел следующий скрипт, который вставляет временную метку - кажется, что незначительные изменения будут работать, но я не смог понять это. (спасибо автору этого)
//CORE VARIABLES
// The column you want to check if something is entered.
var COLUMNTOCHECK = 1;
// Where you want the date time stamp offset from the input location. [row, column]
var DATETIMELOCATION = [0,11];
// Sheet you are working on
var SHEETNAME = 'ReceivingLog'
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
//checks that we're on the correct sheet.
if( sheet.getSheetName() == SHEETNAME ) {
var selectedCell = ss.getActiveCell();
//checks the column to ensure it is on the one we want to cause the date to appear.
if( selectedCell.getColumn() == COLUMNTOCHECK) {
var dateTimeCell = selectedCell.offset(DATETIMELOCATION[0],DATETIMELOCATION[1]);
dateTimeCell.setValue(new Date());
}
}
}