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

Страницы: 1 2 След.
Открытие письма Outlook в файле Excel гиперссылкой.
 
БМВ, а что если использовать Exchange.Contents в PQ Excel? Там вроде содержатся данные письма в бинарном виде. Нельзя ли из этой информации сформировать ссылку на письмо из Outlook?
PQ. Web-парсинг. POST запросы.
 
kush.near,
Код
let
    Источник = Json.Document(Web.Contents("https://alfazdrav.ru/api/prices/tabs/?regionId=779")),
    tabs = Источник[tabs],
    #"Преобразовано в таблицу" = Record.ToTable(tabs),
    #"Развернутый элемент Value" = Table.ExpandRecordColumn(#"Преобразовано в таблицу", "Value", {"id", "title", "active", "content"}, {"id", "title", "active", "content"}),
    #"Развернутый элемент content" = Table.ExpandRecordColumn(#"Развернутый элемент Value", "content", {"435", "436", "437", "438", "439", "440", "441", "442", "443", "444", "445", "446", "447", "448", "449", "494", "450", "451", "588", "452", "453", "499", "1005", "454", "455", "456", "457", "458", "491", "459", "460", "496", "461", "462", "498", "463", "464", "465", "466", "467", "468", "469", "470", "471", "472", "473", "474", "475", "492", "614", "493", "476", "477", "478", "479", "480", "481", "482", "483", "620", "495", "484", "485", "486", "487", "488", "489", "500", "490", "497", "501", "502", "503", "504", "505", "506", "507", "508", "518", "509", "510", "511", "512", "513", "514", "547", "515", "516", "517", "519", "548", "549", "520", "551", "554", "521", "522", "523", "524", "525", "526", "527", "550", "528", "529", "744", "530", "531", "532", "533", "552", "553", "534", "535", "536", "537", "538", "539", "540", "615", "541", "542", "543", "544", "545", "546", "555", "621", "556", "563", "562", "557", "558", "559", "560", "561", "564", "575", "576", "565", "566", "567", "1004", "568", "569", "570", "571", "572", "573", "574", "577"}, {"435", "436", "437", "438", "439", "440", "441", "442", "443", "444", "445", "446", "447", "448", "449", "494", "450", "451", "588", "452", "453", "499", "1005", "454", "455", "456", "457", "458", "491", "459", "460", "496", "461", "462", "498", "463", "464", "465", "466", "467", "468", "469", "470", "471", "472", "473", "474", "475", "492", "614", "493", "476", "477", "478", "479", "480", "481", "482", "483", "620", "495", "484", "485", "486", "487", "488", "489", "500", "490", "497", "501", "502", "503", "504", "505", "506", "507", "508", "518", "509", "510", "511", "512", "513", "514", "547", "515", "516", "517", "519", "548", "549", "520", "551", "554", "521", "522", "523", "524", "525", "526", "527", "550", "528", "529", "744", "530", "531", "532", "533", "552", "553", "534", "535", "536", "537", "538", "539", "540", "615", "541", "542", "543", "544", "545", "546", "555", "621", "556", "563", "562", "557", "558", "559", "560", "561", "564", "575", "576", "565", "566", "567", "1004", "568", "569", "570", "571", "572", "573", "574", "577"}),
    #"Отменено свертывание только для выбранных столбцов" = Table.Unpivot(#"Развернутый элемент content", {"435", "436", "437", "438", "439", "440", "441", "442", "443", "444", "445", "446", "447", "448", "449", "494", "450", "451", "588", "452", "453", "499", "1005", "454", "455", "456", "457", "458", "491", "459", "460", "496", "461", "462", "498", "463", "464", "465", "466", "467", "468", "469", "470", "471", "472", "473", "474", "475", "492", "614", "493", "476", "477", "478", "479", "480", "481", "482", "483", "620", "495", "484", "485", "486", "487", "488", "489", "500", "490", "497", "501", "502", "503", "504", "505", "506", "507", "508", "518", "509", "510", "511", "512", "513", "514", "547", "515", "516", "517", "519", "548", "549", "520", "551", "554", "521", "522", "523", "524", "525", "526", "527", "550", "528", "529", "744", "530", "531", "532", "533", "552", "553", "534", "535", "536", "537", "538", "539", "540", "615", "541", "542", "543", "544", "545", "546", "555", "621", "556", "563", "562", "557", "558", "559", "560", "561", "564", "575", "576", "565", "566", "567", "1004", "568", "569", "570", "571", "572", "573", "574", "577"}, "Атрибут", "Значение"),
    #"Развернутый элемент Значение" = Table.ExpandRecordColumn(#"Отменено свертывание только для выбранных столбцов", "Значение", {"id", "title", "items", "show", "active"}, {"id.1", "title.1", "items", "show", "active.1"}),
    #"Развернутый элемент items" = Table.ExpandListColumn(#"Развернутый элемент Значение", "items"),
    #"Развернутый элемент items1" = Table.ExpandRecordColumn(#"Развернутый элемент items", "items", {"name", "price", "active"}, {"name.1", "price", "active.2"})
