Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Среднее в Power Pivot по условию
 
Доброго дня, форумчане. Пытаюсь суммировать в вычисляемом столбце в Power Pivot вот этой нехитрой формулой
Код
AVERAGEX(FILTER(AMD;AMD[Сегмент]=[Сегмент]);[EBITDA маржа'20:22])

К сожалению, не могу дойти, как ее модернизировать, чтобы фильтр ссылался на ячейку. Файл пример прикладываю.
PS В идеале бы применить медиану в моем примере, но Median в вычисляемом столбце и мерах у меня почему-то отсутствует.

Заранее спасибо)
Сохранение вложений из Outlook
 
Доброго дня, уважаемые форумчане. Нашел на просторах интернета вот такой код, слега его доработал. Данный код просматривает все письма с вложениями из папки "Входящие" и сохраняет их в отдельные папки с названием e-mail отправителя в папку Extract. На каком-то этапе возникает ошибка "run-time error 76 path not found", которую не понимаю как исправить.
Код
Sub SaveOutlookAttachmentsLateBinding()

Dim ol As Object    'Outlook.Application
    Dim ns As Object    'Outlook.Namespace
    Dim fol As Object   'Outlook.Folder
    Dim i As Object
    Dim mi As Object    'Outlook.MailItem
    Dim at As Object    'Outlook.Attachment
    Dim fso As Object   'Scripting.FileSystemObject
    Dim dir As Object   'Scripting.Folder
    Dim dirName As String
    
    Set fso = CreateObject(Class:="Scripting.FileSystemObject")
    
    Set ol = CreateObject(Class:="Outlook.Application")
    Set ns = ol.GetNamespace("MAPI")
    Set fol = ns.Folders(1).Folders("Входящие")
    
    For Each i In fol.Items
    
        If i.Class = 43 Then
        
            Set mi = i
            
            If mi.Attachments.Count > 0 Then
                'Debug.Print mi.SenderName, mi.ReceivedTime, mi.Attachments.Count, mi.SenderEmailAddress
                
                dirName = _
                    "C:\Extract\" & mi.SenderEmailAddress

                
                If fso.FolderExists(dirName) Then
                    Set dir = fso.GetFolder(dirName)
                Else
                    Set dir = fso.CreateFolder(dirName)
                End If
                
                For Each at In mi.Attachments
                
                    'Debug.Print vbTab, at.DisplayName, at.Size
                    at.SaveAsFile dir.Path & "\" & at.Filename
                    
                Next at
                
            End If
            
        End If
    
    Next i
    
End Sub
СМЕЩ в Power Query
 
Доброго дня, форумчане. Подскажите, пожалуйста, есть ли в PQ решение для смещения ячеек вправо/влево при условии, если в них находится непустое значение.
Файл-пример приложил. Желтым выделил желаемый результат. Заранее спасибо!
Извлечь символы из ячейки
 
Доброго дня, уважаемые форумчане. Прошерстил и этот форум, и аналогичные, но, к сожалению, не нашел ответа на вопрос. Имеется колонка с записями, состоящими из различного числа символов, разделенными точкой с запятой. Необходимо вычленить значения (ИНН), состоящие из 20 символов. Пример и необходимые данные, которые надо извлечь в PQ или Excel формулой, прикладываю.
Заранее спасибо.
Удаление дубликатов по условию
 
Доброго дня, форумчане. Подскажите, пожалуйста, существует ли способ в Power Query вписать дополнительное условие в Table.Distinct? Пытаюсь удалить дубликаты из столбца, при этом оставив в нем нулевые значения. Заранее благодарю.
Расчет Персентиля из определенного диапазона по условию
 
Доброго дня! Подскажите, пожалуйста, возможен ли расчет Персентиля из определенного диапазона по условию? Перепробовал и ЕСЛИ, и Индекс ПоискПОЗ, причем в различных вариациях, но ничего путного не выходит.
Файл пример прилагается. Колонки J:Q содержат искомый ответ, но хотелось бы автоматизировать его в зависимости от I.
Дословная замена текста в PQ с помощью Text.Replace
 
Доброго дня, уважаемые форумчане. Используя массовую замену текста по формуле Text.Replace, заметил, что ряд значений меняется по следующей логике. В справочнике имеется старое значение WR US и новое значение YTR US. Данные значения необходимо заменять, однако скрипт меняет и AWR US на AYTR US, хотя AWR US в справочнике не было. Существует ли какая-нибудь добавка к скрипту, чтобы значения менялись дословно?
Заранее спасибо.
ПРЕДСКАЗ:  в последних двух аргументах использовать данные из массива согласно заданному условию
 
Доброго дня! Столкнулся с проблемой в синтаксисе формулы =
Код
ПРЕДСКАЗ(X; Известные_значения_Y; Известные_значения_X)

Есть ли какой-либо способ в последних двух аргументах использовать данные из массива согласно заданному условию, а не использовать весь массив? Файл-пример прилагается.
Копировать данные: сначала по условию из первой таблицы, а затем согласно двум условиям из второй таблицы
 
Доброй ночи, уважаемые форумчане. Имеются 3 таблицы. В искомую (третью) таблицу необходимо перетащить данные согласно: сначала по условию из первой таблицы, а затем согласно двум условиям из второй таблицы. На этом форуме нашел похожую задачку, но в моем файле ответ не выдавался (вероятно из-за расположения столбцов). Возможно ли Excel формулой как-то это сделать, в PQ будет проще, но интересует именно Excel.
В приложенном файле пара ответов для наглядности, которые должны получиться.
Заранее спасибо!
Поиск числовых значений в Power Query
 
Доброго времени суток! Имеются 3 столбца, из которых в новый столбец хотелось бы извлечь количество записей, которые удовлетворяют определенным условиям. Есть конечно вариант с if ...then...else..., но наверняка существует еще что-то оригинальнее. Файл с примером прикладывается.
Countif в Power Query
 
Доброго дня, уважаемые форумчане. Подскажите, пожалуйста, как без группировки можно посчитать количество уникальных строк в Power Query. В Excel формула бы выглядела следующим образом: COUNTIF($A$1:$A$1000,A1). Заранее благодарю.
Найти последнюю заполоненную ячейку в диапазоне и соответствующую ей дату из шапки
 
Добрый день, уважаемые форумчане. Столкнулся со следующей непонятной мне задачей.  Необходимо с помощью формулы найти последнюю заполоненную ячейку в диапазоне и соответствующую к ней дату из шапки. Пример в прилагаемом файле. Вопрос вроде простой, но не смог нигде найти ответ.
Тормозит Power Query
 
) До некоторых пор пользовался Power Query и горя не знал. Однако при объединении увесистых таблиц в количестве 9 единиц по 7-9 тыс строк возникли большие сложности. Возможно код был написан некорректно, ниже приведу его.  
Код
let    Источник = Excel.CurrentWorkbook(){[Name="Equity_list"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"ID", type text}, {"Name", type text}, {"Country", type text}, {"Region", type text}, {"Industry", type text}, {"Cap", Int64.Type}, {"Size", type text}, {"FCF_yield`21", type number}, {"FCF_yield`22", type number}, {"P/E`21", type number}, {"P/E`22", type number}, {"ND/EBITDA`21", type number}, {"ND/EBITDA`22", type number}, {"EBITDA_margin`21", type number}, {"EBITDA_margin`22", type number}, {"EPS_LTG", type number}}),
    #"Объединенные столбцы" = Table.CombineColumns(#"Измененный тип",{"Region", "Industry", "Size"},Combiner.CombineTextByDelimiter("/", QuoteStyle.None),"Segment"),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Объединенные столбцы",{"Name", "Country", "Cap"}),
    #"Объединенные запросы" = Table.NestedJoin(#"Удаленные столбцы", {"Segment", "EBITDA_margin`21"}, #"EBITDA`21_rank", {"Segment", "EBITDA_margin`21"}, "EBITDA`21_rank", JoinKind.LeftOuter),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Объединенные запросы", "Пользовательский", each Table.SelectColumns([#"EBITDA`21_rank"],{"Rank EBITDA_margin`21"})),
    #"Развернутый элемент Пользовательский" = Table.ExpandTableColumn(#"Добавлен пользовательский объект", "Пользовательский", {"Rank EBITDA_margin`21"}, {"Rank EBITDA_margin`21"}),
    #"Объединенные запросы1" = Table.NestedJoin(#"Развернутый элемент Пользовательский", {"Segment", "EBITDA_margin`22"}, #"EBITDA`22_rank", {"Segment", "EBITDA_margin`22"}, "EBITDA`22_rank", JoinKind.LeftOuter),
    #"Добавлен пользовательский объект1" = Table.AddColumn(#"Объединенные запросы1", "Пользовательский", each Table.SelectColumns([#"EBITDA`22_rank"], {"Rank EBITDA_margin`22"})),
    #"Развернутый элемент Пользовательский1" = Table.ExpandTableColumn(#"Добавлен пользовательский объект1", "Пользовательский", {"Rank EBITDA_margin`22"}, {"Rank EBITDA_margin`22"}),
    #"Объединенные запросы2" = Table.NestedJoin(#"Развернутый элемент Пользовательский1", {"Segment", "EPS_LTG"}, EPS_rank, {"Segment", "EPS_LTG"}, "EPS_rank", JoinKind.LeftOuter),
    #"Добавлен пользовательский объект2" = Table.AddColumn(#"Объединенные запросы2", "Пользовательский", each Table.SelectColumns([EPS_rank],{"Rank EPS_LTG"})),
    #"Развернутый элемент Пользовательский2" = Table.ExpandTableColumn(#"Добавлен пользовательский объект2", "Пользовательский", {"Rank EPS_LTG"}, {"Rank EPS_LTG"}),
    #"Объединенные запросы3" = Table.NestedJoin(#"Развернутый элемент Пользовательский2", {"Segment", "FCF_yield`21"}, #"FCF`21_rank", {"Segment", "FCF_yield`21"}, "FCF`21_rank", JoinKind.LeftOuter),
    #"Добавлен пользовательский объект3" = Table.AddColumn(#"Объединенные запросы3", "Пользовательский", each Table.SelectColumns([#"FCF`21_rank"], {"Rank FCF_yield`21"})),
    #"Развернутый элемент Пользовательский3" = Table.ExpandTableColumn(#"Добавлен пользовательский объект3", "Пользовательский", {"Rank FCF_yield`21"}, {"Rank FCF_yield`21"}),
    #"Объединенные запросы4" = Table.NestedJoin(#"Развернутый элемент Пользовательский3", {"Segment", "FCF_yield`22"}, #"FCF`22_rank", {"Segment", "FCF_yield`22"}, "FCF`22_rank", JoinKind.LeftOuter),
    #"Добавлен пользовательский объект4" = Table.AddColumn(#"Объединенные запросы4", "Пользовательский", each Table.SelectColumns([#"FCF`22_rank"],{"Rank FCF_yield`22"})),
    #"Развернутый элемент Пользовательский4" = Table.ExpandTableColumn(#"Добавлен пользовательский объект4", "Пользовательский", {"Rank FCF_yield`22"}, {"Rank FCF_yield`22"}),
    #"Объединенные запросы5" = Table.NestedJoin(#"Развернутый элемент Пользовательский4", {"Segment", "ND/EBITDA`21"}, #"ND/EBITDA_rank`21", {"Segment", "ND/EBITDA`21"}, "ND/EBITDA_rank`21", JoinKind.LeftOuter),
    #"Добавлен пользовательский объект5" = Table.AddColumn(#"Объединенные запросы5", "Пользовательский", each Table.SelectColumns([#"ND/EBITDA_rank`21"],{"Rank ND/EBITDA`21"})),
    #"Развернутый элемент Пользовательский5" = Table.ExpandTableColumn(#"Добавлен пользовательский объект5", "Пользовательский", {"Rank ND/EBITDA`21"}, {"Rank ND/EBITDA`21"}),
    #"Объединенные запросы6" = Table.NestedJoin(#"Развернутый элемент Пользовательский5", {"Segment", "ND/EBITDA`22"}, #"ND/EBITDA_rank`22", {"Segment", "ND/EBITDA`22"}, "ND/EBITDA_rank`22", JoinKind.LeftOuter),
    #"Добавлен пользовательский объект6" = Table.AddColumn(#"Объединенные запросы6", "Пользовательский", each Table.SelectColumns([#"ND/EBITDA_rank`22"],{"Rank ND/EBITDA`22"})),
    #"Развернутый элемент Пользовательский6" = Table.ExpandTableColumn(#"Добавлен пользовательский объект6", "Пользовательский", {"Rank ND/EBITDA`22"}, {"Rank ND/EBITDA`22"}),
    #"Объединенные запросы7" = Table.NestedJoin(#"Развернутый элемент Пользовательский6", {"Segment", "P/E`21"}, #"P/E`21_rank", {"Segment", "P/E`21"}, "P/E`21_rank", JoinKind.LeftOuter),
    #"Добавлен пользовательский объект7" = Table.AddColumn(#"Объединенные запросы7", "Пользовательский", each Table.SelectColumns([#"P/E`21_rank"],{"Rank P/E`21"})),
    #"Развернутый элемент Пользовательский7" = Table.ExpandTableColumn(#"Добавлен пользовательский объект7", "Пользовательский", {"Rank P/E`21"}, {"Rank P/E`21"}),
    #"Объединенные запросы8" = Table.NestedJoin(#"Развернутый элемент Пользовательский7", {"Segment", "P/E`22"}, #"P/E`22_rank", {"Segment", "P/E`22"}, "P/E`22_rank", JoinKind.LeftOuter),
    #"Добавлен пользовательский объект8" = Table.AddColumn(#"Объединенные запросы8", "Пользовательский", each Table.SelectColumns([#"P/E`22_rank"],{"Rank P/E`22"})),
    #"Развернутый элемент Пользовательский8" = Table.ExpandTableColumn(#"Добавлен пользовательский объект8", "Пользовательский", {"Rank P/E`22"}, {"Rank P/E`22"}),
    #"Вставлено: среднее значение" = Table.AddColumn(#"Развернутый элемент Пользовательский8", "Avg rank EBITDA_margin", each List.Average({[#"Rank EBITDA_margin`21"], [#"Rank EBITDA_margin`22"]}), type number),
    #"Вставлено: среднее значение1" = Table.AddColumn(#"Вставлено: среднее значение", "Avg rank FCF_yield", each List.Average({[#"Rank FCF_yield`21"], [#"Rank FCF_yield`22"]}), type number),
    #"Вставлено: среднее значение2" = Table.AddColumn(#"Вставлено: среднее значение1", "Avg rank ND/EBITDA", each List.Average({[#"Rank ND/EBITDA`21"], [#"Rank ND/EBITDA`22"]}), type number),
    #"Вставлено: среднее значение3" = Table.AddColumn(#"Вставлено: среднее значение2", "Avg rank P/E", each List.Average({[#"Rank P/E`21"], [#"Rank P/E`22"]}), type number),
    #"Удаленные столбцы1" = Table.RemoveColumns(#"Вставлено: среднее значение3",{"EBITDA`21_rank", "EBITDA`22_rank", "EPS_rank", "FCF`21_rank", "FCF`22_rank", "ND/EBITDA_rank`21", "ND/EBITDA_rank`22", "P/E`21_rank", "P/E`22_rank"})
