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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматический ввод даты при изменении значения. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Автоматический ввод даты при изменении значения.
Mulifen Дата: Понедельник, 20.06.2011, 11:24 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Добрый день. Стоит такая задача автоматически вводить даты в ячейку А1 при изменении/вводе в ячейку B1.
Была вот такая реализация.
http://forum.msexcel.ru/microso.....0.html
Quote
Помогите создать макрос, чтобы вводил текущую дату в ячейке А1 при создании новой записи в ячейке В1. Что-то типа регистрационного журнала: ввожу фамилию в ячейку В1, автоматически в ячейке А1 появляется текущая дата, при этом ячейка с датой должна быть защищена от редактирования.

Но требуется реализация без макросов.
Если правильно понимаю, то нужно использовать ЕСЛИ и СЕГОДНЯ() или TDATE().
Заранее благодарен.
 
Ответить
СообщениеДобрый день. Стоит такая задача автоматически вводить даты в ячейку А1 при изменении/вводе в ячейку B1.
Была вот такая реализация.
http://forum.msexcel.ru/microso.....0.html
Quote
Помогите создать макрос, чтобы вводил текущую дату в ячейке А1 при создании новой записи в ячейке В1. Что-то типа регистрационного журнала: ввожу фамилию в ячейку В1, автоматически в ячейке А1 появляется текущая дата, при этом ячейка с датой должна быть защищена от редактирования.

Но требуется реализация без макросов.
Если правильно понимаю, то нужно использовать ЕСЛИ и СЕГОДНЯ() или TDATE().
Заранее благодарен.

Автор - Mulifen
Дата добавления - 20.06.2011 в 11:24
Serge_007 Дата: Понедельник, 20.06.2011, 11:30 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Здравствуйте.

Quote
...ввожу фамилию в ячейку В1, автоматически  в ячейке А1 появляется текущая дата...

Без макросов наверное не получится, т.к. функция СЕГОДНЯ() пересчитывается при любом изменении на листе, а не только при изменениях в А1.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЗдравствуйте.

Quote
...ввожу фамилию в ячейку В1, автоматически  в ячейке А1 появляется текущая дата...

Без макросов наверное не получится, т.к. функция СЕГОДНЯ() пересчитывается при любом изменении на листе, а не только при изменениях в А1.

Автор - Serge_007
Дата добавления - 20.06.2011 в 11:30
Michael_S Дата: Понедельник, 20.06.2011, 11:35 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Без макросов можно, но должны быть включены итерации.
Дата в А1 должна меняться при любом изменении в В1 или только один раз?
 
Ответить
СообщениеБез макросов можно, но должны быть включены итерации.
Дата в А1 должна меняться при любом изменении в В1 или только один раз?

Автор - Michael_S
Дата добавления - 20.06.2011 в 11:35
Mulifen Дата: Понедельник, 20.06.2011, 11:36 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

А если сделать некую промежуточную ячейку на подобии маркера изменять или нет и буферную ячейку с указанием текущей даты и даты изменения.
 
Ответить
СообщениеА если сделать некую промежуточную ячейку на подобии маркера изменять или нет и буферную ячейку с указанием текущей даты и даты изменения.

Автор - Mulifen
Дата добавления - 20.06.2011 в 11:36
Mulifen Дата: Понедельник, 20.06.2011, 11:43 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Michael_S можно подробнее про итерации.
Дата в принципе должна меняться 1 раз, но возможно что и несколько.
(Стоит задача автоматического формирования журнала заявок (дата подачи, кем, и собственно текст заявки)
И нужно фиксировать дату внесения (т.к. замучали либо вообще не пишут или пишут не всегда корректно + потом вносят изменения в текст, а дату не меняют, соответственно заявка выполняется по старым условиям а при проверке выясняется что неправильно исполнили))
 
Ответить
СообщениеMichael_S можно подробнее про итерации.
Дата в принципе должна меняться 1 раз, но возможно что и несколько.
(Стоит задача автоматического формирования журнала заявок (дата подачи, кем, и собственно текст заявки)
И нужно фиксировать дату внесения (т.к. замучали либо вообще не пишут или пишут не всегда корректно + потом вносят изменения в текст, а дату не меняют, соответственно заявка выполняется по старым условиям а при проверке выясняется что неправильно исполнили))

