Microsoft позволит создавать пользовательские функции в Excel

Microsoft позволит создавать пользовательские функции в Excel

29.12.2020     

Разработчики Microsoft добавили в Excel новую функцию – LAMBDA – для превращения пользовательских формул в многоразовые функции. Пользователи смогут создавать правила для управления данными внутри Excel, так же, как и в любом другом языке – Java, PHP или Python. Разбираемся, для чего нужна новая функция, и как ей пользоваться.

Улучшение Excel как платформы программирования 

Разработчики Microsoft признают: чтобы считаться полноценной платформой для программирования, Excel не хватает ключевых функций. Например, переменных и пользовательских типов данных. 

«Формулы Excel в мире часто применяются в разработке, но при этом в Excel отсутствует один из основных принципов программирования – возможность использовать язык формул для определения ваших собственных функций многократного использования», – заявили в Microsoft. 

«Идея функции LAMBDA заключается в том, что она может получать массив, а не только одно значение. И она может возвращать массив», – пояснил Брайан Джонс, руководитель группы программ Excel. 

«Мы также улучшаем сам синтаксис формул», – добавил Джонс. Иногда действительно встречаются мега-формулы, которые становятся слишком сложными для чтения и использования. С этой проблемой справлялась функция LET для объявления переменных – формулы стали более понятными. Но, как выяснилось, переменные также ускоряют выполнение формул. «То, как написана формула, может сделать ее намного более эффективной», – объяснили в Microsoft.

 

 

Многоразовые пользовательские функции

В работе с формулами в Excel есть сложности. Например, пользователи часто получают сложные формулы, которые многократно используют на листе. Для этого их приходится копировать и вставлять. Повторы и сложные комбинации затрудняют чтение и понимание происходящего, увеличивают риск ошибок и затрудняют их поиск и исправление. 

Новая функция LAMBDA позволит повторно использовать и компоновать пользовательские формулы. В Excel можно будет создавать библиотеки для любых логических элементов, которые планируется использовать несколько раз.

Вот как это выглядит на практике. Можно взять любую формулу, созданную в Excel, заключить ее в функцию LAMBDA и дать ей имя, например, «MYFUNCTION». Затем в любом месте листа можно будет обратиться к MYFUNCTION, повторно используя эту пользовательскую функцию на всем листе.

 

 

Пример многоразовой функции для списка идентификаторов станций, состояние которых закодировано в идентификаторе.

 

Поместите '= LAMBDA' в начало формулы, и она станет функцией, которую вы можете повторно использовать в другом месте рабочего листа, не беспокоясь об изменении ссылок при копировании и вставке формулы.

 

 

Важно, что создать LAMBDA-функцию можно в пользовательском режиме с помощью менеджера имен, вызываемого из панели формул.

 

 

Если позже вы обнаружите ошибку в исходной формуле, вам нужно исправить ее только один раз в LAMBDA, вместо того, чтобы искать каждый раз, когда вы использовали формулу, и вносить одно и то же изменение.

Рекурсия 

До появления функции LAMBDA в Excel пользователь не мог повторить набор логики с динамически определяемым интервалом. Например, для решения рекурсивных уравнений, в которых переменная появляется по обе стороны от знака равенства, в Excel требовалась преднамеренная циклическая ссылка. Этот метод использует итеративные вычисления, но по умолчанию в Excel такой опции не было. Интервал настраивается вручную – тогда Excel выполнит пересчет и имитирует рекурсию, но для языка формул такая работа не свойственна.

Функция LAMBDA решает эту проблему, разрешая вызывать функцию внутри функции. Если вы, например, создаете LAMBDA с именем MYFUNCTION, вы можете вызвать MYFUNCTION в пределах определения MYFUNCTION. 

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

 

Пример функции с именем REPLACECHARS, которая ссылается на себя, позволяя перебирать список удаляемых символов

 

Массивы и типы

Функции Excel также могут принимать типы данных и массивы в качестве аргументов, и возвращать результаты в виде типов данных и массивов. То же относится и к LAMBDA.

Динамические массивы. Вместо того, чтобы передавать в функцию одно значение, можно передавать массив значений, а функции также могут возвращать массивы значений.

Типы данных – значение, хранящееся в ячейке, больше не является просто строкой или числом. Одна ячейка может содержать расширенный тип данных с большим набором свойств.

Синтаксис

= LAMBDA ([параметр1, параметр2,…,] вычисление)

Параметр – это значение, которое передается функции, например ссылка на ячейку, строка или число. LAMBDA допускает до 253 параметров. Это необязательный аргумент.

Вычисление – формула, которую нужно выполнить и вернуть как результат функции. Это должен быть последний аргумент, и он должен возвращать результат. Этот аргумент обязателен.

Интерфейс Excel для программирования

Несмотря на изменения, Excel не получит то, что программисты могли бы признать отладчиком, вроде Microsoft Visual Studio Debugger или Android SDK. А добавление дополнительных формальных конструкций языка программирования не означает превращение Excel в инструмент для опытных разработчиков. Но если раньше сложные функции приходилось писать в Python или JS и «прикручивать» руками к Excel, то сейчас LAMBDA позволит делать то же самое внутри Excel и расширит функционал для продвинутых пользователей.

