Z jakiegoś powodu, jeśli chcesz wykonać jakąś operację na zakresie z określonymi indeksami, pomyślisz o użyciu funkcji INDEX do uzyskania tablicy wartości o określonych indeksach. Lubię to.
Zrozummy to na przykładzie.
Tutaj mam kolumnę Oceń. Chcę zsumować wartości na pozycjach 1,3 i 5. Piszę tę formułę w C2.
=SUMA(INDEKS(A2:A11;{1,3,5}))
Co zaskakujące, funkcja INDEX nie zwraca tablicy wartości, gdy podajemy tablicę jako indeksy. Otrzymujemy tylko pierwszą wartość. A funkcja SUMA zwraca sumę tylko jednej wartości.
Jak więc uzyskać, funkcja INDEX zwraca tę tablicę. Cóż, znalazłem to rozwiązanie w Internecie i nie bardzo rozumiem, jak to działa, ale działa.
Ogólna formuła, aby uzyskać tablicę indeksów
=SUMA(INDEKS(zakres;N(JEŻELI(1,{liczby})))
Zasięg: Jest to zakres, w którym chcesz szukać przy danych indeksach
Numer: to są numery indeksów.
Zastosujmy teraz powyższy wzór do naszego przykładu.
Zapisz tę formułę w C2.
=SUMA(INDEKS(A2:A11;N(JEŻELI(1,{1,3,5})))
A to zwraca poprawną odpowiedź jako 90.
Jak to działa.
No tak, jak powiedziałem, nie wiem, dlaczego to działa i zwraca tablicę liczb, ale tutaj co się dzieje.
IF(1,{1,3,5}): Ta część zwraca tablicę {1,3, 5} zgodnie z oczekiwaniami
N(JEŻELI(1,{1,3,5})) to przekłada się na N({1,3,5}), co ponownie daje nam {1,3,5}
UWAGA: Funkcja N zwraca liczbę równoważną dowolnej wartości. Jeśli wartość nie jest liczbą konwertowalną, zwraca 0 (jak tekst). A w przypadku błędów zwraca błąd.
INDEX((A2:A11,N(IF(1,{1,3,5}))): ta część przekłada się na INDEX((A2:A11,{1,3,5}) i jakoś to zwraca tablicę { 10,30,50}.Jak widzieliśmy wcześniej, gdy zapisujemy INDEX((A2:A11,{1,3,5}) bezpośrednio w formule, zwraca on tylko 10. Ale gdy używamy funkcji N i JEŻELI, zwraca całość tablica.Jeśli rozumiesz, daj mi znać w sekcji komentarzy poniżej.
Jak używać odwołań do komórek dla wartości indeksu, aby uzyskać tablicę?
W powyższym przykładzie zakodowaliśmy indeksy w funkcji. Ale co, jeśli chcę go mieć z zakresu, który może się zmienić. Zamieniamy {1,3,5} na zakres? Spróbujmy.
Tutaj mamy tę formułę w Cell D2:
=SUMA(INDEKS(A2:A11;N(JEŻELI(1,A2:A5)))
Zwraca 10. Pierwsza wartość danego indeksu. Nawet jeśli wprowadzimy go jako formułę tablicową za pomocą CTRL+SHIFT+ENTER, daje ten sam wynik.
Aby to zadziałało, dodaj operator + lub -- (podwójny jednoargumentowy) przed zakresem i wprowadź go jako formułę tablicową.
{=SUMA(INDEKS(A2:A11;N(JEŻELI(1,+A2:A5)))}
To działa. Nie pytaj jak? To po prostu działa. Jeśli możesz mi powiedzieć, w jaki sposób umieszczę tutaj twoje imię i wyjaśnienie.
Nauczyliśmy się więc, jak uzyskać tablicę z funkcji INDEX. W programie Excel dzieją się szalone rzeczy. Jeśli możesz wyjaśnić, jak to działa tutaj, w sekcji komentarzy poniżej, dołączę to do mojego wyjaśnienia z Twoim imieniem i nazwiskiem.
Pobieranie pliku:
Powiązane artykuły:
Tablice w formule Excel
Użyj INDEKSU i DOPASUJ, aby wyszukać wartość
Jak korzystać z funkcji WYSZUKAJ w programie Excel
Wartość wyszukiwania z wieloma kryteriami
Popularne artykuły:
Funkcja WYSZUKAJ.PIONOWO w programie Excel
LICZ.JEŻELI w Excelu 2016
Jak korzystać z funkcji SUMIF w programie Excel?