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

29.12.2020      22970

Разработчики 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 на Инфостарте


Автор:
Сергей Кравченко Обозреватель


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

См. также

OpenAI открывает доступ к API GPT-3

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

Компания OpenAI предоставила доступ к API (прикладному программному интерфейсу) алгоритмов обработки естественного языка GPT-3. Это открывает новые возможности для экспериментов с умными системами, которые могут имитировать человеческие возможности – например, писать стихи или отвечать на вопросы.

29.11.2021    4080    user1015646    0       

Компания JetBrains представила легковесный редактор Fleet

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

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

29.11.2021    4432    ЕленаЧерепнева    8       

Разработчики Astra Linux создали аналог Microsoft Active Directory

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

Группа компаний «Астра» представила службу ALD Pro, которая замещает в российской ОС Astra Linux решение Microsoft Active Directory. Поддержку этой функции от системы часто требуют госзаказчики.

29.11.2021    5201    VKuser24342747    1       

Специальный алгоритм очистит данные переписи населения

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

В России завершился первый этап Всероссийской переписи населения. Росстат будет в автоматическом режиме очищать собранные данные от продублированных записей при помощи российской BI-системы.

26.11.2021    4909    VKuser24342747    0       

В офисах Google появились универсальные роботы

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

Офисы Google в Маунтин Вью, штат Калифорния, теперь станут гораздо чище. К уборке привлекли универсальных роботов, разработанных X Company, которая, как и поисковый гигант, входит в состав холдинга Alphabet.

25.11.2021    4742    user1015646    2       

Вышло крупное обновление для TypeScript с автодополнением кода

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

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

24.11.2021    7163    VKuser24342747    4       

GitHub назвал три ключевых тренда в разработке за 2021 год

Новость GitHub Аналитика ИТ-новость

GitHub провел традиционное ежегодное исследование Octoverse, чтобы определить основные направления развития ИТ-индустрии. В 2021 году актуальными стали вопросы быстрого написания кода и подготовки документации.

24.11.2021    6854    VKuser24342747    0       

Рособрнадзор прекратит использовать Windows при проведении ЕГЭ

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

Единый государственный экзамен к концу 2024 года будет проходить без использования ОС Windows во всех местах, где можно сдать тестирование. Вместо нее будет установлена российская система.

23.11.2021    5016    VKuser24342747    5       

Google выпустил версию браузера Chrome 96

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

Новая актуальная версия Google Chrome 96 получила расширение инструментов для веб-разработчиков и экспериментальные функции в мобильной версии.

23.11.2021    4582    VKuser24342747    1       

Через Госуслуги компании подтвердили 13,3 млн корпоративных SIM-карт

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

Министерство цифрового развития сообщило, что компании соблюдают новые требования закона «О связи» и уже зарегистрировали на портале госуслуг 13,3 млн рабочих SIM-карт.

22.11.2021    6833    VKuser24342747    1       

Visual Studio 2022 и .NET 6: что нового

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

Microsoft выпустила свежий релиз одной из самых популярных сред разработки. Вместе с Visual Studio 2022 представили обновленную платформу .NET 6.

22.11.2021    7318    user1015646    0       

Программист разработал поисковую систему без слежки за пользователями

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

Бывший разработчик из компании Salesforce Ричард Сокер открыл публичный доступ к своему поисковому сервису You. В нем нет никаких трекеров личных данных и рекламных материалов.

18.11.2021    5180    VKuser24342747    3       

«Сбер» обучил нейросеть ruGPT-3 генерировать программный код

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

Новая функция самой большой генеративной AI-модели для русского языка получила название JARVIS. Сейчас сервис способен работать с языками программирования Java, Python и JavaScript.

18.11.2021    5217    VKuser24342747    2       

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

Новость Блокчейн ИТ-новость

В России разработан блокчейн InnoChain, который предназначен для использования в закрытых сетях. С его помощью можно подписывать договоры и планировать объемы продаж.

17.11.2021    6009    VKuser24342747    0       

В Dropbox появились «автоматизированные папки» и новая система тегов

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

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

17.11.2021    5204    SKravchenko    1       

Microsoft выпустит платформу Defender for Business

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

Microsoft Defender for Business станет частью комплексного решения Microsoft 365 Business Premium, которое объединяет Microsoft Teams и Office 365 с основными инструментами безопасности для малого и среднего бизнеса.

16.11.2021    3171    SKravchenko    0       

Adobe Photoshop и Illustrator стали доступны онлайн

Новость

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

11.11.2021    4495    user1015646    0       

Что нового в SQL Server 2022

Новость СУБД MS SQL ИТ-новость Новости компаний

Microsoft на ежегодной конференции Microsoft Ignite анонсировала предварительную версию SQL Server 2022 – теперь СУБД включает интеграцию с базой Azure SQL, службой аналитики Azure Synapse Analytics и платформой управления данными Azure Purview.

11.11.2021    9110    SKravchenko    0       

«Сбер» представил нейросеть для генерации картинок по описанию

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

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

11.11.2021    6109    VKuser24342747    10       

Правительство собирается определить главный российский процессор

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

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

10.11.2021    5693    VKuser24342747    4       

Первая стабильная версия Microsoft Edge стала доступна для Linux

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

В репозиториях Linux на портале Microsoft появилась стабильная версия браузера Edge. Пакет под названием microsoft-edge-stable_95 доступен для пользователей Ubuntu, Debian, Fedora и openSUSE.

10.11.2021    5692    VKuser24342747    0       

Microsoft выпустит версию Windows 11 для слабых компьютеров

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

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

08.11.2021    4550    VKuser24342747    3       

Нейросеть GitHub Copilot стала доступна в Neovim и разработках JetBrains

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

Ассистент программиста GitHub Copilot, генерирующий код при помощи ИИ, включен в последние версии редактора кода Neovim, а также в IDE IntelliJ и PyCharm от компании JetBrains.

08.11.2021    7760    VKuser24342747    1       

Правительство совместно с ИТ-компаниями подготовили кодекс этики в сфере ИИ

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

Правительство, «Сбер», «Яндекс», VK и другие российские компании подготовили документ, который содержит рекомендации для бизнеса по морально-этическим вопросам использования ИИ.

03.11.2021    5230    VKuser24342747    8       

Аналитики Gartner назвали 12 наиболее перспективных технологий в 2022 году

Новость Аналитика ИТ-новость

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

03.11.2021    5856    VKuser24342747    2