Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Поиск данных с приблизительным условием по дате
 
Добрый день.
Подскажите, какая формула сюда подойдет лучше всего.
1. По первому примеру понятно, что подойдет ВПР
2. Видно что, Клиенту звонили до заказа несколько раз, но меня интересует именно те звонки которые сделаны после заказа (временной период после заказа - 24 часа). ВПР сюда не подойдет  
Изменено: AnastasiaSchaste - 25 май 2020 16:13:57
 
AnastasiaSchaste,интересно какую Вы помощь ожидаете приложив картинки...
возможно подойдет функция  просмотр
Не бойтесь совершенства. Вам его не достичь.
 
Mershik,вложила файл
Изменено: AnastasiaSchaste - 26 май 2020 12:31:22
 
AnastasiaSchaste, а логика какая? ..сделал для если в пределах одних суток первое время и дата после создания заказа.
Массивная
Код
=МИН(ЕСЛИ((($E2=Звонки!$A:$A)*(Звонки!$B:$B>=$B2)*(Звонки!$B:$B<=ЦЕЛОЕ(B2)+"23:59"));Звонки!$B:$B))
Изменено: Mershik - 26 май 2020 14:39:00
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Mershik написал:
а логика какая?
Ох, извините.. я в запаре видимо пишу.

Цель такая: Клиенты могут звонить нам до заказов и после, а нам надо понять были ли совершенны звонки(операторами) после того как Клиент сделал заказ в рамках 24 часов  
 
AnastasiaSchaste, ну если 10 раз были звонки что выводить
Не бойтесь совершенства. Вам его не достичь.
 
AnastasiaSchaste, у вас в столбце примера как должно быть ничего не указано для номера 1135, но при этом имеется целая куча звонков в течение 24 часов после заказа, почему у вас там пусто?
Во вложении решение задачи на PQ согласно её описания, не примера.
Код
let
    Calls = Table.PromoteHeaders( Excel.CurrentWorkbook(){[Name="Звонки!report"]}[Content], [PromoteAllScalars=true] ),
    TypedCalls = Table.TransformColumnTypes(Calls,{{"connected_to_phone", type text}, {"start_time (время звонка)", type datetime}}),
    Orders = Table.PromoteHeaders( Excel.CurrentWorkbook(){[Name="Интернет_заказ"]}[Content], [PromoteAllScalars=true] ),
    TypedOrders = Table.TransformColumnTypes(Orders,{{"Дата и время создания АХ", type datetime}, {"Телефон получателя", type text}, {"Дата/время подтверждения КЦ", type datetime}}),
    Custom1 = TypedOrders & Table.DuplicateColumn( Table.RenameColumns( TypedCalls, {"connected_to_phone", "Телефон получателя"} ), "start_time (время звонка)", "Дата и время создания АХ" ),
    SortedDateTime = Table.Sort(Custom1,{{"Телефон получателя", Order.Ascending}, {"Дата и время создания АХ", Order.Ascending}}),
    GroupedRows = Table.Group(SortedDateTime, {"Телефон получателя"}, {{"tab", each Table.FillUp( _, {"start_time (время звонка)"} ), type table}}),
    Custom2 = Table.SelectRows( Table.Combine( GroupedRows[tab] ), each [#"Интернет-заказ"] <> null ),
    ReplacedTime = Table.ReplaceValue( Custom2, 0, each [Дата и время создания АХ], (a,b,c) => a * Number.From(c-a<#duration(1,0,0,0)), {"start_time (время звонка)"} ),
    SortedRows = Table.TransformColumnTypes( Table.Sort( ReplacedTime, {"Интернет-заказ", Order.Ascending} ), {"start_time (время звонка)", type datetime} )
in
    SortedRows
Вот горшок пустой, он предмет простой...
 
Mershik, "звонки не относящиеся к заказу" интересует лишь первый звонок(попытка звонка) после заказа  
 
AnastasiaSchaste, ну так формула не подошла?
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, она делает вычисление лишь на 1-ой строчке, далее дублирует значение её дальше (если по массиву). Вложила принскрин (массив)




PooHkrd, я вам написала в ЛК уточнение. сможете посмотреть? Если кратко мне выдаёт ошибку если я вставлю свои данные в ваш файл (без изменения названия таблица / заголовков / листов). Прискрин PQ
Массив.PNG (51.51 КБ)
PQ.PNG (10.36 КБ)
Изменено: AnastasiaSchaste - 26 май 2020 20:26:28
 
AnastasiaSchaste,
Цитата
AnastasiaSchaste написал:
алее дублирует значение её дальше
да ?? у меня работает

вставляйте в F2 нажимаете CTRL+SHIFT+ENTER и протягиваем вниз до конца таблицы
Код
=МИН(ЕСЛИ((($E2=Звонки!$A:$A)*(Звонки!$B:$B>=$B2)*(Звонки!$B:$B<B2+"23:59"));Звонки!$B:$B))
Снимок.JPG (90.35 КБ)
Не бойтесь совершенства. Вам его не достичь.
 
AnastasiaSchaste, какая версия Excel и Power Query?
Вот горшок пустой, он предмет простой...
 
PooHkrd, 2016 проф+
 
AnastasiaSchaste, а Power Query? Смотреть здесь:
Вот горшок пустой, он предмет простой...
 
PooHkrd, приложила принскрин
PQ_v.PNG (17.92 КБ)
Изменено: AnastasiaSchaste - 27 май 2020 11:51:44
 
Mershik, перезагрузила комп, вроде работает! спасибо
 
AnastasiaSchaste, странно что работает, ибо в вашей версии PQ функция Table.PromoteHeaders( таблица) принимает только один аргумент, т.е. вот эта строка в моем запросе
Код
Table.PromoteHeaders( Excel.CurrentWorkbook(){[Name="Звонки!report"]}[Content], [PromoteAllScalars=true] )

должна выглядеть так:
Код
Table.PromoteHeaders( Excel.CurrentWorkbook(){[Name="Звонки!report"]}[Content] )

И во втором упоминании этой функции аналогично нужно вырезать вот этот кусок , [PromoteAllScalars=true]
Хотя возможно вы случайно на какую-то кнопку нажали и Эксель обновили до нужно версии.  :)
Вот горшок пустой, он предмет простой...
 
PooHkrd, да, убрав вторую часть функции - все начало считаться.
Не могли бы подсказать, добавила свои данные, и у меня пересчитывает лишь 58 строк. По какой причине? в "коде" не нашла ничего об ограничении, так же в пошаговом значении в call показывает 363 строки, хотя по факту уже с обновленными данными - 96 475 строк, аналогично и по заказам
Страницы: 1
Читают тему (гостей: 1)
Наверх