Страницы: 1
RSS
поиск ближайшей даты по дню недели
 
Добрый день
В топике "вычисление нужной даты" решение не нашел, поэтому пишу сюда и уповаю на вашу посильную помощь.
нужно в одну строку собрать некий текст и дату маршрутов машин по разным городам (в примере указаны первые пришедшие в голову, на самом деле маршрутов более 1000)
проблема в том, что у всех разные дни недели (например Москва катается пн, чт; Прага - ср, пт и т.д.)
сегодня 17/01, а Москва поедет 20/01 и Прага 17/01 ,чтобы эти даты уже автоматом ставились, а когда эти даты пройдут,то подставляются следующие ближайшие.Как это сделать? Возможно ли?
Прикладываю пример


в столбцах BCD - дни маршрутов, в столбце H машины уехавшие сегодня, ВПР сделал чтобы в EFG показывало в какие дни поедет и в строке Q итоговый текст, который отправляю по почте. вот в нем чтобы в конце не стояли дни недели, а ближайшие даты можно как-то сделать? уже весь форум переррыл
 
Если честно, то ничего не понятно ни с примера, ни с описания.
Сделайте нормальный пример, в котором будет видно, что есть, и что нужно получить.
 
Попробую
столбцы закрашенные светло-зеленым - константа, это фиксированные дни маршрутов, когда отправляется машина в тот или иной город (с товаром)
машины отправляются не от офиса, а со складов, соответственно мне надо дать городу получателю информацию "ждите, машина отправлена %дата%, к вам приедет %дата2%"
вот именно этот текст и надо собрать.
столбец закрашенный светло-голубым - это ежедневная отправка машин, они меняются ежедневно, а так как получателей всего более 1000 и ежедневно отправляется 30-50 маршрутов, то для каждого персонально искать дни поездки сложно и времязатратно. для этого использовал функцию ВПР, которая находит в списке всех маршрутов отправленные сегодня и пишет дни недели их поездок.
на два календаря можно внимание не обращать, их сделал когда ломал голову как привязать день недели к дате, что собственно и требуется.
допустим сегодня пятница, машина поедет в понедельник, вот надо чтобы в отдельном столбце была ближайшая дата отправки машины исходя из сегодняшнего числа и дня недели
 
exile, в пример нарисуйте, что нужно получить. Думаю, быстрее поймём.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
пример, с готовым результатом
в РЕЗУЛЬТАТ внес 1й строка что должно быть, 2я строка как пока получается у меня
то есть Нью-Йорк, что должно получится в идеале, а Раменское, что выходит у меня
дату ближайшей машины как видно написал вручную, но надо чтобы она автоматом ее высчитывала
 
Дни маршрутов нельзя вписывать датами? В ячейке дата, отображается как день недели.
 
в константы? а как, когда вторников в году 52, сред и пятниц столько же. и каждую неделю даты будут меняться
вот как подвязать поиск дня недели в календаре по ближайшей дате этого дня недели как раз вопрос
 
На всякий случай
Если автоматизировать бардак, то получится автоматизированный бардак.
 
дни недели указанные в "дни отправок" это график, который неизменен, а отправки ежедневные меняются (маршруты отправленные сегодня)
дни недели ежедневных маршрутов вычисляются через функцию ВПР, а в "РЕЗУЛЬТАТ" уже сцепка из множественных данных = просто текст, сегодняшнее число как день отправки, дни недели маршрутов и собственно дата ближайшего маршрута от сегодняшнего числа
вот с выделенным и загвоздка, все остальное вроде получилось сделать
 
wowick, спасибо, это то знаю, а вот как сделать поиск дня недели по календарю от сегодня - нет, тем более с выборкой от нужной строки
 
Задача разбивается на 2:
1. Получить дни недели для заданного маршрута
2. Постепенно прибавляя к СЕГОДНЯ по одному дню, сравнить полученный день недели с днями из п.1 В течение 7 дней это по-любому должно получится. Полученный результат получить  ;)
Если автоматизировать бардак, то получится автоматизированный бардак.
 
С такой организацией данных получилось только формулой массива (Ctrl+Shift+Enter):

Код
=ТЕКСТ(СЕГОДНЯ()+МИН(ПОИСКПОЗ(ЕСЛИ(E3:G3="";ТЕКСТ(СЕГОДНЯ()-1;"ддд");E3:G3);ТЕКСТ(СЕГОДНЯ()+{0:1:2:3:4:5:6};"ддд");))-1;"ДД/ММ/e")
 
DV - огромное спасибо, работает!!!
спасибо всем большое, уже вторые сутки голову ломал!!
 
При дальнейшем рассмотрении оказалось, что можно и "простой" формулой

Код
=ТЕКСТ(СЕГОДНЯ()+ПОИСКПОЗ(1;СЧЁТЕСЛИ(E3:G3;ТЕКСТ(СЕГОДНЯ()+{0:1:2:3:4:5:6};"ддд"));)-1;"ДД/ММ/e")
 
спасибо! рытаюсь вникнуть в суть формулы и массива
 
Или:
=МИН(ЕСЛИ((СЧЁТЕСЛИ(B3:D3;ТЕКСТ(K3:O9;"ддд"))*K3:O9)>K2;K3:O9))
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Так я ж написал алгоритм...
Если автоматизировать бардак, то получится автоматизированный бардак.
 
алгоритм то понятен, с формулой не совсем ясно как она работает. Вот сижу, разбираю через "формулы - вычислить формулу"
 
Проще разбираться так:
выделяете часть формулы и жмете F9.
Забыл сказать - все "вск" надо заменить на "вс" (в последнем примере я уже заменил)
Изменено: DV - 18.01.2014 04:17:55
 
ага, тоже заметил что формат "воскресенья" в "ддд" - "вс", а не "вск"  
Страницы: 1
Наверх