Я специально работаю с приложением Google Sheets на своем планшете или мобильном телефоне (хотя я могу получить доступ к реальному компьютеру и обновить его через него, я в основном работаю в приложениях), и мне нужно иметь возможность автоматически заполнять ячейку в столбце C с текущей датой всякий раз, когда данные вводятся или изменяются. Я читаю все остальные ответы на вопросы, и они основаны на Excel, и я не уверен, что это применимо к Google Sheets. Я не очень хорошо разбираюсь в коде или формулах, поэтому, если вы можете дать мне точный код, который мне нужно использовать, и сказать мне, где нужно ввести out, я могу следовать этим инструкциям, но просто дать мне кучу жаргона кода хорошо послужит только для запутай меня сейчас.
Вот над чем я работаю. У меня есть лист, где все данные в столбце A — это имя человека, столбец B — его текущий вес, а столбец C — дата, когда они ввели свой текущий вес, будь то новая запись или изменение существующей записи. Надеюсь, это поможет.
сделать копию этого листа: https://docs.google.com/spreadsheets/d/
то, что вы просите, выполняется скриптом, который запускается всякий раз, когда вы вводите что-то в столбце B.
function onEdit(event) {
var sheet = event.source.getActiveSheet();
// note: actRng = the cell being updated
var actRng = event.source.getActiveRange();
var index = actRng.getRowIndex();
var cindex = actRng.getColumnIndex();
if (cindex == 2) { // 1 == Column A, 2 == Column B, 3 == Column C, etc.
var dateCol = sheet.getLastColumn();
var lastCell = sheet.getRange(index,dateCol);
var date = Utilities.formatDate(new Date(), "EST", "MMM-dd-yyyy");
lastCell.setValue("'" + date);
}
}
сохранить проект под каким-либо именем
вернуться на свой лист (вы можете закрыть окно/вкладку скрипта)
Хорошо, читая сценарий, что я получаю от него, основываясь на моих очень ограниченных знаниях о написании сценария этого сценария, который вы только что мне дали, говорит, что если какая-либо ячейка будет обновлена, дата будет заполнена автоматически, или это просто говорит, что только если конкретный ячейка обновляется, тогда дата будет автоматически заполнена? Причина, по которой я спрашиваю об этом, заключается в том, что я хочу, например, добавить этот скрипт в существующую электронную таблицу, а ячейки, которые я собираюсь обновить, - это столбец E, за исключением первой строки, которая содержит заголовок этого столбца и столбец, который мне нужно заполнить автоматически, это F, за исключением первой строки.
он работает на основе столбцов, и сценарий говорит, что если столбец 2 отредактирован, столбец 3 получит дату. для столбцов E-F вам нужно изменить if (cindex == 2)
на if (cindex == 5)
, а для первой строки вам просто нужно удалить дату и ввести то, что вы хотите, вместо этой даты.
Хорошо, а если в файле несколько листов? Нужно ли где-то указывать название листа? Я только хочу, чтобы этот лист с названием «Веса для несовершеннолетних» запускал этот скрипт. Итак, я думаю, я спрашиваю, нужно ли мне ссылаться только на этот лист, или он автоматически узнает, потому что я все равно создаю этот скрипт из этого конкретного листа?
да, вам нужно будет заменить event.source.getActiveSheet()
на что-то вроде «getsheetbyname» (я не знаю правильного синтаксиса для этого, извините. скрипты не моя область знаний)
Хорошо, теперь мой вопрос: как я могу добавить это в уже созданную электронную таблицу с другими моими листами с данными?