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

См. также

CES 2021: главные анонсы первой технологической выставки года

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

CES (Consumer Electronics Show) в Лас-Вегасе традиционно открывает год на мировом рынке технологий. Из-за ограничений, связанных с пандемией, выставку провели онлайн, но это не помешало производителям представить интересные новинки.

вчера в 13:50    1322    user1015646    0       

Представлен GitLab 13.7: автооткат при сбоях и улучшенная проверка мердж-реквестов

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

Компания GitLab выпустила новый релиз платформы для работы с Git-репозиториями. В GitLab 13.7 добавили 45 новых функций, в том числе автоматический откат при сбоях и инструмент проверяющих для запросов на слияние.

22.01.2021    1667    user1015646    0       

Red Hat заменит CentOS бесплатной Red Hat Enterprise Linux

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

Red Hat в декабре объявила о прекращении поддержки CentOS 8 в 2021 году. Это вызвало волну негодования среди разработчиков, но теперь всё встало на свои места: компания представила бесплатные версии Red Hat Enterprise Linux для команд.

21.01.2021    1941    user1015646    0       

Российские исследователи представили новый фреймворк для работы с большими данными

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

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

21.01.2021    1473    user1015646    2       

Конец Flash: Adobe стала блокировать динамический контент

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

Компания Adobe блокирует Flash-контент на веб-сайтах, которые используют Flash Player. Разработчик больше не поддерживает устаревшую и небезопасную технологию.

21.01.2021    1528    user1015646    0       

Новая система находит ошибки при разработке ПО в режиме реального времени

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

Специалисты исследовательской группы SOM Research Lab разработали инструмент проверки моделей программного обеспечения, который находит ошибки непосредственно в процессе создания модели, а не после ее завершения.

20.01.2021    2120    user1015646    0       

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

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

Британская компания DeepMind представила новую разработку в сфере искусственного интеллекта. Система MuZero успешно обыгрывает опытных спортсменов и геймеров, даже не зная правил игры.

20.01.2021    1997    user1015646    2       

Тетрис помог повысить заполняемость отелей

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

Алгоритм RoomTetris, разработанный исследователями из LION Laboratory (Learning and Intelligent Optimization) – Лаборатории обучения и интеллектуальной оптимизации, избавит отельеров от овербукинга. Вдохновением для ученых послужила игра «Тетрис».

19.01.2021    1616    user1015646    5       

Нейросеть научили создавать изображения по текстовому описанию

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

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

19.01.2021    1852    user1015646    0       

Разработчики портируют Linux на Mac с процессором M1

Новость Linux Микроэлектроника

Компания Apple представила первые компьютеры на базе процессоров M1 собственной разработки. Разработчик Гектор Мартин решил создать сборку Linux специально для этих компьютеров. 

18.01.2021    1136    user1015646    4       

10 стартапов в области машинного обучения, за которыми стоит следить в 2021 году

Новость Искусственный интеллект Стартапы

По данным Crunchbase, в 2020 году компании, связанные с искусственным интеллектом и машинным обучением, получили рекордное финансирование – 28 млрд долларов. Представляем список из 10 самых перспективных стартапов в этой области.

18.01.2021    1505    SKravchenko    0       

Fujifilm и IBM создали ленточный накопитель с рекордным объемом памяти

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

Fujifilm и IBM повысили емкость ленточных накопителей до рекордных 580 терабайт информации. Это значительно превосходит максимальную емкость SSD – 100 ТБ и жестких дисков – 30 ТБ.

13.01.2021    1446    user-programmist    0       

Эксперты назвали 10 навыков для ИТ-специалистов, которые обеспечат прибавку к зарплате

Новость Автоматизация Аналитика Искусственный интеллект ИТ-новость

Зарплаты в ИТ-сфере – одни из самых высоких, и у специалистов здесь существует масса возможностей для роста. Специалисты компании Burning Glass определили, какими навыками должны обладать сотрудники, нацеленные на максимальную прибавку к зарплате.

