У меня есть Google Sheet ( пример здесь ) с двумя листами - Форма и Данные. У меня настроен лист формы, чтобы записи можно было вводить вручную, и после нажатия кнопки ОБНОВИТЬ данные отправляются в конец таблицы данных в виде новой строки, а поля формы очищаются, готовые к следующемуinput.
Я пытаюсь сделать еще один шаг - если нажата кнопка UPDATE, а в поле Part Number содержится значение, которое уже существует в столбце A таблицы данных (то есть оно уже былов какой-то момент), новая строка не должна быть добавлена, но вместо существующей строки с совпадающим номером детали следует обновить только что отправленные данные, оставив неизменными поля с их предыдущими значениями.
I 'У меня это было настроено и хорошо работало много лет назад в Excel, но Google Sheets - это совершенно новая игра, и мне не удалось найти какую-либо полезную информацию о том, как это может работать с Google Sheets.
Воткод, который отлично работает для добавления новых данных:
function submitData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formSS = ss.getSheetByName("Form");
var datasheet = ss.getSheetByName("Data");
var values = [[formSS.getRange("B2").getValue(),
formSS.getRange("B3").getValue(),
formSS.getRange("B4").getValue(),
formSS.getRange("B5").getValue()]];
datasheet.getRange(datasheet.getLastRow()+1, 1, 1, 4).setValues(values);
formSS.getRange("B2").clearContent(),
formSS.getRange("B3").clearContent(),
formSS.getRange("B4").clearContent(),
formSS.getRange("B5").clearContent();
}
Как я могу обновить этот код так, чтобыкакие-либо уже существующие номера деталей, представленные на листе формы, обновляют соответствующую строку на листе данных вместо того, чтобы вводиться как новая строка?