В настоящее время функция LAMBDA остается в стадии бета-тестирования, и Microsoft еще не указала, когда она станет общедоступна. LAMBDA постепенно развертывается для сборок в бета-канале Office Insider. Тестирование функции будет присутствовать во всех подписках на Office 365 и Microsoft 365, которые включают Excel для Microsoft Windows и Mac.

Приобрести продукты Microsoft 365 на Инфостарте



Источник: https://infostart.ru/journal/news/tekhnologii/microsoft-pozvolit-sozdavat-polzovatelskie-funktsii-v-excel_1354120/
Автор:
Сергей Кравченко Обозреватель


Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. sulfur17 39 01.01.21 14:36 Сейчас в теме
Но ведь и так можно было делать свои функции макросами на VBA.
maksa2005; catv; +2 Ответить
2. user1503726 01.01.21 14:48 Сейчас в теме
Жаль, что диалоговое окно с модулем или вообще элемент метаданных от 1с нельзя открыть в екселе, или файлы выгрузки конфигурации 8ки это позволяют, а отредактированные диалоги экселя можно сохранить как файл выгрузки метаданных?
Оставьте свое сообщение

См. также

Депутаты Госдумы предложили Google и YouTube обсудить исполнение российских законов

Новость Google Законодательство ИТ-новость Новости компаний

Депутаты Госдумы пригласили Google и YouTube 25 октября в формате видеоконференции обсудить соблюдение российского законодательства. ИТ-компании приняли предложение.

вчера в 13:37    1770    VKuser24342747    2       

Разработчик создал язык Ć для написания кода на С, Python и JavaScript одновременно

Новость ИТ-новость Языки программирования

Разработчик из Польши Петр Фусик представил язык программирования Ć. Главная особенность технологии – возможность транслировать написанный код на С, С++, Java, Python и другие языки.

вчера в 11:32    6950    VKuser24342747    1       

Microsoft добавила подсистему Windows для Linux в Microsoft Store

Новость Windows ИТ-новость Новости компаний

Пользователям Windows 11 стала доступна предварительная версия подсистемы Windows для Linux (WSL). Ее можно установить из Microsoft Store.

18.10.2021    3815    SKravchenko    4       

Python вытеснил C с первого места в рейтинге языков программирования за октябрь

Новость ИТ-новость Рейтинг Языки программирования

Python впервые за 20 лет сумел обогнать Java и C по популярности и занять первую строчку в рейтинге TIOBE. Автор языка программирования Гвидо ван Россум поблагодарил сообщество за поддержку.

18.10.2021    3778    VKuser24342747    4       

Google сказал «SOS»: интернет-гигант поддержит новую программу вознаграждений

Новость Google ИТ-новость

Компания Google объявила о поддержке пилотной программы вознаграждений за поиск уязвимостей в софте с открытым исходным кодом. Ее назвали SOS (Secure Open Source, безопасное открытое ПО).

15.10.2021    1720    user1015646    0       

Samsung по ошибке предложил британцам предустановить российское ПО

Новость Импортозамещение ИТ-новость Мобильные приложения Новости компаний

Samsung в описании обновления для пользователей из Великобритании упомянула о том, что на устройства будут предустановлены российские мобильные приложения. Позже компания признала сообщение техническим сбоем.

14.10.2021    2312    VKuser24342747    2       

PostgreSQL 14: встречаем новую версию популярной СУБД с открытым кодом

Новость PostgreSQL ИТ-новость

Разработчики представили крупное обновление СУБД PostgreSQL. В свежей 14-й версии упростили доступ к информации в JSON-формате и добавили поддержку несмежных диапазонов, улучшили производительность и работу с распределенными данными.

13.10.2021    2608    user1015646    1       

Новые возможности Microsoft Office 2021

Новость ИТ-новость Новости компаний

5 октября Microsoft выпустила новую версию офисного пакета приложений Office 2021. Он предназначен для предприятий и пользователей, которые не хотят покупать Office 365, доступный только по подписке.

12.10.2021    6044    SKravchenko    0       

МГУ представил первый национальный стандарт для ИИ и больших данных

Новость Искусственный интеллект ИТ-новость

Национальный центр цифровой экономики МГУ подготовил к публичному обсуждению первую редакцию отечественного стандарта для работы с большими данными и нейросетями.

12.10.2021    3654    VKuser24342747    1       

Минцифры намерено встроить электронную подпись в SIM-карту

Новость ИТ-новость Минкомсвязь Цифровая подпись

Минцифры совместно с ФСБ, провайдерами и научными организациями разрабатывают технологию, которая позволит использовать электронную подпись при помощи стандартной SIM-карты.

11.10.2021    6591    VKuser24342747    2       

Крупнейшие российские ИТ-разработчики объединятся для развития Open Source

Новость Импортозамещение ИТ-новость Цифровая экономика

