Добрый день! Весь день шерстил форму с поиском ответа. Нашел похожие решения, но преобразовать из для решения конкретно моей задачи не смог. Мне необходимо сделать поиск по номеру клиента из одного массива в другом, и подставить дату ближайшую дате отсечки, но не позднее ее. Пробовал через СУММПРОИЗВ, ФИЛЬТР и PQ, но так и не смог решить задачку. Буду признателен за помощь. Спасибо!
Alex, Да, в том то и дело, в вашем примере я бы хотел видеть все рейсы которые начались в январе, а завершится они могут в любую другую дату. В любом случае спасибо за предложенное решение. Осталось понять как оно работает)
Alex, Спасибо большое! Решение работает намного быстрее, чем PQ!) Но когда я хочу сгруппировать оборот по коду или по месяцам, но выдает не верный результат, потому что мера считает только по массиву группировки (см. пример на яндекс-диске).
Garrys, Спасибо за ответ! На массиве до 100 тыс строк из 6 фитчей (столбцы) работает отлично! Но на 1 миллионе строк (данные за 2 месяцев) и 12 фитчах обработка данных занимает часа 2. Я же хочу обработать данные за 2 года ~ 12 млн строк. Один раз уже запускал, но за сутки мой компьютер не справился. Как думаете можно оптимизировать Ваше решение для PQ, или пора переходить на питон?) Заранее спасибо!
Garrys, Спасибо большое! Попробовал ваше решение, но почему-то оно подходит только для первого рейса. Например для второй рейса "40018962" с 15.01.2023 по 27.01.2023 во второй дате значение получается null (см. вложение).
Если не сложно, не могли бы объяснить что за магия происходит тут?))
написал: у вас кол-во дат от 1 до 5. И как тогда считать эту вашу разницу между датами?
Добрый день! Я поправил в описании проблемы. Я хочу посчитать меру "Средний оборот Транспорта" как среднее разницы между ближайшими датами по совпадающему номеру транспорта начиная с наименьшей даты, заканчивая наибольшей. Я думаю это можно реализовать как разницу между максимальной и минимальной датой у одного и того же номера транспорта разделить на кол-во повторений в таблице без дубликатов - (минус) 1 (во вложении сделал через формулы excel). Но мне кажется, если я в исходном файле захочу посмотреть оборот поквартально (оригинальный массив за год), то у меня будет искажение меры, нежели если считать в лоб через разницу ближайших дат. Заранее спасибо!
Помогите пожалуйста с таким вопросом. Есть таблица данных. В одном столбце есть повторяющиеся значения c "номером транспорта", в другом столбце "дата", не повторяющиеся для конкретного номера транспорта и другие столбы. 1. Нужно средствами Power Query убрать дубликаты по строкам где повторяются одновременно "Номер транспорта", "Дата", "Код" - это я сделал через удаление дубликата ключа, в котором объединил столбцы. Может быть есть более элегантный способ. 2. Нужно средствами Power Pivot создать меру, которая будет считать средний оборот рейса транспорта как среднее разницы между ближайшими датами по совпадающему номеру транспорта.
Будет здорово! Со своей стороны тоже пробую сам разобрать в данном вопросе. В любом случае скиньте мне, пжста, номер карты сбера или втб в личку. Хочу угостить Вас пивом в конце рабочей недели)
PooHkrd написал: Везде где у вас стоят фильтры... их нужно переправить на таблицу Сортировка.
Спасибо еще раз! вроде справился)
Цитата
PooHkrd написал: Вам нужно по-плотнее почитать и по-экспериментировать с контекстами в моделях данных.
Буду благодарен, если подскажете где лучше почитать) Можно последний "глупый" вопрос: Почему у меня не отображается мера "Маржинальность продавца" в моем примере? Заранее спасибо!
БМВ написал: Офис версии от 2013 и новее.ну или через макро функцию см. вариант _1
Спасибо большое! Один нюанс, если я хочу подсвечивать по нескольким критериям (содержит текст "ААА" или "ИИИ" или "БББ".), то мне нужно создавать для каждого критерия новое правило? формула типа =ИЛИ(ПОИСК("ААА";Ф.ТЕКСТ(B3));ПОИСК("ИИИ";Ф.ТЕКСТ(B3))) или =ПОИСК(ИЛИ("ААА";"ИИИ");Ф.ТЕКСТ(B3)) не работает(
БМВ написал: =sum(countif(a1;{"*ААА*" ; "*ИИИ*"; "*БББ*"}))только это позволит искать "ААА" или "ИИИ" или "БББ" в резултатах формул. Если всеж именно в формулах, то для 2013 и новее=sum(countif(formulatext(a1);{"*ААА*" ; "*ИИИ*"; "*БББ*"}))
Добрый день! Этим условием задавать функцию?
Цитата
Sanja написал: Что-то у Вас все в кучу. И макросы и формулы и УФ. Лучше покажите в файле-примере. Как есть - Как надо
для поиска ячеек в которых есть расчет, а не значение, я макросом создавал функцию типа Function IsFormula(Check_Cell As Range) IsFormula = Check_Cell.HasFormula End Function А потом уже использовал ее в УФ. Поэтому я хотел по аналогии написать макрос на поиск определенных слов в формуле, но не разобрался в синтаксисе) Пример во вложении. Заранее Спасибо!
Добрый день, уважаемые! Столкнулся такой задачей: Нужно подсветить ячейки с формулами в которых содержится текст "ААА" или "ИИИ" или "БББ". Как правильно описать макросом функцию, чтобы использовать ее в правиле "условного форматирование"? За ранее спасибо!
Добрый день, Уважаемые! Просьба помочь решить задачку: У меня есть график отгрузки товара накопительным, мне необходимо посчитать сколько товара было отгружено ВСЕГО. В примере решение задачи со вспомогательной строкой Нужно решение без вспомогательной строки. Заранее спасибо!
Андрей VG, Спасибо за участие! Ждал от Вас ответа. Примерная реализация того что я хочу сделать я показал в посте #7
Цитата
Прикрепленные файлы Пример v.1.zip (46.83 КБ)
а под фразой
Цитата
mikhailkhv написал: причем так чтобы все индексированные значения после даты индексирования были бы равны значению в момент индексирования.
я имел ввиду следующее: Например в таблицу TD_Input для авто1 категории ДР в определенную дату (01.01.2018) вводим значение индекса. Стоимость автомобиля в эту дату индексируется на величину (1+индекс) и в последующие месяцы стоимость этого авто будет равной новой индексированной стоимости.
Добрый день, уважаемые! Пытаюсь рабочую модель бюджета перевести в модель данных Power Pivot. Только осваиваю надстройку и уже столкнулся с проблемами с использованием DAX формул. Просьба помочь разобраться. Задача стоит следующая: Проиндексировать стоимость автомобилей в определенную дату, или другими словами данные на листе Data проиндексировать переменными на листе ТD_Inputs в соответствии со "статьёй", "подстатьёй" и "датой", причем так чтобы все индексированные значения после даты индексирования были бы равны значению в момент индексирования. Заранее Спасибо! PS: как узнать номер поста? https://1drv.ms/x/s!Av2ZRQ_zbcOKwlNPYb-s0BG1s-UJ
Forve, спасибо! Уже сделал. Вопрос про выполнение макроса в несколько excel-ких книг одновременно остается открытым: как написать макрос который будет гулять по всем открытым книгам?
Спасибо за совет! совместил Ваше решение со своим (см. вложения). Еще вопрос: как запустить этот макрос в нескольких (более 100) книгах одновременно? это вообще можно реализовать не открывая эти книги?
+хочу реализовать возможность ввода даты и значений которые надо менять и на которые надо сделать замену. Буду рад помощи))
Forve, спасибо за участие! Возможно я не верно объяснил задачу в начале, но у меня задача удалить 1% (или заменить на 0%) во всех формулах в 3-ем столбце в октябре 2016г. и далее ПОСЛЕ этой даты. Я написал макрос(не без помощи моих коллег) для замены "1%" на "0%", НО сейчас задача стоит следующая: Оказалось, что в файле в 3-ем столбце могут быть пустые ячейки (как в примере), в таком случае длина векторов по датам и по значениям будут разные и макрос выдает ошибку "Script out of range". К сожалению ответа на решение этой проблемы у меня нет. Forve, может быть Вы сможете мне помочь? Заранее спасибо!
Добрый день, уважаемые! Нужна ваша помощь в написании макроса, который удаляет в 3-ем столбце в октябре 2016 и после этой даты слагаемое - "1%*столбец1" в формуле ячейки. Названия столбцов не повторяются, но расположение столбца3 на листе может быть разное. Дата может может быть любая, но месяц и год точный - октябрь 2016г. Заранее спасибо!