Автор - Mulifen
Дата добавления - 20.06.2011 в 11:43
Serge_007 Дата: Понедельник, 20.06.2011, 11:45 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Mulifen)
либо вообще не пишут или пишут не всегда корректно + потом вносят изменения в текст, а дату не меняют

Тогда точно лучше макросами. Ввод через форму, с проверкой на корректность и запретом на изменение. Чем такой вариант не подходит?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Mulifen)
либо вообще не пишут или пишут не всегда корректно + потом вносят изменения в текст, а дату не меняют

Тогда точно лучше макросами. Ввод через форму, с проверкой на корректность и запретом на изменение. Чем такой вариант не подходит?

Автор - Serge_007
Дата добавления - 20.06.2011 в 11:45
Mulifen Дата: Понедельник, 20.06.2011, 11:50 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Боюсь что антивирус будет мешать и при открытии при запросе отключать макросы или нет ответят нет.
 
Ответить
СообщениеБоюсь что антивирус будет мешать и при открытии при запросе отключать макросы или нет ответят нет.

Автор - Mulifen
Дата добавления - 20.06.2011 в 11:50
Serge_007 Дата: Понедельник, 20.06.2011, 11:53 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Mulifen)
Боюсь что антивирус будет мешать и при открытии при запросе отключать макросы или нет ответят нет.

Итерации тоже придётся включать.
Антивирус тут правда не помеха, но ведь кто-нибудь может и не сделать этого...


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Mulifen)
Боюсь что антивирус будет мешать и при открытии при запросе отключать макросы или нет ответят нет.

Итерации тоже придётся включать.
Антивирус тут правда не помеха, но ведь кто-нибудь может и не сделать этого...

Автор - Serge_007
Дата добавления - 20.06.2011 в 11:53
Michael_S Дата: Понедельник, 20.06.2011, 11:55 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Изменяем ячейку В1. Ячейку С1 лучше скрыть или защитить от изменений. А1 тоже лучше защитить. При любом изменении в В1 будет меняться дата в А1.

ps. Замечу, что в реализации по такому методу тоже есть свои неудобства - время от времени при запуске файла будет выскакивать сообщение о циклических ссылках и придется вручную включать итерации.
К сообщению приложен файл: 2743538.xls (24.0 Kb)


Сообщение отредактировал Michael_S - Понедельник, 20.06.2011, 11:59
 
Ответить
СообщениеИзменяем ячейку В1. Ячейку С1 лучше скрыть или защитить от изменений. А1 тоже лучше защитить. При любом изменении в В1 будет меняться дата в А1.

ps. Замечу, что в реализации по такому методу тоже есть свои неудобства - время от времени при запуске файла будет выскакивать сообщение о циклических ссылках и придется вручную включать итерации.

Автор - Michael_S
Дата добавления - 20.06.2011 в 11:55
Mulifen Дата: Понедельник, 20.06.2011, 12:24 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Michael_S огромное спасибо, шикарное решение.
 
Ответить
СообщениеMichael_S огромное спасибо, шикарное решение.

Автор - Mulifen
Дата добавления - 20.06.2011 в 12:24
0mega Дата: Понедельник, 20.06.2011, 20:23 | Сообщение № 11
Группа: Проверенные
Ранг: Ветеран
Сообщений: 627
Репутация: 34 ±
Замечаний: 0% ±

Michael_S, доброго времени суток.
два вопроса :
1) С1=ЕСЛИ(A1;B1)
как вообще может работать половина формулы и при этом здесь вообще не прописаны никакие условия ?!
2) а почему нельзя С1 просто приравнять к В1:
=B1
 
Ответить
СообщениеMichael_S, доброго времени суток.
два вопроса :
1) С1=ЕСЛИ(A1;B1)
как вообще может работать половина формулы и при этом здесь вообще не прописаны никакие условия ?!
2) а почему нельзя С1 просто приравнять к В1:
=B1

