написал: asdewq1 , здравствуйте. Не совсем понятно, как сочетается вопросЦитата написал:возможно ли чтобы lambda функции написанные в одном месте были доступны во всех открываемых книгах ?с Цитата написал:А тут получается сама по себе формула сохранена в личных настройках и доступна в любой из открываемых книг. ?Но как и писал ранее, прописывайте свои функции в надстройке, устанавливаете ее в Эксель и все функции доступны в любой открытой книге: https://www.excel-vba.ru/chto-umeet-excel/kak-sozdat-svoyu-nadstrojku/
Криво косо , но получилось.
Прописал для теста
Код
Private WithEvents App As Application
Private Sub Workbook_Open()
Set App = Application
End Sub
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
If (Wb.Name = "PERSONAL.XLSB") Then
MsgBox "Вы открыли книгу:" & Wb.Name
Else
ActiveWorkbook.Names.Add Name:="test", RefersToR1C1:="=LAMBDA(a,b,a+b)"
End If
End Sub
Private Sub App_NewWorkbook(ByVal Wb As Workbook)
MsgBox "Вы создали новую книгу"
ActiveWorkbook.Names.Add Name:="test", RefersToR1C1:="=LAMBDA(a,b,a+b)"
ActiveWorkbook.Names.Add Name:="test2", RefersToR1C1:="=LAMBDA(ad,ba,ad+ba)"
End Sub
Всем спасибо. Сейчас у меня везде доступны будут и макросы и лямбды.
раз пошла такая пьянка а возможно ли чтобы lambda функции написанные в одном месте были доступны во всех открываемых книгах ?
Цитата
написал: asdewq1 , Format в коде лишнее если нужна дата, достаточноКод ? 123Public Function ИзвлечьДатуДокумента1(Text As String) As DateИзвлечьДатуДокумента1 = CDate(MyReg(Text, "\d{2}\.\d+\.\d+"))End FunctionНу а далее в ячейке уже её форматом показывайте как хотите, вручную или макросом.
Как и писал выше . Я просто пробывал различные варианты по принципу авось сработает.
Хотелось отображение как есть в excel при открытии ты видишь например формат общий и строку , но при этом ячейка в сводных таблицах ведет себя как дата . И при построении сводных таблиц появляется дополнительная группировка месяц , квартал, год .
написал: ли используются макросы - почему бы не использовать их для установки нужного формата? Что мешает это сделать? Например, можно в модуль листа записать такую обработку(срабатывает при каждом изменении листа):
И такой вариант также не подходит . Так как получается это событие отдельного листа. А тут получается сама по себе формула сохранена в личных настройках и доступна в любой из открываемых книг. А в каждой книге прописывать События объекта Worksheet вообще не вариант
написал: Конечно, скорее всего нужны доп.проверки, чтобы лишнего не делать. Но я показал лишь пример без понимания, подойдет ли такой подход или нет.И да, функция тогда должна выглядеть так(т.е. возвращать именно дату):Код ? 123Public Function ИзвлечьДатуДокумента1(Text As String) As Date ИзвлечьДатуДокумента1 = CDate(MyReg(Text, "\d{2}\.\d+\.\d+"))End FunctionНакидывать сюда формат через VBA.Format нет смысла. К тому же, если делать через Format, на некоторых ПК и вовсе будет ошибка, если формат даты в локализации отличается от "ДД.ММ.ГГГГ".
Спасибо. Просто в данном случае я просто начал пробовать и просто увеличивал количество функций в недежде что заработает. Но увы. А постоянная проверка на ввод формулы не нагружает процессор?
Цитата
написал: asdewq1 написал: и работает ли вообщеРаботает. Вы не правильно скопировали текст макроса из сообщения. Нужно копировать при русской раскладке клавиатуры, т.к. в нем используются русские буквыЦитата asdewq1 написал: второй раз написан Regex это комментарийЯ не второй раз (который комментарий), а в принципе. Эта функция не нужнаЦитата asdewq1 написал: Как можно исправить без изменения формата ячеек.
ну да получается я если честно сразу не догадался что можно split сделать.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как и было сказано . Как можно исправить без изменения формата ячеек. То что можно переключить я знаю , но это делать постоянно не очень удобно.
Цитата
Для Вашего примера можно без второй функции (MyRegex) обойтись
Код
Function Get_Data(iData)
Get_Data = Format(Split(iData, "от")(UBound(Split(iData, "от"))), "dd.mm.yyyy")
End Function
не очень понимаю как это работает и работает ли вообще. А что касается второй раз второй раз написан Regex это комментарий, просто я пытался различными способами вернуть дату.
Public Function ИзвлечьДатуДокумента(Text As String) As Date
ИзвлечьДатуДокумента = Format(CDate(MyRegex(Text, "\d{2}\.\d+\.\d+")), "DD.MM.YYYY")
'ИзвлечьДатуДокумента = Format(MyRegex(Text, "\d{2}\.\d+\.\d+"), "DD.MM.YYYY")
End Function
Данная формула извлекает дату из выбранной ячейки. Однако возникает проблема с возвратом значения. Если возвращать дату то идет цифровое значение даты. Если поставить String то возвращается текст и не группируются данные в месяца и года. Может есть возможность как то это побороть без изменения числового формата????
написал: asdewq1 , с вероятностью 99,9% тормоза в связи с сетевым расположением файлов.ПС: мне все же не понятно соотношение rdp/сетевое расположение, т.к. для меня rdp - это работа на обычном удаленном локальном ПК как на своем.Видимо, работа на rdp, а плюсом запущенный на rdp excel тянет файлы с какого-то др. сервера.Но это уже не важно, т.к. изменить вы, видимо, ничего не сможете.
Понятно спасибо. Я просто думал у меня руки совсем кривые и делаю все не так.
написал: upd: так через rdp или сетевое? сетевое имеется в виду, что исходные файлы-источники на сетевой папке, а обращаетесь к ним вы со своего ПК - где запускаестся excel ? - на вашем ПК или на rdp? - если вы со своего ПК обращаетесь к файлам на сервере, то они скачиваются к вам на ПК налету + время обработки у вас
Я не могу скопировать документы ни на диск C: удаленного компа, доступа нет, А тем более на локальный комп. Характеристики удаленного компа Intel Xeon Gold 6330 2.0GHz, RAM 6GB, OS Win10. На локальном компьютере есть только вход в терминал.
1. Столбцов не более 20 2. Столбцы текстовые в основном до 20 символов 3. характеристики это не совсем известно подключение идет через rdp , но насколько я знаю характеристики компа не самые выдающиеся 4.подключение к файлам сетевое. 5. исходные файлы не более пару мегабайт 6. Над датами сейчас действительно нет операций сейчас , однако возможно будут использоваться сводные таблицы и тогда формат дат будет очень актуальный . Если формат не выбрать если я правильно понимаю будет хуже строить сводные по кварталам или месяцам 7. Ошибка вылезла пару дважды и после обновления ошибка исчезала
написал: Цитата asdewq1 написал: #"Вызвать настраиваемую функцию1" = скиньте код функции
По факту функция только поднимает заголовки
Код
let
Источник = (Параметр1 as binary) => let
Источник = Excel.Workbook(Параметр1, [InferSheetDimensions= true]),
#"Доставленные товары_Sheet" = Источник{[Item="Доставленные товары",Kind="Sheet"]}[Data],
#"Строки с примененным фильтром2" = Table.SelectRows(#"Доставленные товары_Sheet", each ([Column2] <> null)),
#"Строки с примененным фильтром" = Table.SelectRows(#"Строки с примененным фильтром2", each ([Column1] <> null)),
#"Повышенные заголовки" = Table.PromoteHeaders(#"Строки с примененным фильтром", [PromoteAllScalars=true])
in
#"Повышенные заголовки"
in
Источник
Код
let
Источник = (Параметр4 as binary) => let
Источник = Excel.Workbook(Параметр4, [InferSheetDimensions= true]),
#"Товары, переданные в доставку_Sheet" = Источник{[Item="Товары, переданные в доставку",Kind="Sheet"]}[Data],
#"Строки с примененным фильтром1" = Table.SelectRows(#"Товары, переданные в доставку_Sheet", each ([Column2] <> null)),
#"Строки с примененным фильтром" = Table.SelectRows(#"Строки с примененным фильтром1", each ([Column1] <> null and [Column1] <> "Заказы")),
#"Повышенные заголовки" = Table.PromoteHeaders(#"Строки с примененным фильтром", [PromoteAllScalars=true])
in
#"Повышенные заголовки"
in
Источник
У меня вопрос возможно ли оптимизировать запросы? У меня есть папка в папке около 20 файлов как итог. В этих файлах 5 листов и на каждом листе таблица. У меня созданы 5 запросов. Которые собирают со всех файлов информацию по листам ("Доставлено", "Возвращено" и т.д.) в один файл в на пять листов. Общая сумма строк которая импортируется в файл не превышает 200к. Однако все происходит долго и иногда завершается с ошибкой. Ниже пример двух запросов.
Код
let
Источник = Folder.Files(#"Адрес"),
#"Отфильтрованные скрытые файлы1" = Table.SelectRows(Источник, each [Attributes]?[Hidden]? <> true),
#"Вызвать настраиваемую функцию1" = Table.AddColumn(#"Отфильтрованные скрытые файлы1", "Преобразовать файл", each #"Преобразовать файл"([Content])),
#"Переименованные столбцы1" = Table.RenameColumns(#"Вызвать настраиваемую функцию1", {"Name", "Source.Name"}),
#"Другие удаленные столбцы1" = Table.SelectColumns(#"Переименованные столбцы1", {"Source.Name", "Преобразовать файл"}),
#"Столбец расширенной таблицы1" = Table.ExpandTableColumn(#"Другие удаленные столбцы1", "Преобразовать файл", List.Distinct(List.Combine(List.Transform (#"Другие удаленные столбцы1"[#"Преобразовать файл"], Table.ColumnNames)))),
#"Замененное значение" = Table.ReplaceValue(#"Столбец расширенной таблицы1",null,0,Replacer.ReplaceValue,{"Цена c НДС без учёта скидок, руб. за шт.", "Ваша скидка по акции маркетплейса, руб. на 1 шт.", "Ваша скидка по бонусам СберСпасибо (за шт.), руб. на 1 шт.", "Ваша скидка по баллам Яндекс.Плюса, руб. на 1 шт.", "Цена с НДС с учётом всех скидок, руб. за шт.", "Стоимость всех доставленных штук с НДС без учёта скидок, руб.", "Сумма всех скидок для доставленных штук, руб.", "Стоимость всех доставленных штук с НДС с учётом всех скидок, руб.", "Цена c НДС без учёта скидок за шт., ₽", "Ваша скидка по акции маркетплейса на 1 шт., ₽", "Ваша скидка по бонусам СберСпасибо (за шт.) на 1 шт., ₽", "Ваша скидка по баллам Яндекс.Плюса на 1 шт., ₽", "Цена с НДС с учётом всех скидок за шт., ₽", "Стоимость всех доставленных штук с НДС без учёта скидок, ₽", "Сумма всех скидок для доставленных штук, ₽", "Стоимость всех доставленных штук с НДС с учётом всех скидок, ₽"}),
#"Добавлен пользовательский объект" = Table.AddColumn(#"Замененное значение", "Стоимость всех доставленных штук с НДС без учёта скидок", each [#"Стоимость всех доставленных штук с НДС без учёта скидок, руб."]+[#"Стоимость всех доставленных штук с НДС без учёта скидок, ₽"]),
#"Добавлен пользовательский объект1" = Table.AddColumn(#"Добавлен пользовательский объект", "Сумма всех скидок для доставленных штук", each [#"Сумма всех скидок для доставленных штук, руб."]+ [#"Сумма всех скидок для доставленных штук, ₽"]),
#"Добавлен пользовательский объект2" = Table.AddColumn(#"Добавлен пользовательский объект1", "Стоимость всех доставленных штук с НДС с учётом всех скидок", each [#"Стоимость всех доставленных штук с НДС с учётом всех скидок, руб."]+[#"Стоимость всех доставленных штук с НДС с учётом всех скидок, ₽"]),
#"Другие удаленные столбцы" = Table.SelectColumns(#"Добавлен пользовательский объект2",{"Source.Name", "Номер заказа", "Тип заказа", "Название товара", "Ваш SKU", "SKU на складе", "Количество переданных в доставку, шт.", "Доставлено, шт.", "Дата оформления заказа", "Дата передачи товара в доставку", "Дата доставки товара", "Способ оплаты", "Ставка НДС", "Стоимость всех доставленных штук с НДС без учёта скидок", "Сумма всех скидок для доставленных штук", "Стоимость всех доставленных штук с НДС с учётом всех скидок"}),
#"Измененный тип" = Table.TransformColumnTypes(#"Другие удаленные столбцы",{{"Дата оформления заказа", type date}, {"Дата передачи товара в доставку", type date}, {"Дата доставки товара", type date}})
in
#"Измененный тип"
Код
let
Источник = Folder.Files(#"Адрес"),
#"Отфильтрованные скрытые файлы1" = Table.SelectRows(Источник, each [Attributes]?[Hidden]? <> true),
#"Вызвать настраиваемую функцию1" = Table.AddColumn(#"Отфильтрованные скрытые файлы1", "Преобразовать файл (4)", each #"Преобразовать файл (4)"([Content])),
#"Переименованные столбцы1" = Table.RenameColumns(#"Вызвать настраиваемую функцию1", {"Name", "Source.Name"}),
#"Другие удаленные столбцы1" = Table.SelectColumns(#"Переименованные столбцы1", {"Source.Name", "Преобразовать файл (4)"}),
#"Столбец расширенной таблицы1" = Table.ExpandTableColumn(#"Другие удаленные столбцы1", "Преобразовать файл (4)", List.Distinct(List.Combine(List.Transform (#"Другие удаленные столбцы1"[#"Преобразовать файл (4)"], Table.ColumnNames)))),
#"Замененное значение" = Table.ReplaceValue(#"Столбец расширенной таблицы1",null,0,Replacer.ReplaceValue,{"Цена c НДС без учёта скидок, руб. за шт.", "Ваша скидка по акции маркетплейса, руб. на 1 шт.", "Ваша скидка по бонусам СберСпасибо (за шт.), руб. на 1 шт.", "Ваша скидка по баллам Яндекс.Плюса, руб. на 1 шт.", "Цена с НДС с учётом всех скидок, руб. за шт.", "Стоимость всех переданных в доставку штук с НДС без учёта скидок, руб.", "Сумма всех скидок для переданных в доставку штук, руб.", "Стоимость всех переданных в доставку штук с НДС с учётом всех скидок, руб.", "Цена c НДС без учёта скидок за шт., ₽", "Ваша скидка по акции маркетплейса на 1 шт., ₽", "Ваша скидка по бонусам СберСпасибо (за шт.) на 1 шт., ₽", "Ваша скидка по баллам Яндекс.Плюса на 1 шт., ₽", "Цена с НДС с учётом всех скидок за шт., ₽", "Стоимость всех переданных в доставку штук с НДС без учёта скидок, ₽", "Сумма всех скидок для переданных в доставку штук, ₽", "Стоимость всех переданных в доставку штук с НДС с учётом всех скидок, ₽"}),
#"Добавлен пользовательский объект" = Table.AddColumn(#"Замененное значение", "Стоимость всех переданных в доставку штук с НДС без учёта скидок", each [#"Стоимость всех переданных в доставку штук с НДС без учёта скидок, руб."]+[#"Стоимость всех переданных в доставку штук с НДС без учёта скидок, ₽"]),
#"Добавлен пользовательский объект1" = Table.AddColumn(#"Добавлен пользовательский объект", "Сумма всех скидок для переданных в доставку штук", each [#"Сумма всех скидок для переданных в доставку штук, руб."]+[#"Сумма всех скидок для переданных в доставку штук, ₽"]),
#"Добавлен пользовательский объект2" = Table.AddColumn(#"Добавлен пользовательский объект1", "Стоимость всех переданных в доставку штук с НДС с учётом всех скидок", each [#"Стоимость всех переданных в доставку штук с НДС с учётом всех скидок, руб."]+[#"Стоимость всех переданных в доставку штук с НДС с учётом всех скидок, ₽"]),
#"Другие удаленные столбцы" = Table.SelectColumns(#"Добавлен пользовательский объект2",{"Source.Name", "Номер заказа", "Тип заказа", "Название товара", "Ваш SKU", "SKU на складе", "Количество переданных в доставку, шт.", "Дата оформления заказа", "Дата передачи товара в доставку", "Дата доставки товара", "Способ оплаты", "Ставка НДС", "Стоимость всех переданных в доставку штук с НДС без учёта скидок", "Сумма всех скидок для переданных в доставку штук", "Стоимость всех переданных в доставку штук с НДС с учётом всех скидок"}),
#"Измененный тип" = Table.TransformColumnTypes(#"Другие удаленные столбцы",{{"Дата оформления заказа", type date}, {"Дата передачи товара в доставку", type date}, {"Дата доставки товара", type date}})
in
#"Измененный тип"
Спасибо всем. Вроде как разобрался. Также нашел также видео на на одном нецензурном ресурсе youtube где все очень просто объясняется. И после его стало понятно что voler83 имел ввиду.
написал: лень делать, быстрее написатьмануально1. создаете список имен столбцов (Table.ColumnNames) - старой или новой таблицы - как вам удобнее, ниже предполагается старые имена на новые. Выгружаете список на лист Excel.2. на листе в выгруженной таблице руками создаете и заполняете столбец "Новое имя" - конечно руками, ну как вариант можно нечетким Join в PQ сопоставить 2 списка имен столбцов - но в любом случае надо просматривать глазами будет.3. таблицу со столбцами "Старое имя" I "Новое имя" с листа загружаете в PQ и применяя функцию Table.ToRows получаете список списков имен - удобнее сделать это в отдельном запросе, назовем его допустим справочник_имен.4. в старом отчете (смотря какое имя было для вас "старое", предположим старые имена вы переделали на новые) в функции Table.RenameColumns вместо имен столбцов просто подставляете имя запроса со списком из п.35. теперь столбцы называются одинаково.было:Table.RenameColumns( table as table, renames as list, // сюда в качестве списка просто подставляете название запроса из п.3 безо всяких кавычек optional missingField as nullable number, // не забудьте указать параметр MissingField.Ignore) as tableстало:Table.RenameColumns( таблица из старого отчета, справочник_имен, MissingField.Ignore)
Изменено: voler83 - 16.04.2025 13:10:38
Как сказал один человек в интернете "Ничего не понял , но очень интересно"
написал: дравствуйте. Не знаю как вы подтягиваете данные и куда, но если в книге Март2, удалить столбец B, тем более что это только дубль столбца А, то все столбцы совпадут со столбцами в книге февраль1. И при необходимость можно только шапку привести к одинаковому виду, скопировав из одной книги в другую. А если сбор данных идет не зависимо от названий в шапке, а по номеру столбца, то и шапку менять не надо.
Добрый день! Что по поводу дубля это не совсем дубль , а при различных ситуациях это может быть другой номер. Это понятно что можно просто взять и изменить наименования шапки вручную, но это нужно делать постоянно и хотелось бы решить данную проблему раз и навсегда, т.к. интернет магазины имеют свойства постоянно менять наименования столбцов. Сбор в моем случае идет по наименованию
Добрый день! Есть проблема с отчетам который предоставляет внешний контрагент. Хочу объединить два файла с использованием PQ, у них различные шапки. 1. В файле март добавлен столбец "Ваш номер заказа"; 2. Изменены наименования столбцов например с "Стоимость всех переданных в доставку штук с НДС с учётом всех скидок, руб." на "Стоимость всех переданных в доставку штук с НДС с учётом всех скидок, ₽"
При слиянии происходит что данные не подтягиваются из файла март не подтягиваются в исходную таблицу.
Прошу подсказать как можно сделать . 1. Чтобы новые столбцы создались в сведенной таблице. И данные которые начались с марта туда подтянулись. 2. Как верно произвести переименование столбцов с "Стоимость всех переданных в доставку штук с НДС с учётом всех скидок, руб." на "Стоимость всех переданных в доставку штук с НДС с учётом всех скидок, ₽" чтобы данные также объединились в общую таблицу.
написал: Цитата asdewq1 написал: Прошу помочь в решении данного вопросаБез исходного файла-примера какой помощи Вы ожидаете?
Дело в том что я бы с радостью. Однако у нас очень жестокая и жесткая система безопасности на работе и ничего нельзя копировать. А при любое изменения файла и сразу PQ начинает нормально работать. Вот тут и возникает дилемма что мне нужна помощь, но показать исходник я не могу. Надеюсь вы меня поймете.
Добрый день! Получаю выгрузку из Интернет Магазины с отчетом о продажах. Хочу все отчеты с помощью PQ объединить в один файл. Однако возникает неверное определение размера таблицы и как итог в PQ попадают только сведения о шапке таблицы. Прошу помочь в решении данного вопроса.
let
Источник = Excel.Workbook(File.Contents("C:\Users\nexta\Desktop\united_statistics_report_60067698_11-11-2024.xlsx"), null, true),
#"Измененный тип" = Table.TransformColumnTypes(#"Возвращенные товары_Sheet",{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}, {"Column6", type text}, {"Column7", type text}, {"Column8", type text}, {"Column9", type text}, {"Column10", type text}, {"Column11", type text}, {"Column12", type text}, {"Column13", type text}, {"Column14", type text}, {"Column15", type text}, {"Column16", type text}, {"Column17", type text}, {"Column18", type text}, {"Column19", type text}, {"Column20", type text}, {"Column21", type text}, {"Column22", type text}, {"Column23", type text}, {"Column24", type text}, {"Column25", type text}, {"Column26", type text}, {"Column27", type text}, {"Column28", type text}, {"Column29", type text}, {"Column30", type text}, {"Column31", type text}, {"Column32", type text}, {"Column33", type text}, {"Column34", type text}, {"Column35", type text}, {"Column36", type text}, {"Column37", type text}, {"Column38", type text}, {"Column39", type text}})
написал: Код columns = {"Кол-во", "Цена розничная"}, // перечисляете все нужные столбцы replace = Table.ReplaceValue( Source, null, (x) => if x[Тип документа] = "возврат" then -1 else 1, (v, o, n) => v * n, columns )
Формула заработала, однако есть маленький вопрос КАК !!!
1)
Почитал спецификацию
Table.ReplaceValue( table as table, oldValue as any, newValue as any, replacer as function, columnsToSearch as list, ) as table
oldValue
The value you want to search for and replace. You can specify a constant, a column reference, or conditional logic.
В нашем случае oldValue почему установлено значение null???
2) (x) => if x[Тип документа] = "возврат" then -1 else 1, (v, o, n) => v * n,
Как я понимаю в выражении (x) => if x[Тип документа] = "возврат" then -1 else 1 происходит возврат значения 1 или -1. но вот я искреннее не понимаю как происходит вызов функции (v, o, n) => v * n. И что за параметр "o" в формуле.
Но при этом все работает. В любом случае спасибо, просто хотелось бы разобраться мне лучше , чтобы не беспокоить гуру форума в дальнейшем с простецкими вопросами.
Добрый день! Существует проблема с отчетом. Выгружен отчет где все цифры имеют положительные значения. В столбце "J" установлен статус это "Продажа" или "Возврат". Соответственно значения в строках "Продажа" должны иметь исходные значения, а вот в строках "Возврат" необходимо произвести умножения на значения "-1".
При в начальном параметре замена значений или стандартные операции нет возможности добавить условия по строке. Заменить значения нужно только в некоторых колонках (в предоставленном примере выделенные зеленой заливкой) Может у кого есть идеи как это можно сделать. Заранее спасибо за помощь
Ошибка преобразование данных при создании функции в Power Query,, При создании функции поля имеют имеют идентичные типы, однако не понимаю почему идет дополнительное преобразование полей. В результате чего поля принимают значения Error и расчет не производится.
Ошибка преобразование данных при создании функции в Power Query,, При создании функции поля имеют имеют идентичные типы, однако не понимаю почему идет дополнительное преобразование полей. В результате чего поля принимают значения Error и расчет не производится.
написал: Перед функцией сделайте замену null для текстовых полей на "", для числовых полей на 0Ошибка выходит из-за попытки сложить число с null, с тестом также
Ошибка выходит до попытки что то с чем то сложить .
Цитата
написал: asdewq1 , Всё дело в параметрах Вашей функции, если Вы хотите предавать параметры, содержащие null, то используйте ключевое слово nullable. Хотя лично я не очень понимаю зачем Вам эта функция нужна (видимо на её развитие есть планы какие-то) и не рекомендую так поступать, чтобы потом геморроя не нахвататься с преобразованием типов. Например, при сложении Показатель1 с Показатель2 совсем не желаемый результат может получиться.Кодlet SumBonus=(Товар as nullable text, Подробности as nullable text, Показатель0 as nullable number, Показатель1 as nullable number, Показатель2 as nullable number, Показатель3 as nullable number, Показатель4 as nullable number )=>
Ошибка преобразование данных при создании функции в Power Query,, При создании функции поля имеют имеют идентичные типы, однако не понимаю почему идет дополнительное преобразование полей. В результате чего поля принимают значения Error и расчет не производится.
Спасибо !!! Но как выяснилось ,что методом научного тыкв можно сделать многое и самостоятельно нашёл решение. однако все равно очень большое спасибо за помощь . тему прошу закрыть .
Добрый день, форумчане! посмотрев полезные трюки от Николая Павлова решил сделать сборку таблиц в единый файл с помощью power query. И вроде бы все получилось. Таблицу полученную необходимо печатать и при этом ячейки содержат большое количество символов. Я топорным способом в полученный результат из power query в самом excel уменьшил длину строк и сделал перенос слов и все уместил по ширине листа и вроде все хорошо, но при обновлении сбиваются настройки ширины листа и все встаёт на исходные позиции , а это очень сильно удручает. Может подскажите как можно зафиксировать ширину строк в excel ? Искал настройки и ничего не нашёл
Добрый день, уважаемые форумчане подскажите почему power query высчитывает формулу неверно. Есть 6 единиц товара1с общей стоимостью 27,15 usd. При делении данной позиции в power query выдает себестоимость единицы в 4,42, хотя правильное значение 4,525 и согласно правилам математики округление должно производится в сторону 4,53 USD. Если смотреть на расчет в power query до действия округления значения, в столбце Факт с/с расчет 4,52499995, вместо 4,525. Вопрос как это можно исправить чтобы Excel рас читывал верно значения. Заранее благодарю за советы и наставления