12.01.2021    1635    user1015646    2       

Против монополии: Apple получила патент на поисковый алгоритм

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

Apple начала активно разрабатывать собственную поисковую систему. Из-за возможных антимонопольных санкций США против Google компания Тима Кука может лишиться возможности пользоваться сервисами поискового гиганта.

11.01.2021    895    VKuser24342747    0       

FreeBSD перевела репозиторий на Git

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

FreeBSD откажется от использования системы контроля версий Subversion (SVN) и перейдет на Git. Об этом в рассылке объявил разработчик Уорнер Лош.

30.12.2020    1520    user1015646    0       

Вышла бета-версия Go 1.16

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

Предстоящее обновление языка программирования Go 1.16 с открытым исходным кодом включает поддержку процессора Apple, улучшения базовой библиотеки и среды выполнения. Релиз стабильной версии намечается на февраль 2021 года.

30.12.2020    2043    SKravchenko    0       

Microsoft и МТС планируют совместно развивать российский интернет вещей

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

МТС и Microsoft договорились совместно развивать российский интернет вещей путем интеграции платформы для разработки решений интернета вещей Microsoft Azure IoT Central и сети интернета вещей NB-IoT МТС.

28.12.2020    1335    user-programmist    1       

Bloomberg оценил компанию JetBrains в $7 млрд

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

По данным Bloomberg Billionaires Index, стартап JetBrains стоит около 7 млрд. долларов. В отличие от технологических компаний, которые продают акции для поддержки развития, руководители JetBrains не полагаются на средства венчурных капиталистов.

28.12.2020    1447    SKravchenko    0       

Cloudflare станет хостинг-провайдером для статических сайтов JAMstack

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

Cloudflare запустила сервис Pages для создания сайтов при помощи подхода JAMstack. Веб-ресурсы, разработанные при помощи платформы, будут опубликованы в существующей сети провайдера CDN.

25.12.2020    1231    VKuser24342747    0       

GitHub откажется от аутентификации по логину и паролю

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

Крупнейший хостинг репозиториев кода GitHub пересмотрит политику аутентификации. Пароли перестанут поддерживать – их полностью заменят токены и SSH-ключи.

24.12.2020    1394    user1015646    2       

В Telegram появятся платные функции

Новость ИТ-новость Мессенджеры

Основатель Telegram Павел Дуров рассказал о будущем мессенджера. Команда разработчиков планирует внедрить платные функции, чтобы компенсировать расходы на развитие сервиса.

23.12.2020    1709    user1015646    0       

Составлен рейтинг приложений для предустановки на смартфоны и умные ТВ

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

Минцифры опубликовало рейтинг приложений, которые с большой вероятностью будут рекомендованы для предустановки на смартфоны и Smart TV. Самые популярные варианты в различных категориях отобрали из более чем 100 заявок от разработчиков.

23.12.2020    1541    user1015646    4       

Microsoft запатентовала технологию оценки эффективности совещаний

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

Microsoft реализует системы мониторинга сотрудников для оценки производительности организации. Одно из последних решений компании – вычислительная система Meeting Insight от Microsoft, которая способна создать «оценку качества» проведенного совещания.

22.12.2020    2065    capitan    1       

Octoverse 2020: GitHub опубликовал главный отчет года

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

Крупнейший хостинг репозиториев кода GitHub назвал 2020-й «годом экстраординарных изменений». Переход на удаленку повысил продуктивность работы команд и позволил уделять больше времени проектам с открытым исходным кодом.

22.12.2020    2101    user1015646    0       

Автогигант Hyundai купит Boston Dynamics

Новость ИТ-новость Робототехника

Производитель самых известных роботов в мире сменил владельца. Компанию Boston Dynamics приобрел корейский автомобильный концерн Hyundai.

21.12.2020    2051    user1015646    3