Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Подстановка даты в облачном Exel Google - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Google Docs » Подстановка даты в облачном Exel Google (Подстановка даты)
Подстановка даты в облачном Exel Google
Ефгений Дата: Понедельник, 07.10.2019, 11:52 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 0 ±
Замечаний: 0% ±

2010
Здравствуйте. Господа прошу Вашей помощи. Работаю в облачном Exel Google, появилась необходимость в следующей формуле. Есть ячейка А1 в которую нужно возвращать текущую дату при внесении данных в ячейку В1, т.е. забивая данные в ячейку В1, формула должна возвращать текущую дату в ячейку А1. Я заранее Вам при многом благодарен.
 
Ответить
СообщениеЗдравствуйте. Господа прошу Вашей помощи. Работаю в облачном Exel Google, появилась необходимость в следующей формуле. Есть ячейка А1 в которую нужно возвращать текущую дату при внесении данных в ячейку В1, т.е. забивая данные в ячейку В1, формула должна возвращать текущую дату в ячейку А1. Я заранее Вам при многом благодарен.

Автор - Ефгений
Дата добавления - 07.10.2019 в 11:52
китин Дата: Понедельник, 07.10.2019, 11:56 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 5882
Репутация: 914 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
Ефгений, а при чём тут "Вопросы по работе форума и сайта"?


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
СообщениеЕфгений, а при чём тут "Вопросы по работе форума и сайта"?

Автор - китин
Дата добавления - 07.10.2019 в 11:56
Ефгений Дата: Понедельник, 07.10.2019, 12:20 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 0 ±
Замечаний: 0% ±

2010
Ефгений, а при чём тут "Вопросы по работе форума и сайта"?

Не туда пишу да?))
 
Ответить
Сообщение
Ефгений, а при чём тут "Вопросы по работе форума и сайта"?

Не туда пишу да?))

Автор - Ефгений
Дата добавления - 07.10.2019 в 12:20
китин Дата: Понедельник, 07.10.2019, 12:21 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 5882
Репутация: 914 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
да. появятся админы перенесут


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
Сообщениеда. появятся админы перенесут

Автор - китин
Дата добавления - 07.10.2019 в 12:21
Ефгений Дата: Понедельник, 07.10.2019, 12:24 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 0 ±
Замечаний: 0% ±

2010
да. появятся админы перенесут

Я извиняюсь за свою неграмотность
 
Ответить
Сообщение
да. появятся админы перенесут

Я извиняюсь за свою неграмотность

Автор - Ефгений
Дата добавления - 07.10.2019 в 12:24
Pelena Дата: Понедельник, 07.10.2019, 14:46 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 14579
Репутация: 3192 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Перенесла тему


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеПеренесла тему

Автор - Pelena
Дата добавления - 07.10.2019 в 14:46
Kashimirush Дата: Понедельник, 07.10.2019, 15:42 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 4 ±
Замечаний: 0% ±

Excel 2010
Скрипт в помощь:
Инструменты - Редактор скриптов
Пишем скрипт:

Сохраняем проект, проверяем.
P.S. В данном скрипте если в ячейке А уже стоит какая либо дата, скрипт не будет её менять. Т.е. если , допустим, сегодня в ячейку В2 внесли данные, в ячейку А2 встала дата 7.10.2019, если послезавтра 9.10.2019 в ячейке В2, кто то опять поменяет данные в А2 дата останется такой же 7.10.2019
P.P.S. Есть функция для формул NOW - она возвращает всегда (постоянно обновляется) сегодняшнее число, скорее всего при помощи формул вам задачу свою не решить.


Работа, работа, перейди на Федота...

Сообщение отредактировал Kashimirush - Понедельник, 07.10.2019, 16:05
 
Ответить
СообщениеСкрипт в помощь:
Инструменты - Редактор скриптов
Пишем скрипт:

Сохраняем проект, проверяем.
P.S. В данном скрипте если в ячейке А уже стоит какая либо дата, скрипт не будет её менять. Т.е. если , допустим, сегодня в ячейку В2 внесли данные, в ячейку А2 встала дата 7.10.2019, если послезавтра 9.10.2019 в ячейке В2, кто то опять поменяет данные в А2 дата останется такой же 7.10.2019
P.P.S. Есть функция для формул NOW - она возвращает всегда (постоянно обновляется) сегодняшнее число, скорее всего при помощи формул вам задачу свою не решить.