in
    #"Удаленные столбцы1"

Смысл кода: есть 9 тысяч сегментов, из которых около 900 уникальные. К данным сегментам прилагаются 9 столбцов, каждый из которых ранжируется (dense ranking), т.е. создаются новые 9 запросов. Затем данные 9 запросов соединяются с изначальной таблицей по двум колонкам. После 3-4 объединения начинаются жесткие проблемы, и PQ начинает виснуть. Вопрос: есть ли возможность как-то ускорить работу PQ?
Автоматическое обновление уникального списка, отобранного из другого источника по условию
 
Добрый день, форумчане! Возник вопрос по поводу наличия какой-нибудь штуки для автоматического обновления списка уникальных значений, отобранного по конкретному условию. Есть вот такая форму массива данных
Код
=ИНДЕКС(Лист1!$A$2:$A$84;НАИМЕНЬШИЙ(ЕСЛИ($A$1=Лист1!$B$2:$B$84;СТРОКА(Лист1!$A$2:$A$84)-1;"");СТРОКА()-1))

где $A$1 есть условие. При внесении изменений в данную ячейку никаких изменений на листе не происходит ровно до тех пор пока не прокликаешь Shift Ctrl Enter по каждой ячейке. Существует ли какое-нибудь решение для автоматизации сего процесса?
Страницы: 1
Наверх