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

Страницы: 1 2 3 4 5 6 7 След.
Функция ЕСЛИОШИБКА для определенных типов ошибок
 
Цитата
ПавелW написал:
Verticalx , а так понятней?=ЕСНД(ИНДЕКС({"error1":"error2":"error3":"error4":"error5":"error6":"error7":"error8":"error9":"error10":"error11":"error12":"error13":"error14":"error new"};МИН(ТИП.ОШИБКИ( A1/B1 );15)); A1/B1 )Непонятно только зачем вам все ошибки. Вы бы лучше объяснили задачу, которую решаете

Понятно. Благодарю, попробую.
Задача - дать ошибкам понятные человеческие названия, чтобы не тратить время на разбор собственно кода, который через какое-то время забывается.
Как отключать авторасширение таблиц?
 
Цитата
_Boroda_ написал:
Есть и там.

Я имел ввиду что искал не в свойствах самого Excel, а в свойствах таблицы:



Мне даже в голову не могло прийти что они могут быть запрятаны там, где они есть
Еще раз спасибо
Изменено: Verticalx - 15.07.2025 00:34:40
Как отключать авторасширение таблиц?
 
Цитата
nilske написал:
14.07.2025 13:45:12

Спасибо. А я искал в самих свойствах
Как отключать авторасширение таблиц?
 
Добрый день,

Заметил следующее поведение. В ячейке B2 - таблица:



Если справа от нее, например (в ячейче C2) ввести какие-либо данные, то эта таблица расширится до этой ячейки.

Вот как это выглядит (видео):

https://disk.yandex.ru/i/QKC98r3WL68M3Q

Как отключить это поведение? (локально, в рамках одной таблицы) и глобально (сразу и навсегда для всех будущих)

Спасибо заранее
Конфиденциальность данных в Power Query
 
Ясно, благодарю. В моем случае дата экспирации, извлеченная из одного запроса использовалась затем при отправке другого запроса.
Изменено: Verticalx - 13.07.2025 16:25:56
Конфиденциальность данных в Power Query
 
Добрый день,

Я написал запрос в Power Query (нейросеть написала, если точнее) и он постоянно мучает ошибкой:

Код
Formula.Firewall: Запрос "Список_прошлый_контракт" (шаг "Удаленные столбцы") ссылается на другие запросы или этапы и поэтому не может напрямую обращаться к источнику данных. Измените эту комбинацию данных.


Я не могу понять, что ему не нравится, крутил и так и сяк. Ставил "Общий" уровень в настройках PQ для всех источников, в т.ч. самой книги - все равно ошибка не уходит. В итоге я удалил все источники, отправил запрос заново и в окне авторизации поставил галочку "Не проверять конфидициальность" и ошибка ушла, все заработало.

Хоть оно теперь и работает, я теперь сижу и думаю - что там такого супер-конфиденциального, что PQ так упирался и не давал запускать запрос. Суть запроса(ов) лишь в том, чтобы загружать данные с https://iss.moex.com/

Нужно ли обращать внимание на эту ошибку?

Сам текст запроса PQ:

