Spis treści
Samouczek wyjaśnia składnię i podstawowe zastosowania funkcji CHOOSE oraz podaje kilka nietrywialnych przykładów pokazujących, jak używać formuły CHOOSE w Excelu.
CHOOSE to jedna z tych funkcji Excela, które same w sobie mogą nie wyglądać na przydatne, ale w połączeniu z innymi funkcjami dają szereg niesamowitych korzyści. Na najbardziej podstawowym poziomie używasz funkcji CHOOSE do uzyskania wartości z listy poprzez określenie pozycji tej wartości. W dalszej części tego tutoriala znajdziesz kilka zaawansowanych zastosowań, które z pewnością warto poznać.
Funkcja CHOOSE w Excelu - składnia i podstawowe zastosowania
Funkcja CHOOSE w Excelu ma za zadanie zwrócić wartość z listy na podstawie określonej pozycji.
Funkcja jest dostępna w programach Excel 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010 i Excel 2007.
Składnia funkcji CHOOSE jest następująca:
CHOOSE(indeks_num, wartość1, [wartość2], ...)Gdzie:
Indeks_num (wymagane) - pozycja wartości do zwrócenia. Może to być dowolna liczba z przedziału od 1 do 254, odwołanie do komórki lub inna formuła.
Wartość1, wartość2, ... - lista maksymalnie 254 wartości do wyboru. Wartość1 jest wymagana, pozostałe wartości są opcjonalne. Mogą to być liczby, wartości tekstowe, odwołania do komórek, formuły lub zdefiniowane nazwy.
Oto przykład formuły CHOOSE w najprostszej postaci:
=CHOOSE(3, "Mike", "Sally", "Amy", "Neal")
Formuła zwraca "Amy", ponieważ. indeks_num wynosi 3, a "Amy" jest trzecią wartością na liście:
Funkcja CHOOSE w Excelu - 3 rzeczy, o których warto pamiętać!
CHOOSE jest bardzo prostą funkcją i raczej nie napotkasz żadnych trudności przy jej implementacji w swoich arkuszach. Jeśli wynik zwrócony przez Twoją formułę CHOOSE jest nieoczekiwany lub nie jest to wynik, którego szukałeś, może to być spowodowane następującymi przyczynami:
- Liczba wartości do wyboru jest ograniczona do 254.
- Jeśli indeks_num jest mniejsza niż 1 lub większa niż liczba wartości na liście, zwracany jest błąd #VALUE!
- Jeśli indeks_num argument jest ułamkiem, jest on obcinany do najmniejszej liczby całkowitej.
Jak używać funkcji CHOOSE w Excelu - przykłady formuł
Poniższe przykłady pokazują, jak CHOOSE może rozszerzyć możliwości innych funkcji Excela i zapewnić alternatywne rozwiązania niektórych typowych zadań, nawet tych, które przez wielu uważane są za niewykonalne.
Excel CHOOSE zamiast zagnieżdżonych JEŻELI
Jednym z najczęstszych zadań w Excelu jest zwracanie różnych wartości na podstawie określonego warunku. W większości przypadków można to zrobić za pomocą klasycznej zagnieżdżonej instrukcji IF. Ale funkcja CHOOSE może być szybką i łatwą do zrozumienia alternatywą.
Przykład 1. Zwróć różne wartości w zależności od warunku
Załóżmy, że masz kolumnę wyników uczniów i chcesz oznaczyć wyniki na podstawie następujących warunków:
Wynik | Wynik |
Słaba | 0 - 50 |
Zadowalający | 51 - 100 |
Dobra | 101 - 150 |
Doskonale | ponad 151 |
Jednym ze sposobów na to jest zagnieżdżenie kilku formuł IF wewnątrz siebie:
=IF(B2>=151, "Doskonały", IF(B2>=101, "Dobry", IF(B2>=51, "Zadowalający", "Słaby"))
Innym sposobem jest wybór etykiety odpowiadającej danemu warunkowi:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Słaby", "Zadowalający", "Dobry", "Doskonały")
Jak działa ta formuła:
W indeks_num Na przykład wartość w komórce B2 spełnia trzy pierwsze warunki, więc otrzymujemy wynik pośredni:
=CHOOSE(TRUE + TRUE + TRUE + FALSE, "Poor", "Satisfactory", "Good", "Excellent")
Biorąc pod uwagę, że w większości formuł Excela TRUE równa się 1, a FALSE - 0, nasza formuła ulega takiej transformacji:
=CHOOSE(1 + 1 + 1 + 0, "Poor", "Satisfactory", "Good", "Excellent")
Po wykonaniu operacji dodawania mamy:
=CHOOSE(3, "Poor", "Satisfactory", "Good", "Excellent")
W efekcie zwracana jest 3 wartość z listy, czyli "Good".
Wskazówki:
- Aby uczynić formułę bardziej elastyczną, możesz na przykład użyć odwołań do komórek zamiast etykiet hardcoded:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), $E$1, $E$2, $E$3, $E$4)
- Jeśli żaden z twoich warunków nie jest TRUE, to indeks_num argument zostanie ustawiony na 0, zmuszając twoją formułę do zwrócenia błędu #VALUE! Aby tego uniknąć, po prostu zawiń CHOOSE w funkcję IFERROR, jak poniżej:
=IFERROR(CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent"), "")
Przykład 2. Wykonywanie różnych obliczeń w zależności od warunków
W podobny sposób można użyć funkcji WYBIERZ w Excelu, aby wykonać jedno obliczenie z serii możliwych obliczeń/formuł bez zagnieżdżania wielu instrukcji IF wewnątrz siebie.
Jako przykład, obliczmy prowizję każdego sprzedawcy w zależności od jego sprzedaży:
Komisja | Sprzedaż |
5% | 0$ do 50$ |
7% | 51$ do 100$ |
10% | ponad 101 dolarów |
Mając kwotę sprzedaży w B2, formuła przyjmuje następujący kształt:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*5%, B2*7%, B2*10%)
Zamiast twardego kodowania procentów w formule, możesz odwołać się do odpowiedniej komórki w tabeli referencyjnej, jeśli istnieje. Pamiętaj tylko, aby naprawić odniesienia za pomocą znaku $.
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*$E$2, B2*$E$3, B2*$E$4)
Formuła CHOOSE w Excelu do generowania losowych danych
Jak zapewne wiesz, Microsoft Excel posiada specjalną funkcję do generowania losowych liczb całkowitych pomiędzy dolną i górną liczbą, którą podasz - funkcję RANDBETWEEN.Zagnieżdż ją w indeks_num argument CHOOSE, a twoja formuła wygeneruje prawie dowolne losowe dane, które chcesz.
Na przykład ta formuła może wytworzyć listę losowych wyników egzaminów:
=CHOOSE(RANDBETWEEN(1,4), "Poor", "Satisfactory", "Good", "Excellent")
Logika formuły jest oczywista: RANDBETWEEN generuje liczby losowe od 1 do 4, a CHOOSE zwraca odpowiednią wartość z wcześniej zdefiniowanej listy czterech wartości.
Uwaga. RANDBETWEEN jest funkcją zmienną i przelicza się przy każdej zmianie w arkuszu. W rezultacie zmieni się również lista wartości losowych. Aby temu zapobiec, można zastąpić formuły ich wartościami, używając opcji Wklej Specjalnie funkcja.
Wybierz formułę, aby wykonać lewe Vlookup
Jeśli kiedykolwiek wykonałeś pionowy lookup w Excelu, wiesz, że funkcja VLOOKUP może wyszukiwać tylko w kolumnie po lewej stronie. W sytuacjach, gdy potrzebujesz zwrócić wartość na lewo od kolumny lookup, możesz użyć kombinacji INDEX / MATCH lub oszukać VLOOKUP, zagnieżdżając w nim funkcję CHOOSE.Oto jak:
Załóżmy, że masz listę wyników w kolumnie A, nazwiska studentów w kolumnie B i chcesz pobrać wynik konkretnego studenta. Ponieważ kolumna zwrotna znajduje się po lewej stronie kolumny lookup, zwykła formuła Vlookup zwraca błąd #N/A:
Aby to naprawić, uzyskaj funkcję CHOOSE, aby zamienić pozycje kolumn, mówiąc Excelowi, że kolumna 1 to B, a kolumna 2 to A:
=CHOOSE({1,2}, B2:B5, A2:A5)
Ponieważ dostarczamy tablicę {1,2} w indeks_num Funkcja CHOOSE przyjmuje zakresy w argumentach wartość argumenty (normalnie nie ma).
Teraz osadzamy powyższą formułę w tablica argument VLOOKUP:
=VLOOKUP(E1,CHOOSE({1,2}, B2:B5, A2:A5),2,FALSE)
I voilà - lookup w lewo jest wykonywany bez problemu!
WYBIERZ formułę do zwrotu w następnym dniu roboczym
Jeśli nie jesteś pewien, czy powinieneś iść jutro do pracy, czy też możesz zostać w domu i cieszyć się zasłużonym weekendem, funkcja CHOOSE w Excelu może dowiedzieć się, kiedy jest następny dzień roboczy.
Zakładając, że twoje dni robocze są od poniedziałku do piątku, formuła przebiega następująco:
=TODAY()+CHOOSE(WEEKDAY(TODAY()),1,1,1,1,3,2)
Na pierwszy rzut oka skomplikowane, po bliższym przyjrzeniu się logika formuły jest łatwa do naśladowania:
WEEKDAY(TODAY()) zwraca numer seryjny odpowiadający dzisiejszej dacie, z zakresu od 1 (niedziela) do 7 (sobota). Numer ten trafia do indeks_num argument naszej formuły CHOOSE.
Wartość1 - wartość7 (1,1,1,1,3,2) określają ile dni dodać do bieżącej daty.Jeśli dziś jest niedziela - czwartek (index_num 1 - 5), to dodajesz 1, aby powrócić następnego dnia.Jeśli dziś jest piątek (index_num 6), to dodajesz 3, aby powrócić w następny poniedziałek.Jeśli dziś jest sobota (index_num 7), to dodajesz 2, aby powrócić ponownie w następny poniedziałek.Yep, to takie proste :)
CHOOSE formuła zwracająca niestandardową nazwę dnia/miesiąca z daty
W sytuacjach, gdy chcesz uzyskać nazwę dnia w standardowym formacie, takim jak pełna nazwa (poniedziałek, wtorek itd.) lub nazwa skrócona (poniedziałek, wtorek itd.), możesz użyć funkcji TEXT, jak wyjaśniono w tym przykładzie: Uzyskaj dzień tygodnia z daty w programie Excel.
Jeśli chcesz zwrócić dzień tygodnia lub nazwę miesiąca w niestandardowym formacie, użyj funkcji CHOOSE w następujący sposób.
Aby uzyskać dzień tygodnia:
=CHOOSE(WEEKDAY(A2),"Su","Mo","Tu","We","Th","Fr","Sa")
Aby uzyskać miesiąc:
=CHOOSE(MONTH(A2), "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
Gdzie A2 to komórka zawierająca oryginalną datę.
Mam nadzieję, że ten tutorial dał Ci kilka pomysłów na to, jak możesz wykorzystać funkcję CHOOSE w Excelu, aby wzbogacić swoje modele danych. Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu w przyszłym tygodniu!
Pobierz zeszyt ćwiczeń
Przykłady funkcji CHOOSE w Excelu