Я нашел несколько вариантов, которые близки к тому, что я хочу делать, но ничего не соответствовали бы ему.
Запрос достаточно простой.
Лист A - мастер-лист (имеет 1 строку заголовка)
Лист B - входной лист (имеет 1 строку заголовка)
Столбец C - уникальный идентификатор (один и тот же столбец на обоих листах)
Триггер
- Лист B редактируется
Действия
- Скрипт находит уникальный идентификатор на листе B в столбце C и ищет его на листе A в столбце C.
- Если он его находит, вся соответствующая строка на листе A заменяется всей соответствующей строкой с листа B.
- Если он не находит ее, новая строка добавляется внизу листа A, а вся соответствующая строка из листа B добавляется как новая запись в новую строку внизу листа A.
- Вся соответствующая строка на листе B удалена.
Действия повторяются до тех пор, пока на листе B не останется заполненных строк, начиная со строки 2 (т.е. исключая заголовок строки 1).
Спасибо
Изменения
- Чтобы прояснить, почему я хочу это сделать. У меня есть форма, которая отправляется и отправляет данные в Google Таблицы (Cognito - ›Zapier -› Google Sheets). Часть этой формы включает повторяющиеся разделы (позиции). Текущий метод, который импортирует ответы, не имеет проблем с правильным добавлением новых ответов, однако при обновлении ответа он не может правильно найти / обновить существующие строки для повторяющихся разделов. Таким образом, у меня было намерение использовать лист A в качестве основного листа, а затем использовать лист B просто как принимающий лист. Таким образом, я могу просто отправить каждую запись (включая обновленные) как новую запись на листе B, а затем мой скрипт выполнит обновление.
- Лист B будет редактироваться автоматически каждый раз при отправке или обновлении новой записи формы. Редактирование - это, по сути, добавление новой строки и внесение данных в эту строку. Может быть хорошей идеей добавить к триггеру 1-минутный таймер, чтобы при добавлении большого количества данных у него было время для этого.
- Я даже отдаленно не близок к эксперту по сценариям. Я просто просматриваю разные сценарии, написанные другими людьми, и пытаюсь объединить их, чтобы заставить их работать для того, что мне нужно. Я нашел сценарии, которые перемещают строку, а затем удаляют ее, но не проверяют соответствие значений для обновления. Я нашел другие сценарии, которые проверяют уникальные значения и копируют их, но они не удаляют исходную строку на другом листе. Я пытался объединить их, но, поскольку у меня нет базовых знаний, я не могу заставить его работать.
Sheet B is edited
, как вы его отредактируете? Например, значения, включающие несколько строк, копируются и вставляются? 2. НасчетThe entire respective row on Sheet B is Deleted.
, в этом случае лист B всегда имеет только одну строку заголовка? В этой ситуации значения помещаются на Лист B? 3. Могу я спросить вас о текущем выпуске вашего сценария? - person Tanaike   schedule 21.01.2021