Код
let
    // === Буферизация значений из Excel ===
    БуферКонтракт = Excel.CurrentWorkbook(){[Name="Позапозапрошлый_контракт"]}[Content]{0}[Column1],
    БуферДней = Excel.CurrentWorkbook(){[Name="Дней_для_загрузки"]}[Content]{0}[Column1],
    БуферДатаЭксп = Date.From(Excel.CurrentWorkbook(){[Name="Дата_экспирации_позапозапрошлый_контракт"]}[Content]{0}[Column1]),
    БуферДнейДоЭксп = Excel.CurrentWorkbook(){[Name="Дней_до_экспирации"]}[Content]{0}[Column1],

    // === Присвоение переменных
    ТекущийКонтракт = БуферКонтракт,
    ДнейДляЗагрузки = БуферДней,
    ДатаЭкспирации = БуферДатаЭксп,
    ДнейДоЭкспирации = БуферДнейДоЭксп,

    // === Расчёт диапазона from/till
    ДатаНачальная = Date.AddDays(ДатаЭкспирации, -ДнейДляЗагрузки),
    ДатаКонечная = ДатаЭкспирации,

    // === Загрузка JSON с MOEX
    Source = Json.Document(Web.Contents(
        "https://iss.moex.com/iss/history/engines/futures/markets/forts/securities/" 
        & ТекущийКонтракт 
        & ".json?from=" 
        & DateTime.ToText(DateTime.From(ДатаНачальная), "yyyy-MM-dd") 
        & "&till=" 
        & DateTime.ToText(DateTime.From(ДатаКонечная), "yyyy-MM-dd")
    )),

    // === Преобразование JSON-таблицы
    Таблица = Table.FromRows(Source[history][data], Source[history][columns]),

    // === Удаление ненужных столбцов только если они существуют
    НенужныеСтолбцы = {
        "BOARDID", "SECID", "SHORTNAME", "NUMSEC", "OPENPOSITIONVALUE", "VALUE",
        "SETTLEPRICE", "SWAPRATE", "WAPRICE", "SETTLEPRICEDAY", "QTY"
    },
    #"Удаленные столбцы" = Table.RemoveColumns(Таблица, List.Intersect({Table.ColumnNames(Таблица), НенужныеСтолбцы})),

    // === Выбор нужных столбцов
    ПолезныеСтолбцы = {
        "TRADEDATE", "OPEN", "HIGH", "LOW", "CLOSE", "VOLUME", "NUMTRADES", "OPENPOSITION", "CHANGE"
    },
    СуществующиеПолезные = List.Intersect({Table.ColumnNames(#"Удаленные столбцы"), ПолезныеСтолбцы}),
    #"Выбранные столбцы" = Table.SelectColumns(#"Удаленные столбцы", СуществующиеПолезные),

    // === Переименование
    #"Переименованные столбцы" = Table.RenameColumns(#"Выбранные столбцы", {
        {"TRADEDATE", "Дата"}, {"OPEN", "Открытие"}, {"HIGH", "Максимум"},
        {"LOW", "Минимум"}, {"CLOSE", "Закрытие"}, {"VOLUME", "Объем"},
        {"NUMTRADES", "Кол-во сделок"}, {"OPENPOSITION", "ОИ"},
        {"CHANGE", "% изменения"}
    }, MissingField.Ignore),

    // === Преобразование типов
    #"Измененный тип" = Table.TransformColumnTypes(#"Переименованные столбцы", {
        {"Открытие", type number}, {"Максимум", type number}, {"Минимум", type number},
        {"Закрытие", type number}, {"% изменения", type number}, {"Объем", Int64.Type},
        {"Кол-во сделок", Int64.Type}, {"ОИ", Int64.Type}, {"Дата", type date}
    }),

    // === Определение позиции даты экспирации
    ИндексЭкспирации = List.PositionOf(#"Измененный тип"[Дата], ДатаЭкспирации),
    ИндексГраницы = ИндексЭкспирации - ДнейДоЭкспирации,

    // === Обрезка по экспирации
    Результат = if ИндексГраницы >= 0 
        then Table.FirstN(#"Измененный тип", ИндексГраницы + 1)
        else #"Измененный тип"
in
    Результат
Изменено: Verticalx - 11.07.2025 17:37:12
Вставка динамической даты в запрос Source в Power Query
 
Цитата
AlienSx написал:
сайт вообще убирает комбинацию "[" & "Table" & "]" даже из простого сообщения...

Разобрался. Тут было важно мне понять, что Source и File это не названия функций или операторов, а что-то вроде переменных
Вставка динамической даты в запрос Source в Power Query
 
Цитата
AlienSx написал:
я поменял "Source" на "file". У вас ошибки и вопросы новичка. Я все понимаю, но давайте не будем устраивать из темы полигон для знакомств с самыми основами Power Query M.

Да, у меня ошибки и вопросы новичка: Power Query я вчера первый раз увидел в действии.
Если вы профи по части PQ - прекрасно. А я - нет. И то, что очевидно для вас - для меня нет.
Я благодарен за консультацию, но если вас напрягают вопросы по основам, на них нет обязанности отвечать.
Вставка динамической даты в запрос Source в Power Query
 
Цитата
AlienSx написал:
let    tod = DateTime.FixedLocalNow(),    path = "https://iss.moex.com",    rel_path = "iss/history/engines/futures/markets/forts/securities/RIU5.xml",    file = Web.Contents(        path,         [ RelativePath = rel_path, Query = [ from = DateTime.ToText(Date.AddDays(tod, -7), "yyyy-MM-dd"), till = DateTime.ToText(tod, "yyyy-MM-dd") ] ] ), xml = Xml.Tables(file){0}[rows]{0}[row]{0}, last_three = Table.LastN(xml, 3)in last_three

выдает ошибку:

Код
Expression.Error: Поле "rows" записи не найдено.
Сведения:
    Name=data
    Table=[Table]



Если добавить только это:

Код
tod = DateTime.FixedLocalNow(),
   path = "https://iss.moex.com",
   rel_path = "iss/history/engines/futures/markets/forts/securities/RIU5.xml",
   file = Web.Contents(
       path,
       [
           RelativePath = rel_path,
           Query = [
               from = DateTime.ToText(Date.AddDays(tod, -7), "yyyy-MM-dd"),
               till = DateTime.ToText(tod, "yyyy-MM-dd")
           ]
       ]
   ),



Выдает, что пропущен Source:

Код
Expression.Error: Импорт Source не соответствует ни одному из экспортов
Вставка динамической даты в запрос Source в Power Query
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
Вопрос: почему здесь - Date.AddDays(DateTime.LocalNow(),-7) - указано "-7"? Это же отнять неделю, а не прибавить. Такой порядок дат точно в этом сервисе поддерживается?

Вы правы, порядок дат тоже был неверный
Изменено: Verticalx - 09.07.2025 13:49:20
Вставка динамической даты в запрос Source в Power Query
 
Разобрался.

Вот так заработало:

Код
    Source = Web.Contents(
        "https://iss.moex.com/iss/history/engines/futures/markets/forts/securities/RIU5.xml?from=" 
        & DateTime.ToText(Date.AddDays(DateTime.LocalNow(), -7), "yyyy-MM-dd") 
        & "&till=" 
        & DateTime.ToText(DateTime.LocalNow(), "yyyy-MM-dd")
    ),
Вставка динамической даты в запрос Source в Power Query
 
Где поменять? Менял везде - не работает, менял отдельно перед DateTime или перед " - не работает
Вставка динамической даты в запрос Source в Power Query
 
Добрый день,

Есть запрос Power Query

Код
let
    Source = Web.Contents("https://iss.moex.com/iss/history/engines/futures/markets/forts/securities/RIU5.xml?from=2025-07-01&till=2025-07-09"),
    xml = Xml.Tables(Source)[Table]{0}[rows]{0}[row]{0},
    last_three = Table.LastN(xml, 3),
    #"Измененный тип" = Table.TransformColumnTypes(last_three,{{"Attribute:TRADEDATE", type date}, {"Attribute:OPEN", type number}}),
    #"Повышенные заголовки" = Table.PromoteHeaders(#"Измененный тип", [PromoteAllScalars=true]),
    #"Измененный тип1" = Table.TransformColumnTypes(#"Повышенные заголовки",{{"RFUD", type text}, {"7/4/2025", type date}, {"RIU5", type text}, {"109650", Int64.Type}, {"108050.00000", Int64.Type}, {"109800.00000", Int64.Type}, {"108990.00000", Int64.Type}, {"9571457342.76", type number}, {"10664622381.82", type number}, {"62141", Int64.Type}, {"55698", Int64.Type}, {"108990.00000_1", Int64.Type}, {"0.00000", Int64.Type}, {"108847.00000", Int64.Type}, {"108840.00000", Int64.Type}, {"-0.59000", type number}, {"2", Int64.Type}, {"32846", Int64.Type}})
in
    #"Измененный тип1"


Я пытаюсь заменить строку

Код
Source = Web.Contents("https://iss.moex.com/iss/history/engines/futures/markets/forts/securities/RIU5.xml?from=2025-07-01&till=2025-07-09")

На такую, чтобы текущая дата и дата 7 дней назад подтягивались автоматически.
Сделал это так:

Код
    Source = Web.Contents("https://iss.moex.com/iss/history/engines/futures/markets/forts/securities/RIU5.xml?from="+DateTime.ToText(DateTime.LocalNow(),"yyyy-MM-dd") +"&till="+DateTime.ToText(Date.AddDays(DateTime.LocalNow(),-7),"yyyy-MM-dd") +""),


Но выдает ошибку:



Что я делаю не так?

Спасибо заранее
Импортировать из файла XML в интернете три последних строки
 
Цитата
Тимофеев написал:
последние 3:Код ? 123=ФИЛЬТР.XML(ВЕБСЛУЖБА(" https://iss.moex.com/iss/history/engines/futures/markets/forts/securities/RIU­5.xml?from=2025-07-01&till=2025-07-09 ");"//document//data//rows//row[position()=last() or position()=last()-1 or position()=last()-2]/@OPEN")

Изменено: Тимофеев  - 09.07.2025 11:44:42

Как раз, то о чем я думал, "а можно ли обращаться к строкам путем отсчета от последней, типа i, i-1, i-2"
Оказывается, есть такое) last()-1 и тд.
спасибо!
Импортировать из файла XML в интернете три последних строки
 
Цитата
AlienSx написал:
триlet    Source = Web.Contents("https://iss.moex.com/iss/history/engines/futures/markets/forts/securities/RIU­­5.xml?from=2025-07-01&till=2025-07-09"),    xml = Xml.Tables(Source){0}[rows]{0}[row]{0}, last_three = Table.LastN(xml, 3)in last_three

Прикрепленные файлы
3.xlsx  (18.57 КБ)

Изменено: AlienSx  - 09.07.2025 08:33:20


Пришелец-прораб.

Спасибо! очень наглядно с Power Query. Вещь!
Изменено: Verticalx - 09.07.2025 11:52:57
Функция ЕСЛИОШИБКА для определенных типов ошибок
 
Цитата
ПавелW написал:
Verticalx ,  ввелась? )

