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 35 01.01.21 14:36 Сейчас в теме
Но ведь и так можно было делать свои функции макросами на VBA.
maksa2005; catv; +2 Ответить
2. user1503726 01.01.21 14:48 Сейчас в теме
Жаль, что диалоговое окно с модулем или вообще элемент метаданных от 1с нельзя открыть в екселе, или файлы выгрузки конфигурации 8ки это позволяют, а отредактированные диалоги экселя можно сохранить как файл выгрузки метаданных?
Оставьте свое сообщение

См. также

У Google Docs появился российский конкурент

Новость Интернет ИТ-новость

Разработчики офисного пакета «Мой офис» представили бесплатные версии текстового редактора и электронных таблиц. Пользоваться ими можно прямо в браузере.

16.04.2021    1417    user1015646    1       

Microsoft планирует вносить свой вклад в экосистему Java

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

Американская компания представила тестовый бесплатный дистрибутив OpenJDK с открытым исходным кодом. В скором времени ИТ-гигант обещает представить релизную версию продукта.

16.04.2021    849    VKuser24342747    0       

Google Database Migration Service стал доступен для всех

Новость MySQL PostgreSQL Google Интеграция Интернет ИТ-новость

Компания Google открыла всем пользователям бесплатный доступ к сервису Database Migration Service. Это позволит компаниям провести миграцию своих баз из MySQL. PostgreSQL и других платформ в облако Cloud SQL без выделения дополнительных ресурсов.

15.04.2021    2467    user1015646    0       

Российские разработчики представили бесплатный онлайн-редактор кода

Новость Mail.Ru ИТ-новость

Компания Mail.Ru запустила онлайн-сервис для совместной работы с кодом на базе платформы All Cups. Он поддерживает Python, C++, Java и еще шесть популярных языков программирования.

14.04.2021    1675    user1015646    5       

Rust станет одним из основных языков разработки Android

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

С целью уменьшения количества ошибок, связанных с безопасностью памяти, Google объявил, что Android будет поддерживать Rust в низкоуровневом системном коде ОС. Об этом 6 апреля сообщили члены команды разработчиков Android в блоге Google Security.

14.04.2021    1395    SKravchenko    3       

Минпромторг готов выделять по 500 млн рублей в год на разработку ИИ

Новость Искусственный интеллект ИТ-новость Минпромторг Цифровая экономика

Минпромторг подготовил проект постановления для поддержки разработчиков решений на базе ИИ. Компании смогут получить до 3 млрд рублей на пять лет, по 500 млн каждый год.

13.04.2021    918    VKuser24342747    2       

ARM представила новую процессорную архитектуру v9

Новость ИТ-новость Микроэлектроника

Компания ARM разработала инновационную процессорную архитектуру v9. Она обладает масштабным потенциалом и будет использоваться для систем искусственного интеллекта и безопасности, мобильных устройств и специализированных вычислений.

12.04.2021    1042    user1015646    0       

Microsoft разделит ключевые компоненты Windows

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

Модули Windows 10 становятся всё более независимыми. Меню «Пуск» стало отдельным компонентом около двух лет назад. Теперь пришёл черёд отделить панель задач – это должно исправить проблему с зависаниями системы.

09.04.2021    3745    user1015646    0       

Правительство начнет регулировать цифровые экосистемы

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

Правительство готовит концепцию регулирования для быстро развивающихся цифровых экосистем, таких как Сбер, Яндекс, Тинькофф и других. Цель – повысить конкурентоспособность экосистем за рубежом.

08.04.2021    6727    mouse187    1       

Ремонтировать технику Apple в России станет проще

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

Компания Apple расширила программу независимого ремонта своей техники. В список стран, где она теперь доступна, попала и Россия.

08.04.2021    8282    user1015646    0       

Треть пользователей готова избавиться от предустановленного отечественного ПО

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

Компания ESET провела опрос, в котором 29% респондентов заявили о своем желании удалить предустановленные российские приложения со смартфонов, ноутбуков и телевизоров.

07.04.2021    2319    VKuser24342747    2       

Google начала тестировать FLoC – технологию-убийцу cookies в Chrome

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

Google продолжает разрабатывать альтернативу cookie-файлам. Поисковый гигант уже приступил к тестированию технологии, позволяющей хранить данные о пользователе браузера в обезличенном виде.

