![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 16.02.2010
Сообщений: 34
|
![]()
Не получил ответа в теме tissot'а о времени и дате, изложу суть вопроса тогда в новой теме.
Описание. Есть форма таблицы, в которой столбцы А,В и С время и дата, остальное - ручной список и раб. данные. Форма таблицы копируется вниз каждый день(или через день, край через 3 дня) часто несколько раз в день. Дата в строчках, где содержится список и в шапке заполняется вручную. Время - выпадающий список(вручную выставляю из диапазона), время в ячейке ниже всегда строго болше или равно предыдущему. В данном примере список - шесть строчек, соответственно дата и время заполняются в шесть строчек плюс в шапке, две строчки сверху и двенадцать снизу - для формул, связи форм друг с другом и прочего. Отступ между формами одинаковый. Вопрос. Я хочу автоматизировать(с удобным редактированием при необходимости) заполнение ячеек с датой, и (очень важно) связать время из выпадающего списка и присвоенную строке дату(для автоматического вычисления разницы времени между последним событием предыдущей формы и первым событием текущей формы при совпадении и при несовпадении дат). Представляю я это так: Первая форма должна быть своего рода начальной точкой отсчёта дат, например, Пн 01.03.2010 . В шапке каждой формы, в ячейке А - выпадающий список Пн-Вс. При выставлении этой ячейки; вниз, в шести строках со списком в ячейке А выставляется значение из этой самой шапки(например в шапке выставил - Пн - заполняется Пн; в шапке выставил - Вт - заполняется Вт). В ячейках со списком в столбце В - автоматически выставляется соответствующая дата. Копируем форму вниз, в шапке выставляем либо опять Пн, либо другой день недели, и дата распознаётся правильно. Например, если в предыдущей форме Пн 01.03.2010; а в текущей форме в шапке поставили Чт, то в ячейках заполняется 04.03.2010 .; чтобы можно было пропускать некоторые дни или праздники - выходные. Далее, если, например, предыдущая форма - Пт 05.03.2010; а в текущей поставили Пн; то естественно заполняется не 01.03.2010; а 08.03.2010 ![]() Но, как раз насчёт привязки столбца времени к столбцу дат: если в предыдущей форме опять например пресловутый Пн 01.03.2010; и в текущей форме выставить Пн, а время в первой строке текущей формы выставить младше, чем в последней строке списка предыдущей формы, то дата чтоб выставилась (опять!!!!!!) ![]() ![]() И ещё один очень важный момент по привязке времени: нужно чтоб в пределах списка (!) ; Если в нижеследующей строке списка (если это не первая строка) время стоит младше, чем в предыдущей, то в этой и следующих нижних строках списка меняется дата и значение (именно только в этих строках) в столбце А(в котором как-раз в шапке список Пн-Вс, который заполняет ячейки списка в этом столбце). Ну здесь до кучи спрошу формулу для вычисления разницы времени, если прошло больше суток или даже более трёх суток. Ещё хорошо было бы иметь возможность редактирования контрольной даты при сохранении всех остальных зависимостей, на случай если пропуск между формами больше недели. Но чтоб предыдущие формы не страдали. Чтоб если, например в предыдущей форме стоит 01.03.2010; а в текущей я изменил контрольное значение на 01.04.2010; то эта предыдущая форма осталась неизменной и все зависимости между ними сохранились. Это когда-нибудь, да всё-равно понадобиться, да и мало ли. Ещё бы очень не помешала такая функция: в шапке, в ячейке где-нибудь рядом со списком Пн-Вс, создать список из двух значений: текущая неделя и следующая неделя. Значение по умолчанию "текущая неделя", это значит выполняются те правила, что я описал выше. Нужна на такой случай: Если в предыдущей форме в последней ячейке списка стоит Пн 01.03.2010; а в текущей в шапке также поставить Пн, и время в первой ячейке текущего списка выставить равное или старше, чем в последней ячейке списка предыдущей формы; То если мы имеем в виду понедельник не 1 марта, а следующей недели, то выставив "следующая неделя", получим к примеру) ![]() Вот такая задача. Если это решаемо, то буду рад любому отклику, т.к. это бы сэкономило бы мне просто уйму времени, потому-что таких форм в день может быть и пять и семь, и по сорок и по двадцать-девять строк. Заранее на неделю расписать формы сейчас я не могу, потому-что они постоянно редактируемые и морока была бы просто зверская, а если найти эти решения, то запросто и легко бы это происходило. Версия 03. Заранее благодарен. Пример в принципе бесполезен, он просто показывает как выглядит форма (и то примерно). |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 472
|
![]()
понять что-либо из Вашего детального описания крайне сложно ... без примера тем более
Если Вы все же желаете получить ответ, попробуйте разбить всю задачу на более мелкие, тогда, возможно, все гораздо упростится. Пример обязателен. Последний раз редактировалось EugeneS; 02.03.2010 в 18:54. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 16.02.2010
Сообщений: 34
|
![]()
Вот первый вопрос.
Создали таблицу. В шапке, в ячейке А создали список: Пн(понедельник), Вт(вторник), Ср(среда), короче до Вс(воскресенье). Скопировали её семь раз вниз с одинаковым отступом. В первой таблице в шапке выставили Пн, во второй Вт, в третьей Ср, в четвёртой Чт, в пятой Пт, в шестой Сб, в седьмой Вс, а в восьмой опять Пн. Как в этом примере. Возможно ли сделать так, чтобы в первой таблице (в шапке стоит понедельник) в ячейках "дата" выставилась дата - 1 марта 2010, к примеру, во второй, где вторник - 2 марта 2010, и тд до седьмой - воскресенья. А вот в восьмой ,где опять понедельник, выставилась дата не 1 марта 2010, а следующий понедельник - 8 марта 2010 ?? Надеюсь нормально объяснил.. Как это сделать даже не догадываюсь. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 16.02.2010
Сообщений: 34
|
![]()
Забыл добавить, что не всё так просто, некоторые дни могут пропускаться, то есть не пойдёт что-то типа предыдущая дата + 1 день. Может идти по типу: понедельник 1 марта, потом вторник 2 марта, потом понедельник 8 марта, потом среда 10 марта, потом вторник 16 марта......
То есть, объясню на примере: если в предыдущей таблице стоит среда 3 марта, а в текущей ставим вторник, то дата в этой таблице выставляется - вторник 9 марта, так как следующий вторник после среды 3 марта - это вторник 9 марта. И так далее. Вот чего я хочу. Последний раз редактировалось Каравай; 02.03.2010 в 22:36. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 472
|
![]()
Вопросы:
1. Логика присвоения 1-му понедельнику даты 01.03.2010? Мы определяем первую дату попадающую на понедельник текущего месяца (или вторник ....)? 2. Дни недели будут располагаться в хронологическом порядке: Пн, Вт, ... и так до конца месяца? 3. Количество строк между шапками таблицы: одинаковое или разное? 4. Окрашивание строк: будет также использовано в оригинальной версии файла или только здесь для наглядности? |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 16.02.2010
Сообщений: 34
|
![]()
1. Просто напросто первая дата - это дата создания документа, от неё зависят все нижние шапки. Дата создания документа может в принципе быть любая, просто надо, чтобы при выставлении в шапке дня недели, которая соответствует этой дате в календаре, дата в ячейках " дата" выставилась нужная нам. Первой шапке мы вручную присвоили дату, остальные нижеследующие шапки зависят от неё.
2.Нет, абсолютно в любом, главное, чтоб если в предыдущей шапке день недели старше, чем в текущей, то ставилась дата правильно. Как вот проще объяснить: первая шапка(просто например) среда 3 марта, а во второй поставили вторник, значит дата во второй должна выставиться 9 марта, так как после среды 3 марта следующий вторник - это 9 марта. Надеюсь так проще понять, что мне надо. 3. Строго одинаковое. 4.Абсолютно без разницы. 5. Спасибо! |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 472
|
![]()
посмотрите, пожалуйста, вложение.
Укажите дату в ячейке В4 Последний раз редактировалось EugeneS; 03.03.2010 в 14:56. |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 16.02.2010
Сообщений: 34
|
![]()
Спасибо, EugeneS. У меня начало вырисоваться в голове, как это должно выглядеть в итоге.
У меня возник такой вопрос о связи даты и времени: в ячейке А1 - дата(формат 01.03.2010), в ячейке В1 - время(формат 08.00). Возможно ли каким-нибудь способом сделать так, чтобы в ячейке С1 вывелось 01.03.2010. 08.00? То есть связать ячейку даты и ячейку времени(с неприсвоенной датой). Просто сама ячейка времени - выпадающий список типа 10.30 и постоянно меняется,ячейка даты тоже постоянно меняется. Или, может есть выход без использования третьей ячейки, правдо если это усложнит задачу на порядок, то не надо. Кстати, в меню "формат ячеек" вкладка "число" в форматах времени и даты я не нашёл формата типа 01.03.2010 08.00 , а только такой - 01.03.10 08.00 . Где-то читал, что, например дата 01.03.10, расшифровывается экселем как 01.03.1910 , но это не важно, главное, чтоб писало себе типо 01.03.10 08.00, и ладно. И ещё хотел спросить, нет ли в экселе формул, связующих день недели и дату? Ведь есть же формула ЧИСТРАБДНИ, откуда-то же он берёт для расчёта эти чистрабдни, из календаря трея или, может, из своего? Есть что-нибудь такое из формул? Версия 2003, но если понадобиться для удобства или работоспособности - поменяю. Заранее спасибо. Последний раз редактировалось Каравай; 03.03.2010 в 20:27. |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 472
|
![]()
см. вложение
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 16.02.2010
Сообщений: 34
|
![]()
Нет слов.......
Спасибо, и не подумал бы, что всё так, ээ, просто.. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Зависимость формулы от текущей и прошедшей даты. | segail | Microsoft Office Excel | 13 | 19.09.2009 15:36 |
Вывод даты и времени. | mephist | Microsoft Office Excel | 2 | 12.08.2009 10:44 |
Менялка времени\даты | StudentPolitech | Свободное общение | 3 | 26.06.2009 13:24 |
Зависимость даты дней от дня недели | valerij | Microsoft Office Excel | 16 | 18.06.2009 01:17 |
Фиксация даты измения значения в ячейке | Python | Microsoft Office Excel | 7 | 13.12.2006 20:47 |