Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

Корректировка дат заявки автомобилей

Автор superpocan, 15.10.2024, 16:53

« назад - далее »

superpocan

Дамы и господа, всем добрый день.
Очень долго уже мучаюсь, до конца не могу продумать логику, как это может работать.
Суть вопроса: есть исходные данные - первые 3 столбца - дата заявки на отгрузку, транспортная компания и город отгрузки.
Необходимо, чтобы формула могла высчитывать новые даты кратно 5 - и писать их в отдельном столбце D (дата полного лота) по признаку - связке - транспортная компания город.
Например, для каждого вхождения АГАТ - Воронеж имеются 4 даты 01.01.2024, 5 дат 03.01.2024, 6 дат 04.02.2024, 17 дат 05.02.2024. Нужно, чтобы все даты 01.01.2024 стали 03.01.2024 (ближайшей датой больше) + осталась 1 дата 03.01.2024, далее у нас получается 4 даты 03.01.2024 (им не хватает 1 до 5), поэтому они должны стать 04.02.2024 (ближайшая дата после нее). Так как 04.02.2024 у нас дополнительно еще изначально 6 штук, то суммарно их станет 10 (кратно 5), поэтому они и должны остаться 04.02.2024, далее есть 17 дат 05.02.2024, 15 должны остаться 05.02.2024 (кратно 5), а 2 должны стать ближайшей следующей датой. Но, если 05.02.2024 - это самая крайняя для комбинации АГАТ- Воронеж, тогда все они и должны остаться 05.02.2024 до появления дат больше этой, соответственно.
Причем - даты всегда перетасованы - сортировать по возрастанию их нельзя.
Надеюсь, не слишком сложно объяснил и заранее спасибо за помощь.
Файл  исходниками прилагаю.

Вот такой метод решает задачу, если даты идут подряд...
D2    =СЧЁТЕСЛИМН($B$1:B2;B2;$C$1:C2;C2)
E2    =ОКРУГЛВВЕРХ(D2/5;0)
F2    =B2&C2&E2
G2    =ЕСЛИОШИБКА(ВПР(F2;F3:$G$100000;2;0);A2)
4 столбца дополнительных, из которых столбец G - решение вопроса...
Но решения для дат вразнобой нет

Более сложная задача:
добавить еще 1 критерий, например, если будет еще 1 столбец с фактором загрузки и он будет формировать количество дат не кратно 5, а кратно этой цифре.
Допустим, когда наберется 6 дат с признаком 6, то он проставит последнюю дату на все 6, когда их набралось нужное количество. Но это уже "на потом"... первоначально важна более простая задача вначале