Функция CHOOSE в Excel с примери за формули

  • Споделя Това
Michael Brown

В урока са обяснени синтаксисът и основните употреби на функцията CHOOSE и са дадени няколко нетривиални примера за използване на формула CHOOSE в Excel.

CHOOSE е една от онези функции на Excel, които може да не изглеждат полезни сами по себе си, но в комбинация с други функции дават редица страхотни предимства. На най-основно ниво използвате функцията CHOOSE, за да получите стойност от списък, като посочите позицията на тази стойност. По-нататък в този урок ще намерите няколко разширени приложения, които със сигурност си струва да бъдат разгледани.

    Функция CHOOSE на Excel - синтаксис и основни приложения

    Функцията CHOOSE в Excel е предназначена за връщане на стойност от списъка въз основа на зададена позиция.

    Функцията е налична в Excel 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010 и Excel 2007.

    Синтаксисът на функцията CHOOSE е следният:

    CHOOSE(index_num, value1, [value2], ...)

    Къде:

    Index_num (задължително) - позицията на стойността, която трябва да се върне. Тя може да бъде произволно число между 1 и 254, препратка към клетка или друга формула.

    Стойност1, стойност2, ... - списък с до 254 стойности, от които да изберете. Стойност1 е задължителна, другите стойности не са задължителни. Те могат да бъдат числа, текстови стойности, препратки към клетки, формули или дефинирани имена.

    Ето един пример за формула CHOOSE в най-прост вид:

    =CHOOSE(3, "Mike", "Sally", "Amy", "Neal")

    Формулата връща "Amy", защото index_num е 3 и "Amy" е третата стойност в списъка:

    Функцията CHOOSE на Excel - 3 неща, които трябва да запомните!

    CHOOSE е много проста функция и едва ли ще срещнете трудности при прилагането ѝ в работните си листове. Ако резултатът, върнат от формулата CHOOSE, е неочакван или не е резултатът, който сте търсили, това може да се дължи на следните причини:

    1. Броят на стойностите, от които можете да избирате, е ограничен до 254.
    2. Ако index_num е по-малка от 1 или по-голяма от броя на стойностите в списъка, се връща грешка #VALUE!.
    3. Ако index_num аргумент е дроб, той се съкращава до най-малкото цяло число.

    Как да използвате функцията CHOOSE в Excel - примери за формули

    Следващите примери показват как CHOOSE може да разшири възможностите на други функции на Excel и да предостави алтернативни решения на някои често срещани задачи, дори на такива, които се смятат за неизпълними от мнозина.

    Excel CHOOSE вместо вложени IFs

    Една от най-често срещаните задачи в Excel е да се връщат различни стойности въз основа на определено условие. В повечето случаи това може да се направи с помощта на класическа вложена декларация IF. Но функцията CHOOSE може да бъде бърза и лесна за разбиране алтернатива.

    Пример 1. Връщане на различни стойности въз основа на условие

    Да предположим, че имате колона с оценки на ученици и искате да поставите етикети на оценките въз основа на следните условия:

    Резултат Резултат
    Беден 0 - 50
    Задоволително 51 - 100
    Добър 101 - 150
    Отличен над 151

    Един от начините да направите това е да вложите няколко формули IF една в друга:

    =IF(B2>=151, "Отличен", IF(B2>=101, "Добър", IF(B2>=51, "Задоволителен", "Лош"))

    Друг начин е да се избере етикет, съответстващ на условието:

    =CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent")

    Как работи тази формула:

    В index_num аргумент, оценявате всяко условие и връщате TRUE, ако условието е изпълнено, и FALSE в противен случай. Например стойността в клетка B2 отговаря на първите три условия, така че получаваме този междинен резултат:

    =CHOOSE(TRUE + TRUE + TRUE + FALSE, "Poor", "Satisfactory", "Good", "Excellent")

    Като се има предвид, че в повечето формули на Excel TRUE се равнява на 1, а FALSE - на 0, нашата формула претърпява тази трансформация:

    =CHOOSE(1 + 1 + 1 + 0, "Слаб", "Задоволителен", "Добър", "Отличен")

    След извършване на операцията събиране получаваме:

    =CHOOSE(3, "Слаб", "Задоволителен", "Добър", "Отличен")

    В резултат на това се връща третата стойност в списъка, която е "Good".

    Съвети:

    • За да направите формулата по-гъвкава, можете да използвате препратки към клетките вместо твърдо кодирани етикети, например:

      =CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), $E$1, $E$2, $E$3, $E$4)

    • Ако нито едно от условията ви не е вярно, index_num аргументът ще бъде зададен на 0, което ще принуди формулата ви да върне грешката #VALUE! За да избегнете това, просто обвийте CHOOSE във функцията IFERROR по следния начин:

      =IFERROR(CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent"), "")

    Пример 2. Извършване на различни изчисления в зависимост от състоянието

    По подобен начин можете да използвате функцията CHOOSE на Excel, за да извършите едно изчисление от поредица от възможни изчисления/формули, без да вмъквате множество оператори IF един в друг.

    Като пример, нека изчислим комисионата на всеки продавач в зависимост от продажбите му:

    Комисия Продажби
    5% $0 до $50
    7% $51 до $100
    10% над 101 долара

    С размера на продажбите в B2 формулата придобива следната форма:

    =CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*5%, B2*7%, B2*10%)

    Вместо да кодирате твърдо процентите във формулата, можете да направите препратка към съответната клетка в референтната таблица, ако има такава. Само не забравяйте да фиксирате препратките, като използвате знака $.

    =CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*$E$2, B2*$E$3, B2*$E$4)

    Формула CHOOSE на Excel за генериране на случайни данни

    Както вероятно знаете, Microsoft Excel има специална функция за генериране на случайни цели числа между долните и горните числа, които сте посочили - функцията RANDBETWEEN. index_num и формулата ви ще генерира почти всички произволни данни, които искате.

    Например тази формула може да създаде списък със случайни резултати от изпити:

    =CHOOSE(RANDBETWEEN(1,4), "Poor", "Satisfactory", "Good", "Excellent")

    Логиката на формулата е очевидна: RANDBETWEEN генерира случайни числа от 1 до 4, а CHOOSE връща съответната стойност от предварително зададения списък с четири стойности.

    Забележка: RANDBETWEEN е променлива функция и се преизчислява при всяка промяна в работния лист. В резултат на това списъкът ви със случайни стойности също ще се промени. За да предотвратите това, можете да замените формулите с техните стойности, като използвате Специално вмъкване функция.

    ИЗБИРАНЕ на формула за извършване на ляво Vlookup

    Ако някога сте извършвали вертикално търсене в Excel, знаете, че функцията VLOOKUP може да търси само в най-лявата колона. В случаите, когато трябва да върнете стойност вляво от колоната за търсене, можете да използвате комбинацията INDEX / MATCH или да измамите VLOOKUP, като вложите в нея функцията CHOOSE:

    Да предположим, че имате списък с резултати в колона А, имена на ученици в колона Б и искате да извлечете резултата на конкретен ученик. Тъй като колоната за връщане е вляво от колоната за търсене, обикновената формула Vlookup връща грешка #N/A:

    За да поправите това, използвайте функцията CHOOSE, за да размените позициите на колоните, като кажете на Excel, че колона 1 е B, а колона 2 е A:

    =ИЗБЕРИ({1,2}, B2:B5, A2:A5)

    Тъй като предоставяме масив от {1,2} в index_num аргумент, функцията CHOOSE приема диапазони в стойност аргументи (обикновено това не се случва).

    Сега вградете горната формула в table_array аргумент на VLOOKUP:

    =VLOOKUP(E1,CHOOSE({1,2}, B2:B5, A2:A5),2,FALSE)

    И воала - търсенето вляво се извършва безпроблемно!

    ИЗБЕРЕТЕ формула за връщане на следващия работен ден

    Ако не сте сигурни дали утре трябва да отидете на работа, или да си останете вкъщи и да се насладите на заслужения уикенд, функцията CHOOSE на Excel може да открие кога е следващият работен ден.

    Ако приемем, че работните ви дни са от понеделник до петък, формулата е следната:

    =ДНЕС()+ИЗБОР(РАБОТЕН ДЕН(ДНЕС()),1,1,1,1,1,1,3,2)

    На пръв поглед сложна, но при по-внимателно вглеждане логиката на формулата е лесна за следване:

    WEEKDAY(TODAY()) връща сериен номер, съответстващ на днешната дата, от 1 (неделя) до 7 (събота). Този номер отива в index_num аргумент на нашата формула CHOOSE.

    Стойност1 - стойност7 (1,1,1,1,1,1,3,2) определят колко дни да се добавят към текущата дата. Ако днес е неделя - четвъртък (index_num 1 - 5), добавяте 1, за да се върнете следващия ден. Ако днес е петък (index_num 6), добавяте 3, за да се върнете следващия понеделник. Ако днес е събота (index_num 7), добавяте 2, за да се върнете отново следващия понеделник. Да, толкова е просто :)

    Формула CHOOSE за връщане на потребителско име на ден/месец от дата

    В ситуации, когато искате да получите име на ден в стандартен формат, като например пълно име (понеделник, вторник и т.н.) или кратко име (понеделник, вторник и т.н.), можете да използвате функцията TEXT, както е обяснено в този пример: Get day of week from date in Excel.

    Ако искате да върнете име на ден от седмицата или месец в потребителски формат, използвайте функцията CHOOSE по следния начин.

    За да получите ден от седмицата:

    =CHOOSE(WEEKDAY(A2),"Su","Mo","Tu","We","Th","Fr","Sa")

    За да получите един месец:

    =CHOOSE(MONTH(A2), "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")

    Където A2 е клетката, съдържаща оригиналната дата.

    Надявам се, че този урок ви е дал някои идеи за това как можете да използвате функцията CHOOSE в Excel, за да подобрите моделите си на данни. Благодаря ви, че прочетохте, и се надявам да се видим в нашия блог следващата седмица!

    Изтегляне на работна тетрадка за практика

    Примери за функцията CHOOSE на Excel

    Майкъл Браун е отдаден технологичен ентусиаст със страст към опростяване на сложни процеси с помощта на софтуерни инструменти. С повече от десетилетие опит в технологичната индустрия, той е усъвършенствал уменията си в Microsoft Excel и Outlook, както и в Google Sheets и Docs. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.