Да, ввелась, но для деления на ноль выдает стандартный текст

В самой формуле какой текст эту ошибку заменяет?

Эта формула ссылается на другую ячейку, а нужно мониторить именную текущую ячейку, то есть ту, в которой сама эта формула находится
Изменено: Verticalx - 09.07.2025 02:49:33
Импортировать из файла XML в интернете три последних строки
 
Здравствуйте

Есть XML файл:

https://iss.moex.com/iss/history/engines/futures/markets/forts/securities/RIU­5.xml?from=2025-07-01&till=2025-07-09

Подскажите, возможно ли, например, через функцию ИМПОРТ XML обратиться к трем его последним строкам и выгрузить эти данные:



Как обратиться к столбцам - понятно, а вот вопрос: как обратиться к трем последним строкам (без явного указания на содержимое, т.к оно может меняться)?

Возможно ли это без использования VBA?

Пробовал загружать этот файл через "Получить данные -> Из других источников -> Из интернета", но Excel даже не хочет загружать эту таблицу

Заранее спасибо
Импорт данных из таблицы XML, неверный формат данных при импорте
 
Цитата
txxt написал:
Задача конечно не понятна на перспективу... но почему не воспользоваться PQ? Мне кажется было бы надежнее

Я не знаю что такое PowerQuery и как оно работает.
PQ решает все эти проблемы, можно пример для текущей задачи?
Функция ЕСЛИОШИБКА для определенных типов ошибок
 
