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

Вход

Регистрация

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

 

= Мир MS Excel/Разность дат. Задачка со звездочкой - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Разность дат. Задачка со звездочкой
bagraart Дата: Понедельник, 22.12.2025, 00:38 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 37
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте, уважаемые форумчане!

Буду очень признателен за любую помощь и советы. Задача, с которой столкнулся, не из простых — сам уже голову сломал, но уверен, что с богатым опытом участников форума найдется решение!

Немного предыстории: Клиенты компании ХХХ могут оформить заказ на сайте, и доставку осуществляет курьерская служба. Если товар им не подходит, они могут оформить возврат через личный кабинет на сайте. После этого курьер компании приезжает, забирает возвратную посылку у клиента и доставляет её на склад. Деньги возвращаются клиенту в тот момент, когда товар сканируют на складе (то есть после того, как возврат поступит и будет зарегистрирован).

В приложении — файл, в котором отображается, сколько дней прошло между моментом получения возвратной посылки курьером и моментом, когда деньги поступили на карту клиента (после первого скана на складе).

Объясню структуру данных:

Столбец A = AWB — порядковый номер накладной
Столбец B = Collection date — дата получения возврата от клиента
Столбец C = Credit Date — дата сканирования возврата на складе (момент возврата денег). Эту дату я вычисляю формулой, подставляя данные из другого файла (ниже скажу об этом)
Столбец D = Days to credit — дней затрачено между принятием возврата от клиента, до его скана на складе.
Столбец E = Account id — уникальный номер клиента