Автор - 0mega
Дата добавления - 20.06.2011 в 20:23
Serge_007 Дата: Понедельник, 20.06.2011, 20:27 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (0mega)
как может работать половина формулы и при этом здесь вообще не прописаны никакие условия ?!

0mega, Вы уже задавали этот вопрос мне и я Вам на него отвечал.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (0mega)
как может работать половина формулы и при этом здесь вообще не прописаны никакие условия ?!

0mega, Вы уже задавали этот вопрос мне и я Вам на него отвечал.

Автор - Serge_007
Дата добавления - 20.06.2011 в 20:27
Michael_S Дата: Понедельник, 20.06.2011, 21:23 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Ну раз уж меня спрашивают, отвечу и я.
1)=ЕСЛИ(A1;B1)
В А1 стоит дата, т.е.- число, это главное условие для возможности применения такой записи.
В логических функциях (а здесь именно логическое условие) ноль=ложь, все, что не равно нулю - истина. В А1<>0, следовательно А1=ИСТИНА.
В функции ЕСЛИ() не обязательно указывать значение, принимаемое при условии ЛОЖЬ. В этом случае по умолчанию возвращается ЛОЖЬ.
Попробуйте в А1 писать любые числа (ноль, положительные, отрицательные), и посмотрите, что будет в С1.

2)Если написать сразу в С1 =В1, то после изменения в В1 сначала изменится значение в С1, и только потом будет вычисляться А1, а следовательно ничего не изменится. Для того, что бы запустить функцию в А1, необходимо обратиться к этой ячейке непосредственно.

Работает Все это так. В В1 меняется значение. В С1 сначала проверяется условие А1, а поскольку там летучая функция ТДАТА(), то сначала она пересчитывается, получаем ИСТИНА, и в С1 возвращается значение В1.
Если бы не были включены итерации, комп бы впал в "кому" :), а так все это происходит один раз (или сколько указанно).
 
Ответить
СообщениеНу раз уж меня спрашивают, отвечу и я.
1)=ЕСЛИ(A1;B1)
В А1 стоит дата, т.е.- число, это главное условие для возможности применения такой записи.
В логических функциях (а здесь именно логическое условие) ноль=ложь, все, что не равно нулю - истина. В А1<>0, следовательно А1=ИСТИНА.
В функции ЕСЛИ() не обязательно указывать значение, принимаемое при условии ЛОЖЬ. В этом случае по умолчанию возвращается ЛОЖЬ.
Попробуйте в А1 писать любые числа (ноль, положительные, отрицательные), и посмотрите, что будет в С1.

2)Если написать сразу в С1 =В1, то после изменения в В1 сначала изменится значение в С1, и только потом будет вычисляться А1, а следовательно ничего не изменится. Для того, что бы запустить функцию в А1, необходимо обратиться к этой ячейке непосредственно.

Работает Все это так. В В1 меняется значение. В С1 сначала проверяется условие А1, а поскольку там летучая функция ТДАТА(), то сначала она пересчитывается, получаем ИСТИНА, и в С1 возвращается значение В1.
Если бы не были включены итерации, комп бы впал в "кому" :), а так все это происходит один раз (или сколько указанно).

Автор - Michael_S
Дата добавления - 20.06.2011 в 21:23
Serge_007 Дата: Вторник, 21.06.2011, 20:01 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Michael_S)
В функции ЕСЛИ() не обязательно указывать значение, принимаемое при условии ЛОЖЬ. В этом случае по умолчанию возвращается ЛОЖЬ.

Добавлю - не обязательно писать и ИСТИНА. Должен быть хотя-бы один из двух аргументов, либо ЛОЖЬ, либо ИСТИНА. Или оба.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Michael_S)
В функции ЕСЛИ() не обязательно указывать значение, принимаемое при условии ЛОЖЬ. В этом случае по умолчанию возвращается ЛОЖЬ.