Цитата
ПавелW написал:
=ЕСНД(ИНДЕКС({#ПУСТО!;#ДЕЛ/0!;#ЗНАЧ!;#ССЫЛКА!;#ИМЯ?;#ЧИСЛО!;#Н/Д;#ОЖИДАНИЕ_ДАННЫХ;#ПЕРЕНОС!;#ПОДКЛЮЧ!;#ЗАБЛОКИРОВАНО!;#НЕИЗВЕСТНО!;#ПОЛЕ!;#ВЫЧИСЛ!;"новая ошибка"};МИН(ТИП.ОШИБКИ(A2);15));A2)

исходная формула вводится вместо A2?
Импорт данных из таблицы XML, неверный формат данных при импорте
 
Понятно.
А можно заставить эксель, чтобы он воспринимал данные XML строго как текст, а потом путем замены точки на запятую преобразовать данные в число?

Проще говоря, какой-нибудь железный способ, нет такого? А то получается хождение по минному полю. Если вручную каждый раз перепроверять, правильно ли импортированы данные из XML, тогда смысл автоматизации пропадает  :sceptic:
Импорт данных из таблицы XML, неверный формат данных при импорте
 
Пишу еще раз, потому что заметил странную вещь.

Вот эта формула
Цитата
Sanja написал:
Конкретно эту ситуацию можно поправить такКод ? 1=--ПОДСТАВИТЬ(ТЕКСТ(ФИЛЬТР.XML(ВЕБСЛУЖБА("iss.moex.com/iss/engines/futures/markets/forts/securities/" & B1 & ".xml?iss.meta=off&iss.only=securities&securities.columns=BUYSELLFEE");"//document//data//rows//@BUYSELLFEE");"М.ГГ");".";",")

Сейчас выдает 12,25:


Откуда взялось это число - загадка. По идее, должно восприниматься как дата "07.1912".

И в то же время вот эта формула:
Цитата
Verticalx написал:
Еще получилось обойти это с помощью двойного подставления функции ПОДСТАВИТЬ:Код ? 1=ФИЛЬТР.XML(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ВЕБСЛУЖБА("iss.moex.com/iss/engines/futures/markets/forts/securities/" & B1 & ".xml?iss.meta=off&iss.only=securities&securities.columns=BUYSELLFEE");".";",");"1,0";"1.0");"//document//data//rows//@BUYSELLFEE")

Выдает правильное. Хотя позавчера и она барахлила.

Нет ли идей откуда берется 12,25, чтобы понять можно ли с этим что-то сделать?
Изменено: Verticalx - 04.07.2025 01:21:36
Функция ЕСЛИОШИБКА для определенных типов ошибок
 
Работает 100%  :)
Функция ЕСЛИОШИБКА для определенных типов ошибок
 