Автор - Kashimirush
Дата добавления - 07.10.2019 в 15:42
Ефгений Дата: Среда, 09.10.2019, 11:39 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 0 ±
Замечаний: 0% ±

2010
Сохраняем проект, проверяем.
P.S. В данном скрипте если в ячейке А уже стоит какая либо дата, скрипт не будет её менять. Т.е. если , допустим, сегодня в ячейку В2 внесли данные, в ячейку А2 встала дата 7.10.2019, если послезавтра 9.10.2019 в ячейке В2, кто то опять поменяет данные в А2 дата останется такой же 7.10.2019
P.P.S. Есть функция для формул NOW - она возвращает всегда (постоянно обновляется) сегодняшнее число, скорее всего при помощи формул вам задачу свою не решить.

Сохраняем проект, проверяем.
P.S. В данном скрипте если в ячейке А уже стоит какая либо дата, скрипт не будет её менять. Т.е. если , допустим, сегодня в ячейку В2 внесли данные, в ячейку А2 встала дата 7.10.2019, если послезавтра 9.10.2019 в ячейке В2, кто то опять поменяет данные в А2 дата останется такой же 7.10.2019
P.P.S. Есть функция для формул NOW - она возвращает всегда (постоянно обновляется) сегодняшнее число, скорее всего при помощи формул вам задачу свою не решить.


Здравствуйте. Скрипт почему-то не работает. Не могли бы Вы показать на примере?
https://docs.google.com/spreads....sharing
 
Ответить
Сообщение
Сохраняем проект, проверяем.
P.S. В данном скрипте если в ячейке А уже стоит какая либо дата, скрипт не будет её менять. Т.е. если , допустим, сегодня в ячейку В2 внесли данные, в ячейку А2 встала дата 7.10.2019, если послезавтра 9.10.2019 в ячейке В2, кто то опять поменяет данные в А2 дата останется такой же 7.10.2019
P.P.S. Есть функция для формул NOW - она возвращает всегда (постоянно обновляется) сегодняшнее число, скорее всего при помощи формул вам задачу свою не решить.

Сохраняем проект, проверяем.
P.S. В данном скрипте если в ячейке А уже стоит какая либо дата, скрипт не будет её менять. Т.е. если , допустим, сегодня в ячейку В2 внесли данные, в ячейку А2 встала дата 7.10.2019, если послезавтра 9.10.2019 в ячейке В2, кто то опять поменяет данные в А2 дата останется такой же 7.10.2019
P.P.S. Есть функция для формул NOW - она возвращает всегда (постоянно обновляется) сегодняшнее число, скорее всего при помощи формул вам задачу свою не решить.


Здравствуйте. Скрипт почему-то не работает. Не могли бы Вы показать на примере?
https://docs.google.com/spreads....sharing

Автор - Ефгений
Дата добавления - 09.10.2019 в 11:39
Kashimirush Дата: Среда, 09.10.2019, 12:10 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 4 ±
Замечаний: 0% ±

Excel 2010
Ефгений, готово проверяйте.


Работа, работа, перейди на Федота...
 
Ответить
СообщениеЕфгений, готово проверяйте.

Автор - Kashimirush
Дата добавления - 09.10.2019 в 12:10
Ефгений Дата: Среда, 09.10.2019, 13:01 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 0 ±
Замечаний: 0% ±

2010
готово проверяйте.

Огромное Спасибо Вам за помощь. Очень, очень признателен. Спасибо
 
Ответить
Сообщение
готово проверяйте.

Огромное Спасибо Вам за помощь. Очень, очень признателен. Спасибо

Автор - Ефгений
Дата добавления - 09.10.2019 в 13:01
Ефгений Дата: Среда, 09.10.2019, 15:26 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 0 ±
Замечаний: 0% ±

2010
готово проверяйте.

Всеже не совсем понимаю. Это скрипт, или просто даты прописаны
 
Ответить
Сообщение
готово проверяйте.

Всеже не совсем понимаю. Это скрипт, или просто даты прописаны

Автор - Ефгений
Дата добавления - 09.10.2019 в 15:26
Kashimirush Дата: Четверг, 10.10.2019, 07:15 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 4 ±
Замечаний: 0% ±

Excel 2010
Ефгений,
Конкретнее вопрос задайте, не понятно, что вам не понятно :D


Работа, работа, перейди на Федота...
 
Ответить
СообщениеЕфгений,
Конкретнее вопрос задайте, не понятно, что вам не понятно :D

Автор - Kashimirush
Дата добавления - 10.10.2019 в 07:15
Kashimirush Дата: Четверг, 10.10.2019, 08:48 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 4 ±
Замечаний: 0% ±

