Я хочу автоматически заполнять ячейку датой, когда соседняя ячейка заполняется или изменяется в Google Sheets

Я специально работаю с приложением Google Sheets на своем планшете или мобильном телефоне (хотя я могу получить доступ к реальному компьютеру и обновить его через него, я в основном работаю в приложениях), и мне нужно иметь возможность автоматически заполнять ячейку в столбце C с текущей датой всякий раз, когда данные вводятся или изменяются. Я читаю все остальные ответы на вопросы, и они основаны на Excel, и я не уверен, что это применимо к Google Sheets. Я не очень хорошо разбираюсь в коде или формулах, поэтому, если вы можете дать мне точный код, который мне нужно использовать, и сказать мне, где нужно ввести out, я могу следовать этим инструкциям, но просто дать мне кучу жаргона кода хорошо послужит только для запутай меня сейчас.

Вот над чем я работаю. У меня есть лист, где все данные в столбце A — это имя человека, столбец B — его текущий вес, а столбец C — дата, когда они ввели свой текущий вес, будь то новая запись или изменение существующей записи. Надеюсь, это поможет.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
354
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

сделать копию этого листа: https://docs.google.com/spreadsheets/d/

то, что вы просите, выполняется скриптом, который запускается всякий раз, когда вы вводите что-то в столбце B.

0


  • перейти к Инструменты
  • выберите Редактор скриптов

    0

  • скопируйте и вставьте этот скрипт:


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);
  }
}
  • сохранить проект под каким-либо именем

  • вернуться на свой лист (вы можете закрыть окно/вкладку скрипта)

Хорошо, теперь мой вопрос: как я могу добавить это в уже созданную электронную таблицу с другими моими листами с данными?

Terri House 09.04.2019 00:14

Хорошо, читая сценарий, что я получаю от него, основываясь на моих очень ограниченных знаниях о написании сценария этого сценария, который вы только что мне дали, говорит, что если какая-либо ячейка будет обновлена, дата будет заполнена автоматически, или это просто говорит, что только если конкретный ячейка обновляется, тогда дата будет автоматически заполнена? Причина, по которой я спрашиваю об этом, заключается в том, что я хочу, например, добавить этот скрипт в существующую электронную таблицу, а ячейки, которые я собираюсь обновить, - это столбец E, за исключением первой строки, которая содержит заголовок этого столбца и столбец, который мне нужно заполнить автоматически, это F, за исключением первой строки.

Terri House 09.04.2019 19:34

он работает на основе столбцов, и сценарий говорит, что если столбец 2 отредактирован, столбец 3 получит дату. для столбцов E-F вам нужно изменить if (cindex == 2) на if (cindex == 5), а для первой строки вам просто нужно удалить дату и ввести то, что вы хотите, вместо этой даты.

player0 09.04.2019 19:39

Хорошо, а если в файле несколько листов? Нужно ли где-то указывать название листа? Я только хочу, чтобы этот лист с названием «Веса для несовершеннолетних» запускал этот скрипт. Итак, я думаю, я спрашиваю, нужно ли мне ссылаться только на этот лист, или он автоматически узнает, потому что я все равно создаю этот скрипт из этого конкретного листа?

Terri House 09.04.2019 20:01

да, вам нужно будет заменить event.source.getActiveSheet() на что-то вроде «getsheetbyname» (я не знаю правильного синтаксиса для этого, извините. скрипты не моя область знаний)

player0 09.04.2019 20:08

Другие вопросы по теме