Дамы и господа, всем добрый день. Очень долго уже мучаюсь, до конца не могу продумать логику, как это может работать. Суть вопроса: есть исходные данные - первые 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, когда их набралось нужное количество. Но это уже "на потом"... первоначально важна более простая задача вначале
Дамы и господа, всем добрый день. Очень долго уже мучаюсь, до конца не могу продумать логику, как это может работать. Суть вопроса: есть исходные данные - первые 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, когда их набралось нужное количество. Но это уже "на потом"... первоначально важна более простая задача вначалеnikitass
Аналогично, выделите 5 зелёных ячеек, захватите за уголок и тяните вниз до конца списка, работает в любом случае.
Огромное спасибо за ответ. Но или я что-то делаю не так, или работает немного некорректно, возможно, я плохо объяснил суть задачи. В вашем решении он помещает, например, 01.01 в 05.02, хотя должен был в 03.01, т.к. 5 дат появляется именно 03.01 - 4 от 01.01 +1 от 03.01 и дата на всех должна выставиться 03.01 и т.д.
Аналогично, выделите 5 зелёных ячеек, захватите за уголок и тяните вниз до конца списка, работает в любом случае.
Огромное спасибо за ответ. Но или я что-то делаю не так, или работает немного некорректно, возможно, я плохо объяснил суть задачи. В вашем решении он помещает, например, 01.01 в 05.02, хотя должен был в 03.01, т.к. 5 дат появляется именно 03.01 - 4 от 01.01 +1 от 03.01 и дата на всех должна выставиться 03.01 и т.д.nikitass
ExcelDK, Я вижу эти даты, но логика некорректная... изначальная дата заявки на отгрузку 05.02, формула делает 03.01, такое физически невозможно. Она не должна привязываться к положению этой строчки на листе. Формула должна видеть все даты на листе и проставлять дату относительно их количества...
ExcelDK, Я вижу эти даты, но логика некорректная... изначальная дата заявки на отгрузку 05.02, формула делает 03.01, такое физически невозможно. Она не должна привязываться к положению этой строчки на листе. Формула должна видеть все даты на листе и проставлять дату относительно их количества...nikitass
Стобцы с синими шапками - это инпут (ввод данных), я специальо хаотично ввёл, даты не отссартированы. В слобцах с зелёной шапкой эти хаотичные данные сортируются по дате, на вспомог столбец не смотрите. Смотрите на группу зелёных ячеек и на стобцы с зелеными шапками.
Стобцы с синими шапками - это инпут (ввод данных), я специальо хаотично ввёл, даты не отссартированы. В слобцах с зелёной шапкой эти хаотичные данные сортируются по дате, на вспомог столбец не смотрите. Смотрите на группу зелёных ячеек и на стобцы с зелеными шапками.ExcelDK
ExcelDK, возможно, моего уровня интеллекта не хватает или я чего-то не вижу)) Но вот я выделил 5 ячеек, захватил за уголок и протянул и это совершенно не тот результат, который необходим (
ExcelDK, возможно, моего уровня интеллекта не хватает или я чего-то не вижу)) Но вот я выделил 5 ячеек, захватил за уголок и протянул и это совершенно не тот результат, который необходим (nikitass
ExcelDK, проблема в том, что сортировка невозможна. Если бы можно было сортировать даты, то решение у меня есть, это я придумал, как сделать. Необходимо решение, чтобы он мог это делать без сортировки данных - массив с рандомными датами и он проставлял даты кратно 5
Справа от вашей таблички сделал 2 столбца с датами типа было-стало, чтобы понимать логику того, как нужно, чтобы это выглядело.
ExcelDK, проблема в том, что сортировка невозможна. Если бы можно было сортировать даты, то решение у меня есть, это я придумал, как сделать. Необходимо решение, чтобы он мог это делать без сортировки данных - массив с рандомными датами и он проставлял даты кратно 5
Справа от вашей таблички сделал 2 столбца с датами типа было-стало, чтобы понимать логику того, как нужно, чтобы это выглядело.nikitass
nikitass, Вы всё продолжаете не понимать меня) Ладно, сортировка невозможна, хотя фильтр на шапки своих столбцов вы ставите. Что вам мешает слелать сортировку фильтром? Сделайте сортировку от старых к новым на своих стобцах и сравните с зелёными ячеками по 5 в блоке (после протяжки). Всё будет 1 в 1 как у вас. С той лишь разницей, что в моём варианте сортировку фильтром делать не нужно, её делают формулы в стобцах F, G, H. Вводите хаотично в столбцы с синими шапками, а справа всё автоматически упорядочивается и зелёные ячейки ориентируются именно на упорядоченный список. Настало 3-е число, смотрите сколько пятёрок машин надо отгрузить, настало 4-ое, опять смотрим. Если такое не подходит, то я не знаю как решить эту задачу. Желаю победить!
nikitass, Вы всё продолжаете не понимать меня) Ладно, сортировка невозможна, хотя фильтр на шапки своих столбцов вы ставите. Что вам мешает слелать сортировку фильтром? Сделайте сортировку от старых к новым на своих стобцах и сравните с зелёными ячеками по 5 в блоке (после протяжки). Всё будет 1 в 1 как у вас. С той лишь разницей, что в моём варианте сортировку фильтром делать не нужно, её делают формулы в стобцах F, G, H. Вводите хаотично в столбцы с синими шапками, а справа всё автоматически упорядочивается и зелёные ячейки ориентируются именно на упорядоченный список. Настало 3-е число, смотрите сколько пятёрок машин надо отгрузить, настало 4-ое, опять смотрим. Если такое не подходит, то я не знаю как решить эту задачу. Желаю победить!ExcelDK
ExcelDK, Круто, теперь работает как нужно! Огромное спасибо. А можно подшаманить, чтобы это работало для разных комбинаций ТК+город? То есть, чтобы для агат воронеж считалось отдельно, для агат ростов тоже отдельно и т.д.? Формулы прочитал, логика понятна, но тут нигде нет привязки Я так понимаю, здесь нужно как-то привязаться к комбинации ТК+город - сделать промежуточный столбец ТК&город или ТК&город&дата
ExcelDK, Круто, теперь работает как нужно! Огромное спасибо. А можно подшаманить, чтобы это работало для разных комбинаций ТК+город? То есть, чтобы для агат воронеж считалось отдельно, для агат ростов тоже отдельно и т.д.? Формулы прочитал, логика понятна, но тут нигде нет привязки Я так понимаю, здесь нужно как-то привязаться к комбинации ТК+город - сделать промежуточный столбец ТК&город или ТК&город&датаnikitass
nikitass, Ух! Завадной я пацан!) Всё, больше не заморочусь) Работает по связке ТК&Город&Дата, ТК и Город кодируются по последним буквам, если последние буквы в названиях совпадут, то табличка не различит. Лист DK без листа Формулы раотать не будет. Запас строк 2400, больше в загрузчик не лезет. Свыше 2400 строк работать не будет.
nikitass, Ух! Завадной я пацан!) Всё, больше не заморочусь) Работает по связке ТК&Город&Дата, ТК и Город кодируются по последним буквам, если последние буквы в названиях совпадут, то табличка не различит. Лист DK без листа Формулы раотать не будет. Запас строк 2400, больше в загрузчик не лезет. Свыше 2400 строк работать не будет.ExcelDK