Excel 2010
Изначальный скрипт прописан под конкретный лист
[vba]
Код
if ( idCol == 2 && sheet.getName() =='Лист1' )
[/vba]
Скрипт будет работать только на одном листе, который прописан в этой строчке кода.
Если выполнение скрипта нужно на нескольких листах, можно добавить в код оператор else if после If
Тогда код будет выглядеть так:
[vba]
Код
function onEdit(a) {
var sheet = a.source.getActiveSheet();
var idCol = a.range.getColumn();
var idRow = a.range.getRow();
  if ( idCol == 2 && sheet.getName() =='Лист1' )
  {var Value = a.range.offset(0, -1).getValues();
   if ( Value == 0 )
   {var vartoday = getDate();
    sheet.getRange(idRow, 1).setValue( vartoday );}}
  else if ( idCol == 2 && sheet.getName() =='Лист2' )
  {var Value = a.range.offset(0, -1).getValues();
   if ( Value == 0 )
   {var vartoday = getDate();
    sheet.getRange(idRow, 1).setValue( vartoday );}}
  else if ( idCol == 2 && sheet.getName() =='Лист3' )
  {var Value = a.range.offset(0, -1).getValues();
   if ( Value == 0 )
   {var vartoday = getDate();
    sheet.getRange(idRow, 1).setValue( vartoday );}}
}
function getDate() {
var today = new Date();
today.setDate(today.getDate());
return Utilities.formatDate(today, 'GMT+05:00', 'dd.MM.yyyy');
}
//if ( idCol == 2 && sheet.getName() =='Лист1' ) - указываем ячейку (порядковый номер А=1,В=2 и т.д.) триггер - изменение которой будут давать сигнал на редактирование даты, в данном случае стоит 2 - значит смотрим столбец B
//{var Value = a.range.offset(0, -1).getValues(); - Смотрим что в ячейке слева на 1 от idCol (указано -1, если будет 1 значит смотрим справа на одну), если ячейка пуста то ставим дату,если имеет данные то ничего не меняем
//{var vartoday = getDate();sheet.getRange(idRow, 1).setValue( vartoday );}} - getRange(idRow, 1) - Указываем куда вставить дату 1 столбец - значит в А
[/vba]
Добавил Лист2 и Лист3 в работу кода.
С точки зрения программирования, я не могу сказать насколько такое решение оптимально (я дилетант в этом деле); т.к. при таком построении кода видно, что отрабатывает он не сразу и, если добавлять в столбец B данные слишком быстро, то отрабатывает он не каждый раз. Тут возможно помогут более матерые старожилы форума.


Работа, работа, перейди на Федота...

Сообщение отредактировал Kashimirush - Четверг, 10.10.2019, 09:05
 
Ответить
СообщениеИзначальный скрипт прописан под конкретный лист
[vba]
Код
if ( idCol == 2 && sheet.getName() =='Лист1' )
[/vba]
Скрипт будет работать только на одном листе, который прописан в этой строчке кода.
Если выполнение скрипта нужно на нескольких листах, можно добавить в код оператор else if после If
Тогда код будет выглядеть так:
[vba]
Код
function onEdit(a) {
var sheet = a.source.getActiveSheet();
var idCol = a.range.getColumn();
var idRow = a.range.getRow();
  if ( idCol == 2 && sheet.getName() =='Лист1' )
  {var Value = a.range.offset(0, -1).getValues();
   if ( Value == 0 )
   {var vartoday = getDate();
    sheet.getRange(idRow, 1).setValue( vartoday );}}
  else if ( idCol == 2 && sheet.getName() =='Лист2' )
  {var Value = a.range.offset(0, -1).getValues();
   if ( Value == 0 )
   {var vartoday = getDate();
    sheet.getRange(idRow, 1).setValue( vartoday );}}
  else if ( idCol == 2 && sheet.getName() =='Лист3' )
  {var Value = a.range.offset(0, -1).getValues();
   if ( Value == 0 )
   {var vartoday = getDate();
    sheet.getRange(idRow, 1).setValue( vartoday );}}
}
function getDate() {
var today = new Date();
today.setDate(today.getDate());
return Utilities.formatDate(today, 'GMT+05:00', 'dd.MM.yyyy');
}
//if ( idCol == 2 && sheet.getName() =='Лист1' ) - указываем ячейку (порядковый номер А=1,В=2 и т.д.) триггер - изменение которой будут давать сигнал на редактирование даты, в данном случае стоит 2 - значит смотрим столбец B
//{var Value = a.range.offset(0, -1).getValues(); - Смотрим что в ячейке слева на 1 от idCol (указано -1, если будет 1 значит смотрим справа на одну), если ячейка пуста то ставим дату,если имеет данные то ничего не меняем
//{var vartoday = getDate();sheet.getRange(idRow, 1).setValue( vartoday );}} - getRange(idRow, 1) - Указываем куда вставить дату 1 столбец - значит в А
[/vba]
Добавил Лист2 и Лист3 в работу кода.
С точки зрения программирования, я не могу сказать насколько такое решение оптимально (я дилетант в этом деле); т.к. при таком построении кода видно, что отрабатывает он не сразу и, если добавлять в столбец B данные слишком быстро, то отрабатывает он не каждый раз. Тут возможно помогут более матерые старожилы форума.

