Скрипт для вставки даты и времени при редактировании ячейки в Google Таблицах
- 23 июня, 2024
- Нет комментов
- 4784 просмотров
Добра и здоровья! Сегодня, после очередного запроса от читателей нашего чата, я решил оформить и продемонстрировать Скрипт для Гугл Таблиц, который позволяет отслеживать изменения в ячейках и проставлять рядом дату и время этого изменения.
Иногда возникает необходимость автоматически записывать дату и время внесения изменений в определенные ячейки. Это может быть полезно для отслеживания активности, ведения журналов изменений и обеспечения контроля над обновлениями данных.
1. Отслеживание изменений: Ведение журнала изменений данных для аудита или анализа.
2. Контроль сроков выполнения: Отслеживание времени выполнения задач или обновлений информации.
3. Повышение прозрачности: Учет времени и даты изменений для повышения прозрачности и ответственности сотрудников.
Для автоматического добавления даты и времени при редактировании ячеек используем скрипт Google Apps Script.
/**
* Триггер события EDIT
*
* @param {GoogleAppsScript.Events.SheetsOnEdit} e
*/
function onEdit(e){
// Определяем имя листа, на котором обрабатываем событие редактирования ячейки
const watchingSheet = 'Добавить дату в строке при изменении ячейки';
// Определяем индекс столбца в котором обрабатываем событие редактирования ячейки
const watchingColIndex = 6;
// Определяем индекс столбца в который будем записывать дату/время
const targetColIndex = 8;
// Из объекта события получаем измененный диапазон и из диапазона лист, на котором он расположен
const sheet = e.range.getSheet();
// Проверяем, что имя листа, на котором произошло событие соответствует указанному в переменной `targetSheetName`
if (sheet.getName() !== watchingSheet) {
// И, если событие произошло на другом листе, то прекращаем выполнение функции
return;
}
// Определяем индекс столбца в котором произошло событие
const column = e.range.getColumn();
// Проверяем, в нужном ли столбце произошло событие
// и соответствует ли новое значение нужному нам
// проверку на значение можно убрать
// для этого нужно удалить этот фрагмент: "&& e.value === 'Готово'"
if (column == watchingColIndex && e.value === 'Готово') {
// Устанавливаем дату и время в ячейку на пересечении строки, в которой было изменение
// и столбца, указанного в переменной `targetColIndex`
e.source.getActiveSheet().getRange(e.range.getRow(), targetColIndex).setValue(new Date());
}
}
Каждая переменная и действие в скрипте сопровождаются подробными комментариями, поэтому, при внимательном их прочтении, разобраться не составит труда.
Теперь при каждом вводе слова “Готов” в столбце F, в соответствующей строке столбца H будет автоматически записываться текущая дата и время.
Этот скрипт отслеживает изменения в указанном столбце и автоматически добавляет текущие дату и время в другой столбец.
– onEdit(e) — триггерная функция, которая срабатывает при каждом изменении в таблице.
Пример в редакторе Скриптов Таблицы чата №15 в файле “Добавить дату в строке при изменении ячейки”
На всякий случай, вот инструкция как попасть в редактор скриптов
Просто скопировать код и добавить его в редактор скриптов своей Таблицы
Надеемся, что этот Скрипт будет вам полезен.
Если нужно индивидуальное решение под ваши задачи или доработка существующего, то у нас можно заказать.
С вами была команда GoogleSheets.ru, мы здесь делаем бизнес эффективным. Все вопросы, замечания и пожелания пишите в комментариях или в наш чат по Гугл таблицам, будем рады обратной связи.
Обратите внимание! Триггерная функция onEdit() может быть только одна!
Надеемся, что этот Скрипт будет вам полезен.
Если нужно индивидуальное решение под ваши задачи или доработка существующего, то у нас можно заказать.
С вами была команда GoogleSheets.ru, мы здесь делаем бизнес эффективным. Все вопросы, замечания и пожелания пишите в комментариях или в наш чат по Гугл таблицам, будем рады обратной связи.