Спасибо! как попробую - отпишусь
Подсветка синтаксиса и приведение формул в читаемый вид
 
Цитата
AlienSx написал:
может потому, что "Excel 2019 or later on Mac" ?

Конечно. Такой вот специальный аддон, который работает на маке, но не работает на винде)

Цитата
AlienSx написал:
Я это понимаю так, что с точки зрения функционала версия 2021 (Ваша версия) и 365 (моя) отличаться не должны. Ну или не отличались до последнего времени, пока не вышел 2024

Чего?

Цитата
AlienSx написал:
Наличие расширенного функционала в моей версии как бы намекает, что это немного разные программы.

Ну да, конечно. Наличие 1ТВ облачного места в OneDrive у вас, видимо, делает версии программы Excel разными)

Вобщем. Я уже не поспеваю за скоростью вашей мысли и механикой рассуждений, поэтому еще раз благодарю и удаляюсь)
Функция ЕСЛИОШИБКА для определенных типов ошибок
 
Добрый день

Есть функция "ЕСЛИОШИБКА", которая выдает указанное сообщение для любых ошибок.

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

Могли бы подойти функции ТИП.ОШИБКИ и ЕНД, но они могут работать только в отдельных ячейках и их нельзя задавать в самой исходной ячейке, т.к. возникает циклическая ссылка.

Заранее спасибо.
Подсветка синтаксиса и приведение формул в читаемый вид
 
Вы не поняли что написано в требованиях к этому аддону.

То, что написано в скобках после "Excel for Windows" должно быть интерпретировано не как уточнение, а как альтернатива.
Потому что офис может приобретаться разными путями. 365 - это форма лицензирования. При этом приложение Excel, установленное на Windows будет иметь одну и ту же версию, вне зависимости от формы лицензии - Retail, LTSC или подписки Office 365

На GitHub'e проекта, то там ни слова про Microsoft 365 нет:


Хотя и без этой информации было и так понятно, что отсутствие или наличие подписки Microsoft 365 никак не может влиять на работу этого аддона. А если бы теоретически влияло, это было бы написано большими красными буквами, а сам аддон, скорее всего, просто не устанавливался бы из магазина аддонов при проверке учетной записи.

На моем маке под той же самой учеткой безо всяких Office 365 аддон работает.

А виндовом аддоне ошибка:


Возможно это связано с тем, что аддон не обновлялся 2 года или в последних версиях Office или Win11 внесены изменения, препятствующие его работе.

Аналогичная ошибка у других пользователей:
https://github.com/microsoft/advanced-formula-environment/issues/95
Изменено: Verticalx - 03.07.2025 17:32:19
Подсветка синтаксиса и приведение формул в читаемый вид
 
Цитата
AlienSx написал:
Verticalx , вы бы с версии Excel начали раскопки. У меня - 365, а у Вас?

Excel 2021 профессиональный плюс 2505
Подсветка синтаксиса и приведение формул в читаемый вид
 
Да чего там RTFM-ить. Включил в розетку и должно работать. На видео у всех так.

У вас в Excel вход в аккунт Microsoft выполнен?
Страна аккунта - Россия?

Этот плагин по сути веб-страница. У меня она не обновляется и не загружается, хотя попытки есть. Ни с ВПН, ни без него. Есть подозрение, что они аккунты из России блокируют.
Изменено: Verticalx - 03.07.2025 14:36:11
Подсветка синтаксиса и приведение формул в читаемый вид
 
Цитата
AlienSx написал:
С этим не помогу, извините. У меня эта прога работает.

ну то есть у вас при ее открытии во вкладке Grid все сразу отображается?

Цитата
AlienSx написал:
Но может вот этот сайт подойдет для решения ваших проблем https://www.excelformulabeautifier.com/

Спасибо, посмотрю
Подсветка синтаксиса и приведение формул в читаемый вид
 
Цитата
AlienSx написал:
Excel labs

Поставил я эту штуку.
Посмотрел видео на ютюбе, как оно должно работать.

Но у меня, чтобы я ни делал его окно всегда пустое - формулы вводить некуда и формулы с ячейками он не открывает

Страницы: 1 2 3 4 5 6 7 След.
Наверх