Автор - Kashimirush
Дата добавления - 10.10.2019 в 08:48
Ефгений Дата: Четверг, 10.10.2019, 11:14 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 0 ±
Замечаний: 0% ±

2010
Я что то делаю не так. Выбираю колонку А, из выпадающего списка макросов выбираю getDate, система пишет что скрипт выполнен, но дата не подставляется при внесении данных в колонке И
 
Ответить
СообщениеЯ что то делаю не так. Выбираю колонку А, из выпадающего списка макросов выбираю getDate, система пишет что скрипт выполнен, но дата не подставляется при внесении данных в колонке И

Автор - Ефгений
Дата добавления - 10.10.2019 в 11:14
Kashimirush Дата: Четверг, 10.10.2019, 11:27 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 48
Репутация: 4 ±
Замечаний: 0% ±

Excel 2010
Цитата Ефгений, 10.10.2019 в 11:14, в сообщении № 14 ()
из выпадающего списка макросов выбираю getDate,

Данный скрипт не нужно инициировать из списка макросов, он отрабатывает автоматически при внесении данных на указанных в скрипте листах.


Работа, работа, перейди на Федота...
 
Ответить
Сообщение
Цитата Ефгений, 10.10.2019 в 11:14, в сообщении № 14 ()
из выпадающего списка макросов выбираю getDate,

Данный скрипт не нужно инициировать из списка макросов, он отрабатывает автоматически при внесении данных на указанных в скрипте листах.

Автор - Kashimirush
Дата добавления - 10.10.2019 в 11:27
Gustav Дата: Четверг, 10.10.2019, 12:41 | Сообщение № 16
Группа: Друзья
Ранг: Старожил
Сообщений: 1682
Репутация: 683 ±
Замечаний: 0% ±

начинал с Excel 4.0...
Изначальный скрипт прописан под конкретный лист
if ( idCol == 2 && sheet.getName() =='Лист1' )
Скрипт будет работать только на одном листе, который прописан в этой строчке кода.

Чтобы он работал не только на одном листе, а на некотором списке листов, можно преобразовать имеющееся условие примерно в такое:
[vba]
Код
if ( idCol == 2 && ['Лист1','Лист2','Лист3'].indexOf(sheet.getName()) > -1 )
[/vba]
или чтобы уж совсем красиво, то:
[vba]
Код
if ( idCol == 2 && ~['Лист1','Лист2','Лист3'].indexOf(sheet.getName()) )
[/vba]
где тильда как раз и обозначает операцию не равенства значению -1, что означает, что искомый элемент sheet.getName() найден в массиве.


Мой tip box - яд 41001663842605
 
Ответить
Сообщение
Изначальный скрипт прописан под конкретный лист
if ( idCol == 2 && sheet.getName() =='Лист1' )
Скрипт будет работать только на одном листе, который прописан в этой строчке кода.

Чтобы он работал не только на одном листе, а на некотором списке листов, можно преобразовать имеющееся условие примерно в такое:
[vba]
Код
if ( idCol == 2 && ['Лист1','Лист2','Лист3'].indexOf(sheet.getName()) > -1 )
[/vba]
или чтобы уж совсем красиво, то:
[vba]
Код
if ( idCol == 2 && ~['Лист1','Лист2','Лист3'].indexOf(sheet.getName()) )
[/vba]
где тильда как раз и обозначает операцию не равенства значению -1, что означает, что искомый элемент sheet.getName() найден в массиве.

Автор - Gustav
Дата добавления - 10.10.2019 в 12:41
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Google Docs » Подстановка даты в облачном Exel Google (Подстановка даты)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!