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ки это позволяют, а отредактированные диалоги экселя можно сохранить как файл выгрузки метаданных?
Оставьте свое сообщение

См. также

Нейросеть научили писать код на С и С++

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

Популярной нейросети GPT-2 нашли новое применение. Ее научили генерировать фрагменты кода на С и С++, и даже опытный разработчик не всегда отличит эти листинги от реальных.

сегодня в 11:53    793    user1015646    1       

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

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

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

03.03.2021    1300    SKravchenko    3       

Мэрия Москвы разработала мессенджер для замены Telegram и Skype

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

Российская компания ID Partner совместно с правительством Москвы создала приложение TDM Messenger. Согласно описанию, оно позволяет полностью заменить другие мессенджеры, в том числе Telegram и Skype.

02.03.2021    1719    VKuser24342747    8       

Совсем взрослый стал: Python исполнилось 30 лет

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

Python является самым молодым из наиболее популярных языков программирования. Впрочем, все относительно: на днях Python исполнилось 30 лет.

02.03.2021    922    user1015646    1       

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

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

Свободный эмулятор QEMU получил неофициальную поддержку отечественной архитектуры процессоров «Эльбрус». В разработке реализовано около 80% набора инструкций «Эльбрус-8С».

01.03.2021    1917    VKuser24342747    0       

Российский разработчик создал неофициальную версию Clubhouse для Android

Новость Android ИТ-новость Мессенджеры Мобильные приложения

Бывший разработчик из «ВКонтакте» Григорий Клюшников выпустил приложение для Android, предоставляющее доступ к большинству функций Clubhouse. Официально соцсеть доступна только пользователям iOS.

26.02.2021    2245    VKuser24342747    0       

Масштабное обновление Trello: пять новых видов досок и интеграция с Google Docs

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

Компания Atlassian выпустила масштабное обновление сервиса управления проектами Trello. Разработчики изменили дизайн, добавили пять новых видов досок и реализовали для карточек возможность отображать информацию из сторонних сервисов.

25.02.2021    3966    user1015646    0       

Видеоигра на базе нейросетевого генератора текстов стала бизнес-консультантом

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

Энтузиаст использовал возможности текстового квеста, генерирующего разнообразные миры при помощи нейросети GPT-3, чтобы получать советы по ведению бизнеса. Часть идей ИИ оказалась пригодной для использования.

25.02.2021    2279    VKuser24342747    1       

В ближайшие годы возрастет потребность в персонале центров обработки данных

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

Согласно отчету Uptime Institute, количество сотрудников, необходимых для обеспечения работы ЦОД, вырастет с 2 млн. в 2019 году до 2,3 млн. в 2025 году.

24.02.2021    2203    SKravchenko    0       

Google кардинально изменит дизайн Android 12

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

Компания Google анонсировала глобальное обновление популярной операционной системы Android. Новая версия выйдет под номером 12. Говорят, что Android 12 назовут «Snow cone» – летний десерт из сладкого колотого льда.

24.02.2021    2635    mouse187    0       

Google представила новый сервис для поиска уязвимостей в открытом ПО

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

Компания Google запустила платформу с открытым исходным кодом OSV (Open Source Vulnerabilities). Она создана для поиска и закрытия уязвимостей в свободном ПО.

18.02.2021    1360    user1015646    0       

Отечественная компания представила сервер приложений Java EE

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

Российская компания Bellsoft представила отечественный аналог сервера Oracle и IBM для JavaEE. Раньше продукт на базе открытого кода был доступен только для некоторых клиентов организации.

17.02.2021    2407    VKuser24342747    4       

Rustоманы из Долины: Google, Microsoft, Huawei, Mozilla и AWS основали фонд поддержки языка программирования

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

Rust – перспективный язык, который широко применяется в разработке операционных систем и высоконагруженных веб-сервисов. Rust Foundation будет заниматься поддержкой и развитием языка.

16.02.2021    1649    user1015646    0       

В Microsoft Teams появилась платформа для общения и обучения

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

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

15.02.2021    3215    user1015646    0       

Google рассказала, как защищает Android от взломов

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

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

12.02.2021    1952    SKravchenko    0       

Для регионов разработают приложение онлайн-записи на прием к врачам

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

О возможностях приложения рассказали в Минздраве и Минцифре.

10.02.2021    1961    Senator_I    2       

Google разработает новую мобильную ОС

Новость MobileOS Google ИТ-новость Мобильные приложения

Корпорация Google создаст мобильную операционную систему для повышения безопасности использования устройств. Проект запущен под рабочим названием microdroid.

09.02.2021    2190    user1015646    0       

Google закрывает собственную игровую студию Stadia

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

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

09.02.2021    1567    SKravchenko    0       

Google представила технологию для замены cookies

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

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

09.02.2021    1304    user1015646    0       

Украинская команда FireWay одержала победу в хакатоне NASA Space Apps Challenge 2020

Новость ИТ-новость Стартапы

Украинская команда FireWay из Днепра стала победителем международного хакатона NASA Space Apps Challenge. Их изобретение было описано как «решение, которое демонстрирует наиболее инновационное использование технологии».

05.02.2021    2026    SKravchenko    2       

Китайцы разработали целых две альтернативы Flash

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

Китайцам пришлось разработать собственную технологию ReFla взамен Flash для предотвращения сбоев в работе систем. Также они выпустили доработанную версию Flash Player с кодом 34.0.0.92.

04.02.2021    2171    mouse187    4       

Популярные дистрибутивы Linux могут лишиться поддержки Chromium

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

Из дистрибутивов Arch Linux, Fedora, Debian, Slackware и openSUSE может исчезнуть поддержка браузеров на движке Chromium. Причина – жесткие правила Google, из-за которых возникли проблемы с синхронизацией данных.

03.02.2021    2443    user1015646    3       

Microsoft участвует в разработке цифрового паспорта вакцинации от Covid-19

Новость ИТ-новость Медицина

Крупнейшие корпорации из сектора здравоохранения и ИТ-гиганты, такие как Microsoft, Salesforce и другие, объединились для создания цифровых идентификационных карт, которые подтверждают статус вакцинации против Covid-19.

02.02.2021    1816    capitan    3       

Что нового в Chrome 88: проверка надежности паролей и поддержка профилей

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

Компания Google представила новый релиз браузера Chrome и обновила движок Chromium. Теперь ПО будет предупреждать о небезопасных паролях, а пользователь сможет создать привязанный к учетной записи профиль для персонализации работы в сети.

01.02.2021    2290    user1015646    0       

280 символов для науки: Twitter откроет доступ ученым к архиву твитов

Новость ИТ-новость Соцсети

Twitter предоставит академическим исследователям социальных сетей бесплатный доступ почти ко всем твитам. Исключение площадка сделает только для заблокированных аккаунтов.

29.01.2021    1529    VKuser24342747    1