Копирую из другого файла столбцы G и H (на иx основе и высчитываю Credit date:

G — дата возврата денег
H — номер клиента

Обратите внимание: хотя Account id (номер клиента) уникален в системе, в файле он не всегда уникален, поскольку один клиент может возвращать товары несколько раз в разные дни. Но для меня это единственный уникальный параметр, который "роднит" таблицы А:Е и G:H

Я использую следующую формулу, чтобы найти дату возврата (Credit Date) по номеру клиента:

Код
{=ИНДЕКС($G$2:$G$13216;ПОИСКПОЗ(1;($H$2:$H$13216=E2)*($H$2:$H$13216>=B2);0);1)}


А затем считаю разницу между датами:

Код
=ЧИСТРАБДНИ.МЕЖД(B2;C2;11)


Проблема в том, что формула иногда возвращает дату, которая раньше даты получения возврата от клиента — например, для клиента IW943258, возврат которого был принят курьером 13.12.2025, она показывает скан 23.11.2025, что неверно ( точнее верно, 23 ноября тоже был скан возврата от это клиента, но полученного от клиента ранее.

Вижу, что клиент возвращал дважды товары:
1. строка 150, H столбец - 23.11.2025
2. строка 9767 H столбец - 16.12.2025 ( она и нужна мне, три дня от даты принятия возврата от клиента до проведения возврата на складе звучит очень логично)
Но формула упорно возвращает мне ноябрьскую дату. ( 23.11.2025) для данного клиента

Это мешает корректно считать разницы и вызывает отрицательные значения. В итоге у меня в Days to Credit много негативных значений.

Подскажите, пожалуйста, как сделать так, чтобы формула находила именно ту дату возврата, которая происходит после даты получения возврата от клиента? То есть, чтобы она игнорировала более ранние даты и искала следующую дату, которая больше или равна дате столбца "B"?

Заранее большое спасибо за любую помощь! Очень ценю ваше время и знания.
К сообщению приложен файл: 4102611.xlsx (313.0 Kb)


Сообщение отредактировал bagraart - Понедельник, 22.12.2025, 08:40
 
Ответить
СообщениеЗдравствуйте, уважаемые форумчане!

Буду очень признателен за любую помощь и советы. Задача, с которой столкнулся, не из простых — сам уже голову сломал, но уверен, что с богатым опытом участников форума найдется решение!

Немного предыстории: Клиенты компании ХХХ могут оформить заказ на сайте, и доставку осуществляет курьерская служба. Если товар им не подходит, они могут оформить возврат через личный кабинет на сайте. После этого курьер компании приезжает, забирает возвратную посылку у клиента и доставляет её на склад. Деньги возвращаются клиенту в тот момент, когда товар сканируют на складе (то есть после того, как возврат поступит и будет зарегистрирован).

В приложении — файл, в котором отображается, сколько дней прошло между моментом получения возвратной посылки курьером и моментом, когда деньги поступили на карту клиента (после первого скана на складе).

Объясню структуру данных:

Столбец A = AWB — порядковый номер накладной
Столбец B = Collection date — дата получения возврата от клиента
Столбец C = Credit Date — дата сканирования возврата на складе (момент возврата денег). Эту дату я вычисляю формулой, подставляя данные из другого файла (ниже скажу об этом)
Столбец D = Days to credit — дней затрачено между принятием возврата от клиента, до его скана на складе.
Столбец E = Account id — уникальный номер клиента

Копирую из другого файла столбцы G и H (на иx основе и высчитываю Credit date:

G — дата возврата денег
H — номер клиента

Обратите внимание: хотя Account id (номер клиента) уникален в системе, в файле он не всегда уникален, поскольку один клиент может возвращать товары несколько раз в разные дни. Но для меня это единственный уникальный параметр, который "роднит" таблицы А:Е и G:H

Я использую следующую формулу, чтобы найти дату возврата (Credit Date) по номеру клиента:

Код
{=ИНДЕКС($G$2:$G$13216;ПОИСКПОЗ(1;($H$2:$H$13216=E2)*($H$2:$H$13216>=B2);0);1)}


А затем считаю разницу между датами:

Код
=ЧИСТРАБДНИ.МЕЖД(B2;C2;11)


Проблема в том, что формула иногда возвращает дату, которая раньше даты получения возврата от клиента — например, для клиента IW943258, возврат которого был принят курьером 13.12.2025, она показывает скан 23.11.2025, что неверно ( точнее верно, 23 ноября тоже был скан возврата от это клиента, но полученного от клиента ранее.

Вижу, что клиент возвращал дважды товары:
1. строка 150, H столбец - 23.11.2025
2. строка 9767 H столбец - 16.12.2025 ( она и нужна мне, три дня от даты принятия возврата от клиента до проведения возврата на складе звучит очень логично)
Но формула упорно возвращает мне ноябрьскую дату. ( 23.11.2025) для данного клиента

Это мешает корректно считать разницы и вызывает отрицательные значения. В итоге у меня в Days to Credit много негативных значений.

Подскажите, пожалуйста, как сделать так, чтобы формула находила именно ту дату возврата, которая происходит после даты получения возврата от клиента? То есть, чтобы она игнорировала более ранние даты и искала следующую дату, которая больше или равна дате столбца "B"?

Заранее большое спасибо за любую помощь! Очень ценю ваше время и знания.

Автор - bagraart
Дата добавления - 22.12.2025 в 00:38
DrMini Дата: Понедельник, 22.12.2025, 05:49 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2145
Репутация: 378 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Здравствуйте bagraart.
Подскажите, пожалуйста

Мне кажется, вам нужно чуть, чуть подправить вашу формулу:
Код
=ИНДЕКС(G$2:G$13216;ПОИСКПОЗ(1;(H$2:H$13216=E2)*(G$2:G$13216>=B2););1)

Потому, что вот этот кусок:
Код
($H$2:$H$13216>=B2)

у вас не работает. Вы ищите дату в Account id. А там её нет.

И исправьте пожалуйста оформление формул. Выделите формулу в вашем посте и нажмите Fx.

К сообщению приложен файл: 6842934.jpg (31.4 Kb)
 
Ответить
СообщениеЗдравствуйте bagraart.
Подскажите, пожалуйста

Мне кажется, вам нужно чуть, чуть подправить вашу формулу:
Код
=ИНДЕКС(G$2:G$13216;ПОИСКПОЗ(1;(H$2:H$13216=E2)*(G$2:G$13216>=B2););1)

Потому, что вот этот кусок:
Код
($H$2:$H$13216>=B2)

у вас не работает. Вы ищите дату в Account id. А там её нет.

И исправьте пожалуйста оформление формул. Выделите формулу в вашем посте и нажмите Fx.


Автор - DrMini
Дата добавления - 22.12.2025 в 05:49
bagraart Дата: Понедельник, 22.12.2025, 08:44 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 37
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
DrMini, Это гениально! и вроде, был так близко с решением.
Премного благодарен!
 
Ответить
СообщениеDrMini, Это гениально! и вроде, был так близко с решением.
Премного благодарен!

Автор - bagraart
Дата добавления - 22.12.2025 в 08:44
  • Страница 1 из 1
  • 1
Поиск:

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