Sadržaj
U ovom vodiču pronaći ćete niz primjera formula koji pokazuju najučinkovitiju upotrebu INDEX-a u programu Excel.
Od svih funkcija programa Excel čija je moć često podcijenjena i nedovoljno iskorištena, INDEX bi definitivno bio rangiran negdje među prvih 10. U međuvremenu, ova je funkcija pametna, gipka i svestrana.
Dakle, što je funkcija INDEX u Excelu? U osnovi, formula INDEX vraća referencu ćelije iz zadanog polja ili raspona. Drugim riječima, koristite INDEX kada znate (ili možete izračunati) položaj elementa u rasponu i želite dobiti stvarnu vrijednost tog elementa.
Ovo može zvučati pomalo trivijalno, ali jednom shvatite pravi potencijal funkcije INDEX, ona bi mogla napraviti ključne promjene u načinu na koji izračunavate, analizirate i predstavljate podatke u svojim radnim listovima.
Funkcija INDEX u programu Excel - sintaksa i osnovne upotrebe
Postoje dvije verzije funkcije INDEX u Excelu - obrazac polja i obrazac reference. Oba obrasca mogu se koristiti u svim verzijama Microsoft Excel 365 - 2003.
Obrazac polja INDEKS
Obrazac polja INDEKS vraća vrijednost određenog elementa u rasponu ili polju na temelju retka i brojeve stupaca koje navedete.
INDEX(niz, broj_reda, [broj_stupca])- niz - je raspon ćelija, imenovani raspon ili tablica.
- row_num - je broj retka u nizu iz kojeg se vraća vrijednost. Ako je row_numvraća vrijednost, ali u ovoj formuli, operator reference (:) prisiljava ga da vrati referencu). A budući da je $A$1 naša početna točka, konačni rezultat formule je raspon $A$1:$A$9.
Sljedeća snimka zaslona pokazuje kako možete koristiti takvu formulu indeksa za stvaranje dinamičkog pada dolje na popisu.
Savjet. Najlakši način za stvaranje dinamički ažuriranog padajućeg popisa je stvaranje imenovanog popisa na temelju tablice. U ovom slučaju nećete trebati nikakve složene formule budući da su Excel tablice same po sebi dinamički rasponi.
Također možete koristiti funkciju INDEX za stvaranje zavisnih padajućih popisa, a sljedeći vodič objašnjava korake: Izrada kaskadnog padajućeg popisa u Excelu.
5. Snažni Vlookups s INDEX / MATCH
Izvođenje okomitih pretraživanja - ovo je mjesto gdje funkcija INDEX uistinu blista. Ako ste ikada pokušali koristiti Excel VLOOKUP funkciju, dobro ste svjesni njezinih brojnih ograničenja, kao što je nemogućnost povlačenja vrijednosti iz stupaca lijevo od stupca pretraživanja ili ograničenje od 255 znakova za vrijednost pretraživanja.
The Veza INDEX / MATCH superiornija je od VLOOKUP-a u mnogim aspektima:
- Nema problema s lijevim vlookupovima.
- Nema ograničenja veličine vrijednosti pretraživanja.
- Nema sortiranja potrebno (VLOOKUP s približnim podudaranjem zahtijeva sortiranje stupca pretraživanja uzlaznim redoslijedom).
- Možete slobodno umetati i uklanjati stupce u tablici bez ažuriranjasvaku pridruženu formulu.
- I posljednje, ali ne i najmanje važno, INDEX / MATCH ne usporava vaš Excel kao što to čini višestruki Vlookup.
Indeks / MATCH koristite na sljedeći način :
=INDEX ( stupac za vraćanje vrijednosti iz , (MATCH ( vrijednost traženja , stupac za traženje prema , 0))Za Na primjer, ako okrenemo našu izvornu tablicu tako da Naziv planeta postane krajnji desni stupac, formula INDEX / MATCH i dalje dohvaća odgovarajuću vrijednost iz lijevog stupca bez problema.
Za više savjeta i primjere formule, pogledajte vodič Excel INDEX / MATCH.
6. Excel INDEX formula za dobivanje 1 raspona s popisa raspona
Još jedna pametna i moćna upotreba funkcije INDEX u Excelu je mogućnost dobivanja jednog raspona s popisa raspona.
Pretpostavimo da imate nekoliko popisa s različitim brojem stavki na svakom. Vjerujte mi ili ne, možete izračunati prosjek ili zbrojiti vrijednosti u bilo kojem odabranom rasponu s jednom formulom.
Prvo, stvarate e imenovani raspon za svaki popis; neka to budu PlaneteD i MjeseciD u ovom primjeru:
Nadam se da gornja slika objašnjava razloge iza imena raspona : ) BTW, tablica Mjeseci je daleko od potpune, postoji 176 poznatih prirodnih mjeseca u našem Sunčevom sustavu, samo Jupiter trenutno ima 63, a broji se. Za ovaj primjer, odabrao sam nasumičnih 11, dobro... možda ne baš nasumično -mjeseci s najljepšim imenima : )
Molim vas, oprostite na digresiji, natrag na našu formulu INDEKSA. Pod pretpostavkom da je PlanetsD vaš raspon 1, a MoonsD raspon 2, a ćelija B1 je mjesto gdje ste stavili broj raspona, možete upotrijebiti sljedeću formulu indeksa za izračunavanje prosjeka vrijednosti u odabrani imenovani raspon:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , B1))
Molimo obratite pozornost da sada koristimo Referentni oblik funkcije INDEX, a broj u zadnjem argumentu (area_num) govori formuli koji raspon treba odaberite.
Na snimci zaslona u nastavku, area_num (ćelija B1) postavljena je na 2, tako da formula izračunava prosječni promjer Moons jer je raspon MoonsD drugi u referentnom argumentu.
Ako radite s više popisa i ne želite se zamarati pamćenjem povezanih brojeva, možete upotrijebiti ugniježđenu IF funkciju da to učini za vas :
=AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planets", 1, IF(B1="moons", 2))))
U funkciji IF koristite neke jednostavne i lako pamtljive nazive popisa koje želite da vaši korisnici upisuju u ćeliju B1 umjesto brojeva. Imajte ovo na umu, da bi formula ispravno radila, tekst u B1 trebao bi biti točno isti (neosjetljiv na velika i mala slova) kao u parametrima IF-a, inače će vaša formula indeksa izbaciti pogrešku #VALUE.
Kako biste formulu učinili još jednostavnijom za korištenje, možete upotrijebiti provjeru valjanosti podataka za izradu padajućeg popisa s unaprijed definiranim imenima kako biste spriječili pravopisne pogreške itiskarske pogreške:
Konačno, kako bi vaša formula INDEX bila apsolutno savršena, možete je priložiti funkciji IFERROR koja će od korisnika tražiti da odabere stavku s padajućeg popisa ako još nije napravljen nijedan odabir:
=IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planet", 1, IF(B1="moon", 2)))), "Please select the list!")
Ovako koristite INDEX formule u Excelu. Nadam se da su vam ovi primjeri pokazali način da iskoristite potencijal funkcije INDEX u svojim radnim listovima. Hvala vam na čitanju!
izostavljeno, column_num je obavezan. - column_num - je broj stupca iz kojeg se vraća vrijednost. Ako je column_num izostavljen, row_num je obavezan.
Na primjer, formula =INDEX(A1:D6, 4, 3)
vraća vrijednost na sjecištu 4. retka i 3. stupca u rasponu A1:D6, što je vrijednost u ćeliji C4 .
Da biste dobili predodžbu o tome kako formula INDEX radi na stvarnim podacima, pogledajte sljedeći primjer:
Umjesto unosa retka i brojeve stupaca u formuli, možete unijeti reference ćelija da dobijete univerzalniju formulu: =INDEX($B$2:$D$6, G2, G1)
Dakle, ova INDEX formula vraća broj stavki točno na sjecištu broja proizvoda navedenog u G2 (row_num ) i broj tjedna unesen u ćeliju G1 (column_num).
Savjet. Upotreba apsolutnih referenci ($B$2:$D$6) umjesto relativnih referenci (B2:D6) u argumentu polja olakšava kopiranje formule u druge ćelije. Alternativno, možete pretvoriti raspon u tablicu ( Ctrl + T ) i pozivati se na njega prema nazivu tablice.
Oblik niza INDEKS - stvari koje treba zapamtiti
- Ako se argument niza sastoji od samo jednog retka ili stupca, možete ili ne morate navesti odgovarajući argument broj_reda ili broj_stupca.
- Ako argument niza uključuje više od jednog retka, a row_num je izostavljen ili postavljen na 0, funkcija INDEX vraća niz cijelog stupca. Slično, ako niz uključuje više od jednogstupac i argument column_num je izostavljen ili postavljen na 0, formula INDEX vraća cijeli redak. Evo primjera formule koji pokazuje ovo ponašanje.
- Argumenti row_num i column_num moraju se odnositi na ćeliju unutar polja; inače će formula INDEX vratiti #REF! pogreška.
Referentni obrazac INDEX
Referentni obrazac funkcije Excel INDEX vraća referencu ćelije na sjecištu navedenog retka i stupca.
INDEX(referenca, row_num , [column_num], [area_num] )- referenca - je jedan ili više raspona.
Ako unosite više od jednog raspona, odvojite raspone zarezima i stavite referentni argument u zagrade, na primjer (A1:B5, D1:F5).
Ako svaki raspon u referenci sadrži samo jedan redak ili stupac, odgovarajući argument row_num ili column_num nije obavezan.
- row_num - broj retka u rasponu iz kojeg se vraća referenca ćelije, slično je nizu obrazac.
- column_num - broj stupca iz kojeg se vraća referenca ćelije, također radi slično kao obrazac polja.
- area_num - izborni parametar koji određuje koji raspon od referentnog argumenta treba koristiti. Ako se izostavi, formula INDEX vratit će rezultat za prvi raspon naveden u referenci.
Na primjer, formula =INDEX((A2:D3, A5:D7), 3, 4, 2)
vraća vrijednost ćelije D7, koja je nasjecište 3. retka i 4. stupca u drugom području (A5:D7).
INDEKS referentni obrazac - stvari koje treba zapamtiti
- Ako argument row_num ili column_num postavljen je na nulu (0), formula INDEX vraća referencu za cijeli stupac ili redak.
- Ako su i row_num i column_num izostavljeni, funkcija INDEX vraća područje navedeno u argument area_num.
- Svi argumenti _num (row_num, column_num i area_num) moraju se odnositi na ćeliju unutar reference; inače će formula INDEX vratiti #REF! greška.
Obje INDEX formule o kojima smo do sada govorili vrlo su jednostavne i samo ilustriraju koncept. Vaše prave formule vjerojatno će biti daleko složenije od toga, pa istražimo nekoliko najučinkovitijih upotreba INDEX-a u Excelu.
Kako koristiti funkciju INDEX u Excelu - primjeri formula
Možda postoji nema mnogo praktičnih upotreba Excel INDEX-a sam po sebi, ali u kombinaciji s drugim funkcijama kao što su MATCH ili COUNTA, može napraviti vrlo moćne formule.
Izvorni podaci
Sve naše INDEX formule (osim posljednjeg), koristit ćemo podatke u nastavku. Radi pogodnosti, organiziran je u tablici pod nazivom Izvorni podaci .
Upotreba tablica ili imenovanih raspona može stvoriti formule nešto duže, ali ih također čini znatno fleksibilnijima i čitljivijima. Za podešavanje bilo kojeg INDEX-aformule za svoje radne listove, trebate samo izmijeniti jedno ime, a to u potpunosti nadoknađuje dužu duljinu formule.
Naravno, ništa vas ne sprječava da koristite uobičajene raspone ako to želite. U ovom slučaju jednostavno zamijenite naziv tablice Izvorni podaci odgovarajućom referencom raspona.
1. Dobivanje N-te stavke s popisa
Ovo je osnovna upotreba funkcije INDEX i najjednostavnija formula za izradu. Da biste dohvatili određenu stavku s popisa, samo napišite =INDEX(range, n)
gdje je raspon raspon ćelija ili imenovani raspon, a n pozicija stavke koju želite dobiti.
Kada radite s Excel tablicama, možete odabrati stupac pomoću miša i Excel će povući naziv stupca zajedno s nazivom tablice u formuli:
Da biste dobili vrijednost ćelije na sjecištu zadanog retka i stupca, koristite isti pristup s jedinom razlikom što navodite oboje - broj retka i broj stupca. Zapravo, već ste vidjeli takvu formulu na djelu kada smo razgovarali o obliku polja INDEX.
I evo još jednog primjera. U našoj oglednoj tablici, da biste pronašli 2. najveći planet u Sunčevom sustavu, sortirajte tablicu prema stupcu Promjer i koristite sljedeću formulu INDEKS:
=INDEX(SourceData, 2, 3)
-
Array
je naziv tablice ili referenca raspona, SourceData u ovom primjeru. -
Row_num
je 2 jer tražite drugu stavkuna popisu, koji je u 2. -
Column_num
je 3 jer je Promjer 3. stupac u tablici.
Ako želite vratiti planetov ime umjesto promjera, promijenite column_num na 1. I naravno, možete koristiti referencu ćelije u argumentima row_num i/ili column_num kako biste svoju formulu učinili svestranijom, kao što je prikazano na snimci zaslona u nastavku:
2. Dohvaćanje svih vrijednosti u retku ili stupcu
Osim dohvaćanja jedne ćelije, funkcija INDEX može vratiti niz vrijednosti iz cijelog retka ili stupca . Da biste dobili sve vrijednosti iz određenog stupca, morate izostaviti argument row_num ili ga postaviti na 0. Isto tako, da biste dobili cijeli red, proslijedite praznu vrijednost ili 0 u column_num.
Takve INDEX formule teško mogu koristiti sami, jer Excel ne može smjestiti niz vrijednosti koje vraća formula u jednu ćeliju, pa biste dobili #VALUE! greška umjesto toga. Međutim, ako koristite INDEX u kombinaciji s drugim funkcijama, kao što su SUM ili AVERAGE, dobit ćete sjajne rezultate.
Na primjer, možete koristiti sljedeću formulu za izračunavanje prosječne temperature planeta u Sunčevom sustavu:
=AVERAGE(INDEX(SourceData, , 4))
U gornjoj formuli, argument column_num je 4 jer je Temperatura u 4. stupcu naše tablice. Parametar row_num je izostavljen.
Na sličan način možete pronaći minimum i maksimumtemperature:
=MAX(INDEX(SourceData, , 4))
=MIN(INDEX(SourceData, , 4))
I izračunajte ukupnu masu planeta (Masa je 2. stupac u tablici):
=SUM(INDEX(SourceData, , 2))
S praktičnog gledišta, funkcija INDEX u gornjoj formuli je suvišna. Možete jednostavno napisati =AVERAGE(range)
ili =SUM(range)
i dobiti iste rezultate.
Kad radite sa stvarnim podacima, ova se značajka može pokazati korisnom kao dio složenijih formula koje koristite za analizu podataka.
3. Korištenje INDEX-a s drugim funkcijama (SUM, AVERAGE, MAX, MIN)
Iz prethodnih primjera mogli biste imati dojam da INDEX formula vraća vrijednosti, ali stvarnost je da vraća referencu u ćeliju koja sadrži vrijednost. A ovaj primjer pokazuje pravu prirodu funkcije Excel INDEX.
Budući da je rezultat formule INDEX referenca, možemo je koristiti unutar drugih funkcija za izradu dinamičkog raspona . Zvuči zbunjujuće? Sljedeća formula će sve razjasniti.
Pretpostavimo da imate formulu =AVERAGE(A1:A10)
koja vraća prosjek vrijednosti u ćelijama A1:A10. Umjesto pisanja raspona izravno u formulu, možete zamijeniti ili A1 ili A10, ili oboje, funkcijama INDEX, poput ove:
=AVERAGE(A1 : INDEX(A1:A20,10))
Obje gornje formule dat će isto rezultat jer funkcija INDEX također vraća referencu na ćeliju A10 (row_num je postavljen na 10, col_num izostavljen). Razlika je u tome što je raspon formula PROSJEK / INDEKS dinamičan,i kada promijenite argument row_num u INDEX-u, raspon koji obrađuje funkcija AVERAGE će se promijeniti i formula će vratiti drugačiji rezultat.
Očigledno, put formule INDEX izgleda prekomplicirano, ali ima praktične primjene , kao što je pokazano u sljedećim primjerima.
Primjer 1. Izračunajte prosjek prvih N stavki na popisu
Recimo da želite znati prosječni promjer N najvećih planeta u našem sustavu . Dakle, sortirate tablicu prema stupcu Promjer od najvećeg do najmanjeg i koristite sljedeću formulu za prosjek/indeks:
=AVERAGE(C5 : INDEX(SourceData[Diameter], B1))
Primjer 2. Zbrojite stavke između navedenih dviju stavki
U slučaju da želite definirati gornju i donju granicu stavke u svojoj formuli, samo trebate upotrijebiti dvije funkcije INDEX da biste vratili prvu i zadnja stavka koju želite.
Na primjer, sljedeća formula vraća zbroj vrijednosti u stupcu Promjer između dvije stavke navedene u ćelijama B1 i B2:
=SUM(INDEX(SourceData[Diameter],B1) : INDEX(SourceData[Diameter], B2))
4. Formula INDEX za stvaranje dinamičkih raspona i padajućih popisa
Kao što se često događa, kada počnete organizirati podatke na radnom listu, možda nećete znati koliko ćete unosa na kraju imati. To nije slučaj s našom tablicom planeta, koja se čini potpunom, ali tko zna...
U svakom slučaju, ako imate promjenu broja stavki u određenom stupcu, recimo od A1 do A n ,možda ćete htjeti stvoriti dinamički imenovani raspon koji uključuje sve ćelije s podacima. Pritom želite da se raspon automatski prilagođava kako dodajete nove stavke ili brišete neke od postojećih. Na primjer, ako trenutno imate 10 stavki, vaš imenovani raspon je A1:A10. Ako dodate novi unos, imenovani raspon se automatski proširuje na A1:A11, a ako se predomislite i izbrišete te novo dodane podatke, raspon se automatski vraća na A1:A10.
Glavna prednost ovog pristup je da ne morate stalno ažurirati sve formule u svojoj radnoj knjizi kako biste bili sigurni da se odnose na ispravne raspone.
Jedan od načina definiranja dinamičkog raspona je korištenje Excelove funkcije OFFSET:
=OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)
Još jedno moguće rješenje je koristiti Excel INDEX zajedno s COUNTA:
=Sheet_Name!$A$1:INDEX(Sheet_Name!$A:$A, COUNTA(Sheet_Name!$A:$A))
U obje formule, A1 je ćelija koja sadrži prvu stavku popisa i proizvedeni dinamički raspon po obje formule bit će identični.
Razlika je u pristupima. Dok se funkcija OFFSET pomiče od početne točke za određeni broj redaka i/ili stupaca, INDEX pronalazi ćeliju na sjecištu određenog retka i stupca. Funkcija COUNTA, koja se koristi u obje formule, dobiva broj nepraznih ćelija u stupcu od interesa.
U ovom primjeru postoji 9 ćelija koje nisu prazne u stupcu A, tako da COUNTA vraća 9. Posljedično, INDEX vraća $A$9, što je zadnja korištena ćelija u stupcu A (obično INDEX