Zwróć tablicę za pomocą programu Excel za pomocą funkcji INDEKS

Anonim

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:

Zwróć tablicę za pomocą programu Excel za pomocą funkcji INDEKS

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?