06.04.2021    5487    VKuser24342747    0       

В России пройдет закрытое тестирование электронной почты с кириллицей в адресах

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

Проект поддержки доменных имен на национальных языках и регистратор доменных имен начали проект по тестированию работы электронной почты с кириллице в адресах.

02.04.2021    2302    Senator_I    1       

Crystal – простой, как Ruby, и «быстрый», как C

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

Вышел первый стабильный релиз языка Crystal. Синтаксис Crystal схож с Ruby, что делает язык легким для чтения и записи и снижает кривую обучения для опытных разработчиков.

02.04.2021    2853    SKravchenko    1       

Платежная система Visa разрешит платежи в криптовалюте

Новость Безопасность Блокчейн ИТ-новость Онлайн-торговля

Крупнейшие поставщики платежных услуг для банковских карт выходят на криптовалютный рынок. Visa вслед за Mastercard сообщила, что начнет поддерживать транзакции в цифровых токенах.

02.04.2021    2231    VKuser24342747    1       

Samsung стала предустанавливать на смартфоны неудаляемые приложения. Яндекс против

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

С 1 апреля в России вступает в силу закон об обязательной предустановке отечественных приложений. Samsung стала инсталлировать ПО Яндекса на свои устройства без возможности удаления. Российский ИТ-гигант призвал производителя не делать этого.

01.04.2021    2548    user1015646    0       

Линус Торвальдс рассказал о том, где Rust впишется в Linux

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

Медленно, но верно язык Rust проникает в Linux. Линус Торвальдс и Грег Кроа-Хартман поделились своим мнением насчет перспектив Rust в Linux.

31.03.2021    2545    SKravchenko    0       

В России создали невидимые этикетки

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

Специалисты из Университета ИТМО и Санкт-Петербургского академического университета представили новую технологию создания этикеток. Она призвана защитить рынок от распространения контрафакта.

30.03.2021    1413    user1015646    8       

Google и Microsoft начали совместную работу над совместимостью браузеров

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

Компании Google, Microsoft и Igalia объявили о запуске совместного проекта Compat2021. С его помощью будет улучшена совместимость браузеров Chrome, Edge, Firefox и Safari.

30.03.2021    1542    VKuser24342747    0       

Представлен Windows Community Toolkit v7.0: что нового

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

Компания Microsoft выпустила новую версию Windows Community Toolkit v7.0. Это коллекция расширений, инструментов помощи и настраиваемых кнопок для разработки UWP- и .NET-приложения для Windows 10.

29.03.2021    7721    user1015646    1       

Google Chrome начнет автоматически добавлять https:// ко всем веб-адресам

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

В новой версии браузера Google Chrome будет отключен редирект с http:// на https://. Веб-обозреватель будет сразу загружать сайт через защищенный протокол, уже ставший стандартом.

29.03.2021    3275    VKuser24342747    0       

Разработчик придумал фейковый язык программирования MOVA, чтобы отсеивать лживые резюме

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

MOVA – язык программирования, который предлагает способ представления независимо изменяющихся объектов без обращения к какой-либо схеме для назначений. Такая парадигма могла бы быть увлекательной, если бы MOVA не был фейком.

26.03.2021    2608    SKravchenko    4       

Фонд свободного программного обеспечения назвал лауреатов премии Free Software Awards 2020

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

Фонд свободного программного обеспечения (FSF) ежегодно вручает награды разработчикам, повлиявшим на развитие open source решений. В этом году премия была присуждена троим номинантам.

25.03.2021    5302    VKuser24342747    0       

В ногу с Apple: Google снизила комиссию с разработчиков приложений

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

Корпорация Google уменьшила комиссию с разработчиков в официальном магазине приложений Google Play с 30% до 15%. Аналогичный шаг в прошлом году сделала Apple.

24.03.2021    1231    user1015646    10       

Apple согласилась предустанавливать российское ПО

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

Минцифры обязало производителей техники устанавливать софт из реестра отечественного ПО на устройства для рынка РФ. Компания Apple ранее выступала резко против этой инициативы, но теперь, похоже, решила пойти на компромисс.

23.03.2021    3863    user1015646    1