in
    #"Развернутый элемент items1" 


Запрос WEB API через Power Qwery, Надо получить ответ по API в формате JSON
 
Iya-n,
date_from:
Код
= DateTime.ToText(Excel.CurrentWorkbook(){[Name="dates"]}[Content]{[Имя="account_date_from"]}[дата],"yyyy-MM-ddT00:00:00.000Z")
date_to:
Код
= DateTime.ToText(Excel.CurrentWorkbook(){[Name="dates"]}[Content]{[Имя="account_date_to"]}[дата],"yyyy-MM-ddT00:00:00.000Z") 

Итог:

Код
body = "{
  ""date"": {
           ""from"": """&date_from&""",
           ""to"": """&date_to&""",
             },
  ""posting_number"":"""",
  ""transaction_type"":""all""
    }"

MsgBox в Офис Р-7
 
bigorq, про отслеживание событий не критично. Ок.
Получаю данные по API и вставляю в диапазон на листе. В это время на листе уже создана именованная таблица.
Повторное переопределение этим кодом не работает:
Код
Api.GetActiveSheet().FormatAsTable("A1:D10")
Диапазон данных по API естественно я знаю до вставки на лист.

Я ищу способ, чтобы как в Excel Power Query при обновлении запроса, таблица изменяла диапазон динамически в зависимости от данных.
Полностью стирать весь лист и создавать каждый раз новую таблицу - не подходит.
MsgBox в Офис Р-7
 
А как изменить диапазон умной именованной таблицы?

Пример:
  1. Таблица Таблица1 с диапазоном А1:B4.
  2. Добавляю в ячейки А5 и В5 любые данные.
  3. Запустить макрос и диапазон таблицы Таблица1 должен измениться на А1:В5
Как переопределять макросом диапазон?
Имена столбцов в столбце по критерию строк (PowerQuery), Вывести имена столбцов в которых присутствуют значения отличные от null
 
Вывести имена определенных столбцов (по каждой строке) в которых присутствуют значения отличные от null через PowerQuery.

Пример:
Игнорируем Столбец1.
Изменено: bugser - 10.03.2024 10:44:41
Условное форматирование в строках на основании другого столбца, Выделить цветом всю строку по частичному совпадению с другим столбцом
 
gling, Спасибо! Это работает.
Цитата
написал:
Вам нужно что бы заливка была одна на любое совпадение со справочником или как в примере разная для каждой строки справочника?
Нет, вопрос решен. Не верно указал, цвет конечно один и тот же должен быть.
БМВ, Спасибо.

Еще вопрос. Возможно ли сделать условное форматирование для части текста в ячейке? При обновлении таблицы PQ выделенный жирным текст стирается.
Или возможность внутри PQ поставить например тэг типа #(lf), который будет выделять жирным или подчеркнутым текст в таблице.

Например:
Собака - Вагон
Вагон - Клюшка
Действие - Злой
Свинья - Вагон
Изменено: bugser - 17.11.2023 20:38:35
Условное форматирование в строках на основании другого столбца, Выделить цветом всю строку по частичному совпадению с другим столбцом
 
Удалось получить подобное:
Код
=СУММПРОИЗВ(--ЕЧИСЛО(ПОИСК($A4;$P$3:$P$4)))>0
или
=СЧЁТЕСЛИ($P$3:$P$4;"*"&$A4&"*")>0
Но это работает в "обратную" сторону.
Код
=СЧЁТЕСЛИ($A$4:$A$8;"*"&$P3&"*") - работает в ту сторону, но не подходит для условного форматирования.
Условное форматирование в строках на основании другого столбца, Выделить цветом всю строку по частичному совпадению с другим столбцом
 
Добрый вечер. Задача:
Выделить цветом все строки если значения столбца А Таблицы1 частично содержат значения (текст) столбца Б.

Получение данных вэб-запросом PQ, Двойная авторизация
 
Игорь, углубился еще. Похоже используя NTLM Windows аутентификацию и отправить POST запрос невозможно.
Сразу требуются условия API ключ или авторизация с использованием логина и пароля в коде запроса.

Буду пытаться сделать через Basic аутентификацию с использованием логина и пароля.
Получение данных вэб-запросом PQ, Двойная авторизация
 
Да, тоже пробовал. Но в описании к API сказано, что должен быть отправлен именно POST запрос, а без указания этого параметра (Content) всегда отправляется GET запрос.
Получение данных вэб-запросом PQ, Двойная авторизация
 
Это как пример. Попытки были с различными параметрами. Content=null, Content=“”. Вопрос в отправке POST запроса без использования анонимного соединения. Та же проблема что и на скриншоте выше.
Получение данных вэб-запросом PQ, Двойная авторизация
 
Ок. Начал разбираться дальше.
Получилось написать макрос Excel. Он работает, но вот с PQ Excel - проблема. Кусок макроса:
Код
Set objHTTP = CreateObject("Msxml2.XMLHTTP.6.0")
objHTTP.Open "POST", URL, False
objHTTP.Send ("")       
result = objHTTP.responseText
Результат: Bearer токен получен.

А вот для Power Query сделать аналогичные действия не получается. Попыток было много.
Код
let
url = "https://...",
options = [Headers=[#"Accept"="application/json"], Content=Text.ToBinary("")],
response = Web.Contents(url, options)
in
response
Проблема заключается в том, что PQ пишет ошибку. Якобы для POST запроса c Content доступ только при анонимных подключениях, но подключение не анонимно с самого начала. Что делать?

Аналогичная проблема и здесь: https://stackoverflow.com
Изменено: bugser - 22.06.2023 18:19:46
Условное форматирование, Выделение цветом ячеек внутри диапазона 2 и -2 каждой третьей строки
 
Что требуется:
  1. Применить условной форматирование для таблицы PQ для каждой третьей строки в которой содержится значение внутри диапазана от 2 до -2.
  2. Учесть, что если разница значений в верхних строках = 0, то условное форматирование не применяется
Подбор решения, Из заданных чисел сформировать опредленный результат (инверсия знака)
 
Alien Sphinx, спасибо. В PQ действительно еще лучше!
Удивлен что в столь короткий срок вы сделали решение и это решение бесплатное.
Подбор решения, Из заданных чисел сформировать опредленный результат (инверсия знака)
 
Требуется подобрать максимально близкое решение с применением инверсии знака у заданных чисел столбца А для получения заранее известной итоговой суммы. Т.е. должен быть просчитана перебор вариантов с определением максимально выгодного.
Возможно ли как-то решить такую задачу?

Пример прилагаю.
Подсветка текущей строки и массив, Некорректная работа макроса при использовании массива
 
Ігор Гончаренко, это действительно помогло.
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Target.Cells.Count > 1 Then Exit Sub
    If Application.CutCopyMode = False Then Me.Calculate
End Sub
Подсветка текущей строки и массив, Некорректная работа макроса при использовании массива
 
Ігор Гончаренко, Спасибо!
Но вот незадача, не работает копирование Ctrl + C и Ctrl + V при использовании этого макроса.
Как исправить это?
Получение данных вэб-запросом PQ, Двойная авторизация
 
Игорь, реальный сайт предоставить не могу.
Нашел статьи касающиеся этой темы:
Нужно что-то похожее:
Код
let
    Source = Web.Contents(
        "https://dwweb.ru/404.html",                            //Случайный сайт в интернете с переадресацией
        [ManualStatusHandling={404}]),
    GetMetadata = Value.Metadata(Source),
    GetResponseStatus = GetMetadata[Response.Status],
    Output = if GetResponseStatus=404 then "Error!" else Source //Иначе повторить этот же запрос заново с учетом кэша полученного при первом входе
in
    Output
Странно, что никакой точной информации написанной примитивным языком для обычного пользователя нет в интернете. Ведь переадресация на страницах сайтов не редко встречается.

Печально, что этот вопрос не решить без реального сайта.
Подсветка текущей строки и массив, Некорректная работа макроса при использовании массива
 
Видео Н.Павлова: youtube.com
Подсветка строки при наведении курсора на ячейку строку очень помогает. Но есть неприятная особенность при использовании этого макроса:
При наведении курсора на массив с данными возникает ошибка. Как исправить?
Код
Private Sub WorkSheet_SelectionChange(ByVal Target As Range)

   If Target.Cells.Count > 1 Then Exit Sub

   ActiveCell.Calculate

End Sub
Код
=СТРОКА()=ЯЧЕЙКА("строка")
Ошибка:
Получение данных вэб-запросом PQ, Двойная авторизация
 
Ссылка вида: https://test.ru/10.05.2020&type=json
1. Используя браузер (Chrome или другой) перехожу по ссылке выше, происходит автоматическая авторизация. Второй раз перехожу по ссылке выше - получаю результат вида:
Код
40
50
60
2. Используя Excel (Данные - Создать запрос - Из других источников - Из интернета) - получаю некорректный ответ.

3. Используя Excel (Даные - Получение внешних данных - Из интернета (открывается окно IE) - вставляю ссылку выше - авторизация - еще раз вставляю - результат корректен.

Есть ли возможность дважды перейти по ссылке в одном шаге вэб-запроса power query? Очень пытался. Не смог.
Аналогичная проблема была рассмотрена здесь: ссылка. 10 лет прошло. Возможно есть более простое решение.
Цитата
есть сайт на который вход осуществляется путём авторизации через ЕЦП (сертификат)
EducatedFool  
Сортировка и отбор данных на основании другой таблицы Power Query., Сортировка данных в зависимости от сторонней таблицы через Power Query.
 
Сергей К, не понял мысль. Крайняя правая таблица это ведь результат того, что я хотел получить.
Сортировка и отбор данных на основании другой таблицы Power Query., Сортировка данных в зависимости от сторонней таблицы через Power Query.
 
surkenny, пока не знаю, что получится, но
  • Данные из одного запроса будут использоваться на нескольких листах (просто сделаю ссылки на диапазон из запроса).
  • Каждый лист должен подгружать заданную дату.
Подскажите еще как сделать смещение на одну строку ниже т.е. в Параметрах задаю дату, а в запросе получаю дату + 1 час следующего дня. Условие сортировки должно соблюдаться. Пример приложил.
Получилось сделать только перечислением в столбце Параметры всех необходимых часов на дату + 1 час следующего дня.

Разобрался сам. Добавил к дате 1 час, вывел в новый запрос и опять отсортировал.
Изменено: bugser - 14.05.2022 00:20:16
Сортировка и отбор данных на основании другой таблицы Power Query., Сортировка данных в зависимости от сторонней таблицы через Power Query.
 
mechanix 85, логично и ведь работает. Спасибо. :*  
Сортировка и отбор данных на основании другой таблицы Power Query., Сортировка данных в зависимости от сторонней таблицы через Power Query.
 
mechanix 85, Да, частично помогло, но требуется, чтобы дубликаты оставались на месте. Т.е. в запросе одна и та же дата должна присутствовать по несколько раз. Иначе вся суть такой сортировки теряется.
Изменено: bugser - 11.05.2022 21:06:49
Сортировка и отбор данных на основании другой таблицы Power Query., Сортировка данных в зависимости от сторонней таблицы через Power Query.
 
Две таблицы. Таблица 1 - список дат. Таблица 2 - список дат для отбора и сортировки.
Требуется произвести сортировку в соответствии с таблицей 2. Метод PowerQuery.
Код
Таблица 1
let
    Источник = Excel.CurrentWorkbook(){[Name="Данные"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Город", type text}, {"Категория", type text}, {"Наименование", type text}, {"Дата", type datetime}, {"Сумма", type number}, {"Менеджер", type text}, {"Заказчик", type any}}),
    #"Объединенные запросы" = Table.NestedJoin(#"Измененный тип",{"Дата"},Даты,{"Дата"},"NewColumn",JoinKind.Inner)
in
    #"Объединенные запросы"
Код
Таблица 2
let
    Источник = Excel.CurrentWorkbook(),
    Дата = Источник{[Name="Дата"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Дата,{{"Дата", type datetime}})
in
    #"Измененный тип"

Пример прилагаю.


Можно ли выставить динамический максимум оси Х для графика
 
tutochkin, сегодня опробовал. Не совсем работает так как нужно (я не правильно описал).
Прилагаю пример. Возможно ли сделать изменение диапазона переключателем? (пример во вложении).
Можно ли выставить динамический максимум оси Х для графика
 
tutochkin, Спасибо! То, что надо.
Можно ли выставить динамический максимум оси Х для графика
 
Я так понимаю решения нет? Предложенный вариант ZVI - не вычисляет если в ячейке формула. Приходится вручную вбивать, нажимать Enter и только тогда Min и Max меняется. Вычисление формулой не работает.
Можно ли выставить динамический максимум оси Х для графика
 
ZVI, ок.
  1. В сообщении №16 приведен пример изменения Max и Min границы значения оси Y на диаграмме в зависимости от значения ячеек A1 и A2 (ось Х не интересует).
  2. Min значение границы оси Y там корректируется ручным изменением ячейки A2.
  3. Как я это смотрю: нажимаем на диаграмме на диапазон значений оси Y - справа "Формат Оси" - Параметры оси - Границы - Минимум и Максимум
Цитата
А текстовые значение в диапазоне F4:G8 диаграмма Excel воспринимает как нулевые, если что.
Видимо я что-то не понимаю. Диаграмма при изменении любого значения из диапазона F4:G8 изменяется в соответствии со значением измененной ячейки.

Цитата
написал:
Нужен пример, где и что конкретно меняется, чтобы понять о чем речь.
Пример приложил.

Пример в сообщении №16 максимально отражает то, что я хочу видеть в конечном итоге. Изменяя ячейки А1 и А2 я могу отслеживать диапазон моей диаграммы.
P.S. Про MinorUnit прочитал, для меня как обывателя в создании макросов грамотная речь пока что сложно.
Изменено: bugser - 03.05.2022 15:16:15
Страницы: 1 2 След.
Наверх