LET: Съхранение на променливи във формулите на Excel - Съвети за Excel

Формулите в Excel вече са език за програмиране. Когато изграждате модел в Excel, по същество пишете програма за изчисляване на набор от изходи от набор от входове. Екипът на Calc Redmond работи по няколко подобрения на езика на формулата на Excel, за да направи Excel по-скоро като език за програмиране. Първата от тях, функцията LET вече е в бета версия. Всеки, който се включи в Insider Fast канала на Office 365, трябва да има достъп до LET.

Понякога изграждате формула, която трябва отново и отново да се отнася до едно и също изчисление. Функцията LET ви позволява да дефинирате променлива и изчислението за тази променлива. Вашето изчисление може да съдържа до 126 променливи. Всяка променлива може да използва повторно изчисленията в предишните променливи. Последният аргумент във функцията LET е формула, която връща стойност (или масив) в клетката. Тази окончателна формула ще се отнася до променливи, дефинирани по-рано във функцията LET.

Това е най-лесно да се види дали ще ви покажа пример. Намерих произволно формула, публикувана на борда за съобщения през 2010 г. Тази формула от член Special-K99 е предназначена да намери следващата до последната дума във фраза.

Ако трябваше да изградя оригиналната формула стъпка по стъпка, щях да я изградя на стъпки.

  • Стъпка 1: В B4 вземете TRIM на оригиналната фраза, за да се отървете от повтарящите се интервали.

    TRIM функция за премахване на повтарящи се интервали.
  • Стъпка 2: Разберете колко думи са в B4, като сравните LEN на изрязания текст с дължината на изрязания текст след премахване на интервали със SUBSTITUTE. Във фразата от четири думи има три интервала. В текущия проблем искате да намерите втората дума, следователно минусът в края на тази формула.

    Функциите LEN и SUBSTITUTE за преброяване на думи
  • Стъпка 3: Добавете карат (^) преди желаната дума. Това отново използва SUBSTITUTE, но използва третия аргумент в SUBSTITUTE, за да намери второто пространство. Това не винаги ще бъде второто пространство. Трябва да използвате резултата от стъпка 2 като трети аргумент в стъпка 3.

    Използване на карат в ЗАМЕСТИТЕЛ
  • Стъпка 4: Изолирайте всички думи след карата, като използвате MID и FIND.

    Изолирайте всички думи след карата, като използвате MID и FIND
  • Стъпка 5: Изолирайте следващата до последната дума, като използвате MID и FIND отново.

    Изолирайте следващата до последната дума, като използвате MID и FIND

Когато се разбият на малки изчисления, както е показано по-горе, много хора могат да следват логиката на изчислението. Често изграждам формули, използвайки метода, показан по-горе.

Но не искам да заемам пет колони за една формула, затова започвам да консолидирам тези пет формули в една формула. Формулата във F4 използва Е4 два пъти. Копирайте всичко в лентата с формули за E4 след знака за равенство. Използвайте Paste, за да замените E4 и на двете места. Продължете да заменяте препратките към клетки с техните формули, докато единственото нещо, на което се позовава крайната формула, е клетка A4. В този момент имате безумно дълга формула:

Много дълга формула на Excel

Защо това е толкова объркващо? Как пет формули със средна дължина от 24 знака се превърнаха в формула от 370 знака? Това е така, защото простата формула в B4 е посочена общо 12 пъти в крайната формула. Ако не сте съхранили = TRIM (A4) в клетка B4, тогава в крайна сметка въвеждате TRIM (A4) дванадесет пъти в крайната формула.

Ето колко пъти се използва всяка от под-формулите в крайната формула.

Под-формулите се броят в крайната формула

НЕКА да спасим

Функцията LET ви позволява да дефинирате променливи веднъж във формулата и да ги използвате повторно по-късно във формулата. На фигурата по-долу са дефинирани четири променливи в дефинициите на променливите, преди окончателното изчисление да върне последната дума.

LET функция за дефиниране на променливи

Изглежда, че най-добрата практика тук е да се използва Alt + Enter след всяка дефиниция на променлива във формулата. Въпреки че формулите ви могат да бъдат A, B, C и D, не боли да използвате значими имена на променливи, точно както бихте направили на всеки език за програмиране.

Забележете на фигурата по-горе, че след дефиниране на TRIMTEXT като = TRIM (A4), променливата TRIMTEXT се използва повторно в дефиницията за WhichSpace и CaratText.

Гледам видео

Можете да гледате стъпките за комбиниране на под-формулите в мегаформулата и във функцията LET тук:

При други тестове формулата LET изчислява около 65% по-бързо от подобната мегаформула.

Интересни статии...