Преглед садржаја
Водич објашњава синтаксу и основну употребу функције ЦХООСЕ и пружа неколико нетривијалних примера који показују како се користи формула ЦХООСЕ у Екцел-у.
ЦХООСЕ је један од оних Екцел функције које саме по себи можда неће изгледати корисне, али у комбинацији са другим функцијама дају бројне сјајне предности. На најосновнијем нивоу, користите функцију ЦХООСЕ да бисте добили вредност са листе тако што ћете навести позицију те вредности. Даље у овом водичу, наћи ћете неколико напредних употреба које свакако вреди истражити.
Екцел функција ЦХООСЕ – синтакса и основне употребе
Функција ЦХООСЕ у Екцел-у је дизајниран да врати вредност са листе на основу одређене позиције.
Функција је доступна у Екцел 365, Екцел 2019, Екцел 2016, Екцел 2013, Екцел 2010 и Екцел 2007.
Синтакса функције ЦХООСЕ је следећа:
ОДАБИР (број_индекса, вредност1, [вредност2], …)Где:
Број_индекса (обавезно) - позиција вредности за враћање. То може бити било који број између 1 и 254, референца на ћелију или друга формула.
Вредност1, вредност2, … - листа до 254 вредности од којих можете изабрати. Вредност1 је обавезна, друге вредности су опционе. То могу бити бројеви, текстуалне вредности, референце на ћелије, формуле или дефинисана имена.
Ево примера ЦХООСЕ формуле у најједноставнијем облику:
=CHOOSE(3, "Mike", "Sally", "Amy", "Neal")
Формула враћа „Ејми“ јер индекс_нум је 3, а „Ејми“ је трећа вредност на листи:
Екцел функција ИЗБОР – 3 ствари које треба запамтити!
ЦХООСЕ је врло једноставна функција и тешко да ћете наићи на било какве потешкоће да је имплементирате у своје радне листове. Ако је резултат који је вратила ваша ЦХООСЕ формула неочекиван или није резултат који сте тражили, то може бити из следећих разлога:
- Број вредности које можете изабрати је ограничен на 254.
- Ако је број_индекса мањи од 1 или већи од броја вредности на листи, #ВАЛУЕ! грешка се враћа.
- Ако је аргумент број_индекса разломак, скраћује се на најнижи цео број.
Како се користи функција ЦХООСЕ у Екцел-у - формула примери
Следећи примери показују како ЦХООСЕ може да прошири могућности других Екцел функција и пружи алтернативна решења за неке уобичајене задатке, чак и за оне које многи сматрају неизводљивим.
Екцел ЦХООСЕ уместо угнежђени ИФ
Један од најчешћих задатака у Екцел-у је враћање различитих вредности на основу одређеног услова. У већини случајева, ово се може урадити коришћењем класичне угнежђене ИФ изјаве. Али функција ЦХООСЕ може бити брза и лака за разумевање алтернатива.
Пример 1. Врати различите вредности на основу услова
Претпоставимо да имате колону са резултатима ученика и желите да означите оцене засноване наследећи услови:
Резултат | Скор |
Слабо | 0 - 50 |
Задовољава | 51 - 100 |
Добро | 101 - 150 |
Одлично | преко 151 |
Један од начина да то урадите је да угнездите неколико ИФ формула једна у другу:
=IF(B2>=151, "Excellent", IF(B2>=101, "Good", IF(B2>=51, "Satisfactory", "Poor")))
Други начин је да изаберете ознаку која одговара услову:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent")
Како ова формула функционише:
У аргументу индекс_нум , процењујете сваки услов и враћате ТРУЕ ако је услов испуњен, ФАЛСЕ у супротном. На пример, вредност у ћелији Б2 испуњава прва три услова, тако да добијамо овај средњи резултат:
=CHOOSE(TRUE + TRUE + TRUE + FALSE, "Poor", "Satisfactory", "Good", "Excellent")
С обзиром да је у већини Екцел формула ТРУЕ једнако 1, а ФАЛСЕ 0, наш формула пролази кроз ову трансформацију:
=CHOOSE(1 + 1 + 1 + 0, "Poor", "Satisfactory", "Good", "Excellent")
Након што се изврши операција сабирања, имамо:
=CHOOSE(3, "Poor", "Satisfactory", "Good", "Excellent")
Као резултат, трећа вредност у враћа се листа, што је „Добро“.
Савети:
- Да бисте формулу учинили флексибилнијом, можете да користите референце ћелија уместо чврсто кодираних ознака, на пример:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), $E$1, $E$2, $E$3, $E$4)
- Ако ниједан од ваших услова није ТРУЕ, аргумент индекс_нум ће бити постављен на 0, што приморава вашу формулу да врати #ВАЛУЕ! грешка. Да бисте ово избегли, једноставно умотајте ЦХООСЕ у функцију ИФЕРРОР на следећи начин:
=IFERROR(CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent"), "")
Пример 2. Извршите различите прорачуне на основу услова
На сличан начин, тиможе да користи Екцел функцију ЦХООСЕ да изврши једну калкулацију у низу могућих прорачуна/формула без угнежђења више ИФ исказа један у други.
Као пример, хајде да израчунамо провизију сваког продавца у зависности од њихове продаје:
Провизија | Продаја |
5% | $0 до $50 |
7% | $51 до $100 |
10% | преко $101 |
Са износом продаје у Б2, формула има следећи облик:
=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(RANDBETWEEN(1,4), "Poor", "Satisfactory", "Good", "Excellent")
Логика формуле је очигледна: РАНДБЕТВЕЕН генерише насумичне бројеве од 1 до 4, а ЦХООСЕ враћа одговарајућу вредност са унапред дефинисане листе од четири вредности.
Напомена. РАНДБЕТВЕЕН је променљива функција и она се поново израчунава са свакимпромене које унесете у радни лист. Као резултат, ваша листа насумичних вредности ће се такође променити. Да бисте спречили да се то деси, можете заменити формуле њиховим вредностима коришћењем функције Специјално лепљење .
ОДАБРАЈТЕ формулу да бисте извршили леви преглед
Ако сте икада извршили вертикално тражење у Екцел-у, знате да функција ВЛООКУП може претраживати само у крајњој левој колони. У ситуацијама када треба да вратите вредност лево од колоне за тражење, можете или да користите комбинацију ИНДЕКС / МАТЦХ или преварите ВЛООКУП тако што ћете у њу угнежити функцију ЦХООСЕ. Ево како:
Претпоставимо да имате листу резултата у колони А, имена ученика у колони Б и желите да преузмете резултат одређеног ученика. Пошто је колона за повратак лево од колоне за тражење, обична формула Влоокупа враћа грешку #Н/А:
Да бисте ово поправили, замените функцију ЦХООСЕ позиције колона, говорећи Екцел-у да је колона 1 Б, а колона 2 А:
=CHOOSE({1,2}, B2:B5, A2:A5)
Зато што достављамо низ {1,2} у индекс_нум аргумент, функција ЦХООСЕ прихвата опсеге у аргументима валуе (обично не).
Сада уградите горњу формулу у аргумент табле_арраи аргумента ВЛООКУП:
=VLOOKUP(E1,CHOOSE({1,2}, B2:B5, A2:A5),2,FALSE)
И воила - тражење улево се врши без проблема!
ИЗАБЕРИТЕ формулу за повратак на следећи рад дан
Ако нисте сигурни да литребало би да идете на посао сутра или можете да останете код куће и уживате у заслуженом викенду, Екцел функција ИЗБОР може да сазна када је следећи радни дан.
Под претпоставком да су ваши радни дани од понедељка до петка, формула иде на следећи начин:
=TODAY()+CHOOSE(WEEKDAY(TODAY()),1,1,1,1,1,3,2)
На први поглед шкакљиво, ако боље погледате логику формуле је лако пратити:
ВЕКДАИ (ТОДАИ()) враћа серијски број који одговара данашњем датуму, у распону од 1 (недеља) до 7 (субота). Овај број иде у аргумент индекс_нум наше формуле ЦХООСЕ.
Вредност1 - вредност7 (1,1,1,1,1, 3,2) одредите колико дана треба додати текућем датуму. Ако је данас недеља - четвртак (индекс_број 1 - 5), додајете 1 да бисте вратили следећег дана. Ако је данас петак (индекс_број 6), додајете 3 да бисте се вратили следећег понедељка. Ако је данас субота (индекс_број 7), додајете 2 да бисте се поново вратили следећег понедељка. Да, тако је једноставно :)
ИЗАБЕРИТЕ формулу да вратите прилагођено име дана/месеца од датума
У ситуацијама када желите да добијете име дана у стандардном формату као што је пуно име ( понедељак, уторак, итд.) или кратко име (пон, уто, итд.), можете користити функцију ТЕКСТ као што је објашњено у овом примеру: Добијте дан у недељи од датума у Екцел-у.
Ако желите да вратите назив дана у недељи или месеца у прилагођеном формату, користите функцију ЦХООСЕ на следећи начин.
Да бисте добили дан у недељи:
=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")
Где је А2 ћелија која садржи оригинални датум.
Надам се да вам је овај водич дао неке идеје о како можете да користите функцију ЦХООСЕ у Екцел-у да побољшате своје моделе података. Захваљујем вам што сте читали и надам се да се видимо на нашем блогу следеће недеље!
Преузмите радну свеску за вежбање
Екцел ОДАБИР примере функција