В Москве прошел форум Russia Open Source Summit. На нем лидеры российской ИТ-отрасли презентовали стратегию развития Open Source до 2024 года и анонсировали создание некоммерческой организации Russian Open Source Foundation.

11.10.2021    8831    ЕленаЧерепнева    2       

Язык программирования Python получил масштабное обновление

Новость ИТ-новость Языки программирования

В официальном блоге Python представлена последняя стабильная версия языка под номером 3.10.0. Из новинок – улучшенное отображение ошибок, поддержка структурного сопоставления и более строгого итерирования.

08.10.2021    10006    VKuser24342747    8       

Microsoft официально выпустила релизную версию Windows 11

Новость Windows ИТ-новость Новости компаний

Бесплатное обновление Windows 10 до одиннадцатой версии доступно для всех владельцев системы. Главные изменения – повышенная безопасность и улучшение дизайна.

07.10.2021    4545    VKuser24342747    7       

Крупное обновление для Ubuntu стало доступно для бета-тестирования

Новость Ubuntu ИТ-новость

Разработчики представили бета-версию Ubuntu 21.10 под названием Impish Indri. Последний раз операционная система получала крупный апдейт весной 2021 года.

05.10.2021    13278    VKuser24342747    4       

Привет, Java 17: что нового

Новость ИТ-новость Языки программирования

Вышла новая версия Java 17. Три ключевых изменения: использование только строгой семантики чисел с плавающей точкой, единый API (прикладной программный интерфейс) для генераторов псевдослучайных чисел и отдельный API сторонних функций и памяти.

04.10.2021    8826    user1015646    0       

Исследователи нашли способ передавать данные через полое оптоволокно

Новость Интернет ИТ-новость Телекоммуникации

Британская компания BT заявила о создании пустотелого оптического волокна, заполненного воздухом. Технология может применяться для передачи данных, в том числе использующих квантовое шифрование.

04.10.2021    6595    VKuser24342747    2       

С 2023 года Google Chrome переходит на платформу Manifest V3. Старые расширения перестанут работать

Новость Google Безопасность Интернет ИТ-новость

Google объявил о переходе на новую платформу для расширений в Chrome – Manifest v3. Разработчики расширений опасаются, что блокировщики рекламы не смогут работать с новой версией платформы.

04.10.2021    2869    SKravchenko    4       

Yandex.Cloud выйдет на рынок Европы с сервисом виртуальных рабочих столов

Новость ИТ-новость Яндекс

В следующем году «Яндекс» планирует открыть представительство в Германии. Филиал российской компании будет продвигать на европейском рынке набор сервисов Yandex.Cloud.

01.10.2021    11903    VKuser24342747    4       

OpenAI научила нейросеть кратко пересказывать содержимое книг

Новость Искусственный интеллект ИТ-новость

OpenAI представила инструмент, который генерирует краткое содержание книг при помощи машинного обучения. Нейросеть способна ужать произведение из тысяч слов до нескольких сотен.

30.09.2021    13984    VKuser24342747    2       

Microsoft предложила установить финальную версию Windows 11 на неделю раньше

Новость Windows ИТ-новость

Официальная дата релиза Windows 11 – 5 октября 2021 года. Однако Microsoft открыла доступ к обновлению ОС уже сейчас через канал тестирования Release Preview.

27.09.2021    5152    VKuser24342747    6       

JetBrains открыла ранний доступ к новой IDE для Data Science

Новость ИТ-новость Новости компаний

7 сентября JetBrains разместила в своем блоге статью с информацией о том, что новая IDE DataSpell, которая с марта 2021 года находилась в закрытом тестировании по программе раннего доступа (EAP), становится доступной для всех желающих.

24.09.2021    16169    capitan    4       

Microsoft предлагает отказаться от паролей в пользу сервиса Authentication

Новость Безопасность Интернет ИТ-новость Новости компаний

Microsoft видит проблему в стандартных паролях, которые зачастую повторяются и имеют низкую надежность. В компании убеждены, что альтернативные способы аутентификации более безопасны.

24.09.2021    3526    VKuser24342747    3       

Правительство утвердило разработку российского аналога GitHub

Новость ИТ-новость Цифровая экономика

Премьер-министр Михаил Мишустин на форуме Kazan Digital Week анонсировал создание отечественного репозитория, аналогичного GitHub. Проект реализуется в рамках второго пакета поддержки ИТ.

22.09.2021    7157    VKuser24342747    25       

Microsoft присоединилась к Open Infrastructure Foundation для развития облаков

Новость ИТ-новость Новости компаний Облачные технологии

Microsoft стала платиновым членом организации Open Infrastructure Foundation. Компания будет представлять интересы своих телекоммуникационных клиентов в OpenStack.

15.09.2021    7049    VKuser24342747    0       

Microsoft разрешит устанавливать Windows 11 на старые компьютеры

Новость Windows ИТ-новость Новости компаний

Microsoft пересмотрела правила установки Windows 11, которые не позволяли использовать ОС на компьютерах, не соответствующих системным требованиям. Для инсталляции придется создать загрузочный диск.

14.09.2021    5245    VKuser24342747    0