Якщо вам коли-небудь доводилося копіювати ту саму формулу в сотні рядків у Excel, ви знаєте, наскільки це може бути втомливо. Звичайний підхід, перетягування формул, коригування посилань на комірки та сподівання щось зламати, працює, але це далеко не ефективно. Функція MAP Excel змінює це. Замість того, щоб використовувати формули в одній клітинці, MAP обробляє весь діапазон даних одночасно, щоб зробити ваші електронні таблиці Excel чистішими, а робочий процес – швидшим.
Йдеться не про реорганізацію всього, що ви робите, але це розумний спосіб виконувати повторювані завдання. Тому слід вивчити MAP, якщо ви все ще покладаєтеся на традиційні формули операцій з масивами.
Функція MAP є частиною функцій динамічного масиву Excel, і для її роботи потрібен Excel 365 або Excel 2021 або новішої версії. Якщо у вас старіша версія, ця функція недоступна.
Як працює функція MAP?
MAP та її партнер LAMBDA працюють разом
Функція MAP приймає масив даних і застосовує настроюване обчислення до всього набору даних одночасно. Він використовує такий синтаксис:
=MAP(array, lambda)
Давайте розберемо параметри:
- масив: Це діапазон комірок, який потрібно обробити. Це може бути один стовпець, кілька стовпців або навіть ціла таблиця. MAP округлює кожне значення в цьому діапазоні.
- лямбда: Тут ви визначаєте обліковий запис. Подумайте про це як про маленьку формулу, яка повідомляє MAP, що робити з кожним значенням. Ви створюєте його за допомогою функції LAMBDA Excel, яка дозволяє вам писати формули, як людина, із спеціальною логікою без повторення формул.
Коли ви запускаєте MAP, вона застосовує лямбда-функцію до кожної клітинки масиву та повертає новий набір результатів. Вихід відповідає розміру та формі вашого введення, тому, якщо ви передасте йому 10 рядків, ви повернете 10 результатів.
Що відрізняє MAP від традиційних формул, так це те, що він не покладається на посилання на клітинки, які змінюються під час копіювання. Логіка залишається заблокованою всередині функції, тому немає ризику випадково порушити формулу під час переміщення речей.
Щоб побачити КАРТУ в дії, почніть із простого завдання
Додамо ціну до ціни товару за допомогою формули
Припустимо, у вас є список цін на продукти, і вам потрібно додати 10% до кожної з них. Традиційним способом є написання формули на зразок =B2*1.1 і перетягування її. Однак MAP обробляє це інакше.
Замість того, щоб писати окремі формули, ви створюєте функцію MAP, яка обробляє весь стовпець ціни:
=MAP(B2:B11, LAMBDA(price, price*1.1))
Ось що відбувається: MAP приймає кожне значення в B2:B11 (ваш ціновий діапазон) і передає його у функцію LAMBDA. LAMBDA присвоює кожне значення змінній “ціна”, множить його на 1,1 і повертає результат. Все одним кроком.
Перевагою тут є те, що ви не створюєте кілька формул, а функція MAP автоматично перераховує, якщо ваші дані змінюються.
Ви можете назвати свою змінну LAMBDA як завгодно. Я використав «ціну», тому що це очевидно, але «p» або «x» також підійдуть. Змінна — це лише заповнювач, який представляє кожне значення як масив обробки MAP.
Давайте додамо більше логіки в MAP за допомогою операторів IF
Ви можете опублікувати інші завдання
MAP не обмежується простими розрахунками. Ви можете додати умовні функції Excel у функцію LAMBDA для обробки різних сценаріїв на основі даних.
Припустимо, ви хочете застосувати різні критерії оцінки залежно від ціни. Продукти вартістю 100 доларів США або більше показують 10%, а продукти менші – 15%. Ось як ви це пишете:
=MAP(B2:B11, LAMBDA(price, IF(price>=100, price*1.1, price*1.15)))
Оператор IF перевіряє кожну ціну під час обробки MAP. Якщо ціна становить 100 доларів США або більше, вона буде помножена на 1,1. В іншому випадку він множиться на 1,15.
При необхідності ви можете зібрати більше ставок. Якщо ви хочете додати обчислення податків, застосувати багаторівневі знижки або округлити до певних десяткових знаків, просто вбудуйте логіку у свою функцію LAMBDA. MAP застосовує його до кожного значення в масиві.
MAP обробляє кілька стовпців і безладні текстові дані
Давайте стандартизуємо список імен єдиною формулою
MAP не обмежується операціями з одним стовпцем. Ви можете надати йому кілька масивів і обробляти їх разом в одній функції.
Скажімо, ви хочете обчислити валові продажі шляхом множення ціни та кількості. Замість створення окремого стовпця формули використовуйте MAP для обробки обох:
=MAP(B2:B11, C2:C11, LAMBDA(price, qty, price*qty))
MAP приймає два масиви — B2:B11 (ціни) і C2:C11 (кількості) — і обробляє їх рядок за рядком. Функція LAMBDA приймає обидва значення, множить їх і повертає результат.
Ви також можете використовувати MAP для очищення текстових даних. Якщо ваші назви продуктів не узгоджені (одні написані великими літерами, інші малими або заповнені зайвими пробілами), ви можете стандартизувати все відразу:
=MAP(A2:A11, LAMBDA(text, PROPER(TRIM(text))))
Ця формула видаляє непотрібні пробіли та перетворює назву кожного продукту на відповідний регістр. TRIM видаляє пробіли на початку та в кінці, тоді як PROPER робить першу літеру кожного слова великою. MAP застосовує обидві функції до кожної клітинки в діапазоні одночасно.
MAP – це лише початок
Розширте свій набір інструментів Excel
Коли ви навчитеся працювати з MAP, вам буде легше підібрати інші допоміжні функції LAMBDA, такі як REDUCE, SCAN і BYROW/BYCOL. Усі вони працюють за однаковим принципом — маніпулювання масивами за допомогою власної логіки замість перетягування формул.
Перевагою є не тільки швидкість. Йдеться про створення електронних таблиць, які легше підтримувати. Коли ваша логіка живе всередині функції, ви можете оновити її один раз і побачити зміни всюди. Я рекомендую починати з простих завдань, таких як розмітка, основні обчислення та очищення тексту. Щойно КАРТА клацне, ви побачите можливості використовувати її всюди.