Добавлю - не обязательно писать и ИСТИНА. Должен быть хотя-бы один из двух аргументов, либо ЛОЖЬ, либо ИСТИНА. Или оба.

Автор - Serge_007
Дата добавления - 21.06.2011 в 20:01
kim Дата: Вторник, 21.06.2011, 20:06 | Сообщение № 15
Группа: Друзья
Ранг: Обитатель
Сообщений: 371
Репутация: 160 ±
Замечаний: 0% ±

Excel 2010
ЛЖИ без ИСТИНЫ быть не может :-)


Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
 
Ответить
СообщениеЛЖИ без ИСТИНЫ быть не может :-)

Автор - kim
Дата добавления - 21.06.2011 в 20:06
Serge_007 Дата: Вторник, 21.06.2011, 20:11 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (kim)
ЛЖИ без ИСТИНЫ быть не может :-)

Я это:
Code
=ЕСЛИ(A1;;ЛОЖЬ)
имел ввиду smile


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (kim)
ЛЖИ без ИСТИНЫ быть не может :-)

Я это:
Code
=ЕСЛИ(A1;;ЛОЖЬ)
имел ввиду smile

Автор - Serge_007
Дата добавления - 21.06.2011 в 20:11
kim Дата: Вторник, 21.06.2011, 20:14 | Сообщение № 17
Группа: Друзья
Ранг: Обитатель
Сообщений: 371
Репутация: 160 ±
Замечаний: 0% ±

Excel 2010
А, ну тады ладно, а то я уже разволновался cool
=ЕСЛИ(A1;;ЛОЖЬ) <=> =ЕСЛИ(A1;0;ЛОЖЬ) <=> =ЕСЛИ(A1;)


Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
 
Ответить
СообщениеА, ну тады ладно, а то я уже разволновался cool
=ЕСЛИ(A1;;ЛОЖЬ) <=> =ЕСЛИ(A1;0;ЛОЖЬ) <=> =ЕСЛИ(A1;)

Автор - kim
Дата добавления - 21.06.2011 в 20:14
GASik Дата: Четверг, 07.03.2013, 05:28 | Сообщение № 18
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Здравствуйте! Нужна помощь в следующем: есть 31 лист (по числу дней в месяце), на каждом из них стоит дата в формате дд.мм.гг. Необходимо сделать так, чтобы при изменении месяца (по прошествии месяца) или года (по прошествии года) на одном листе, менялся месяц/год на другом. ПРоще говоря на листах стоит дата 01.01.13 по 31.01.13 (за январь) Сейчас необходимо поменять на 01.13.13 по 31.03.13 и чтобы в перспективе при изменении месяца или года на одном из листов дата менялась и на всех остальных. Заранее спасибо
 
Ответить
СообщениеЗдравствуйте! Нужна помощь в следующем: есть 31 лист (по числу дней в месяце), на каждом из них стоит дата в формате дд.мм.гг. Необходимо сделать так, чтобы при изменении месяца (по прошествии месяца) или года (по прошествии года) на одном листе, менялся месяц/год на другом. ПРоще говоря на листах стоит дата 01.01.13 по 31.01.13 (за январь) Сейчас необходимо поменять на 01.13.13 по 31.03.13 и чтобы в перспективе при изменении месяца или года на одном из листов дата менялась и на всех остальных. Заранее спасибо

Автор - GASik
Дата добавления - 07.03.2013 в 05:28
Pelena Дата: Четверг, 07.03.2013, 07:47 | Сообщение № 19
Группа: Админы
Ранг: Местный житель
Сообщений: 19405
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
На первом листе
Код
=ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ());1)

На остальных либо по аналогии, либо на каждом следующем листе прибавляйте +1 день к предыдущей дате

Если не угадала, создавайте свою тему и прикладывайте файл с примером


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНа первом листе
Код
=ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ());1)

На остальных либо по аналогии, либо на каждом следующем листе прибавляйте +1 день к предыдущей дате

Если не угадала, создавайте свою тему и прикладывайте файл с примером

Автор - Pelena
Дата добавления - 07.03.2013 в 07:47
  • Страница 1 из 1
  • 1
Поиск:

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