Excel funkcija INDEX s primjerima formule

  • Podijeli Ovo
Michael Brown

U ovom vodiču pronaći ćete brojne primjere formula koji demonstriraju najefikasnije korištenje INDEX-a u Excelu.

Od svih Excel funkcija čija je moć često podcijenjena i nedovoljno iskorištena, INDEX bi se definitivno svrstao negdje u prvih 10. U međuvremenu, ova funkcija je pametna, gipka i svestrana.

Dakle, koja je funkcija INDEX u Excelu? U suštini, formula INDEX vraća referencu ćelije iz datog niza ili raspona. Drugim riječima, koristite INDEX kada znate (ili možete izračunati) poziciju elementa u rasponu i želite dobiti stvarnu vrijednost tog elementa.

Ovo može zvučati pomalo trivijalno, ali jednom ako shvatite stvarni potencijal funkcije INDEX, ona bi mogla napraviti ključne promjene u načinu na koji izračunavate, analizirate i predstavljate podatke u vašim radnim listovima.

    Excel funkcija INDEX - sintaksa i osnovne upotrebe

    Postoje dvije verzije funkcije INDEX u Excelu - oblik polja i referentni obrazac. Oba oblika se mogu koristiti u svim verzijama programa Microsoft Excel 365 - 2003.

    Obrazac polja INDEX

    Obrazac polja INDEX vraća vrijednost određenog elementa u rasponu ili nizu na osnovu reda i brojeve kolona koje odredite.

    INDEX(niz, broj_reda, [broj_stupca])
    • niz - je raspon ćelija, imenovani raspon ili tabela.
    • broj_reda - je broj reda u nizu iz kojeg se vraća vrijednost. Ako je broj_redavraća vrijednost, ali u ovoj formuli, referentni operator (:) ga prisiljava da vrati referencu). I pošto je $A$1 naša početna tačka, konačni rezultat formule je raspon $A$1:$A$9.

      Sljedeća snimka ekrana pokazuje kako možete koristiti takvu formulu indeksa za kreiranje dinamičkog ispuštanja- donja lista.

      Savjet. Najlakši način da kreirate dinamički ažuriranu padajuću listu je da napravite imenovanu listu na osnovu tabele. U ovom slučaju, neće vam trebati nikakve složene formule jer su Excel tabele dinamički rasponi sami po sebi.

      Također možete koristiti funkciju INDEX za kreiranje zavisnih padajućih lista, a sljedeći vodič objašnjava korake: Izrada kaskadne padajuće liste u Excelu.

      5. Snažni Vlookupi s INDEX / MATCH

      Izvođenje vertikalnih pretraživanja - ovdje funkcija INDEX zaista blista. Ako ste ikada pokušali koristiti Excel VLOOKUP funkciju, dobro ste svjesni njenih brojnih ograničenja, kao što je nemogućnost povlačenja vrijednosti iz stupaca lijevo od kolone za pretraživanje ili ograničenje od 255 znakova za vrijednost pretraživanja.

      Veza INDEX / MATCH superiorna je od VLOOKUP-a u mnogim aspektima:

      • Nema problema s lijevim vlookupima.
      • Nema ograničenja za veličinu vrijednosti pretraživanja.
      • Nema sortiranja potrebno (VLOOKUP sa približnim podudaranjem zahtijeva sortiranje stupca za pretraživanje uzlaznim redoslijedom).
      • Slobodni ste da umetnete i uklonite 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 čine višestruki Vlookupi.

      Koristite INDEX / MATCH na sljedeći način :

      =INDEX ( kolona za vraćanje vrijednosti od , (podudaranje ( vrijednost traženja , kolona za traženje prema , 0))

      Za na primjer, ako okrenemo našu izvornu tablicu tako da Ime planete postane krajnja desna kolona, ​​formula INDEX / MATCH i dalje bez problema dohvaća odgovarajuću vrijednost iz lijevog stupca.

      Za više savjeta i primjera formule, pogledajte vodič za Excel INDEX / MATCH.

      6. Excel formula INDEX da biste dobili 1 raspon sa liste raspona

      Još jedna pametna i moćna upotreba funkcije INDEX u Excelu je mogućnost da se dobije jedan raspon sa liste raspona.

      Pretpostavimo da imate nekoliko lista s različitim brojem stavki u svakoj. Vjerujte mi ili ne, možete izračunati prosjek ili zbrojiti vrijednosti u bilo kojem odabranom rasponu pomoću jedne formule.

      Prvo, kreirate e imenovani opseg za svaku listu; neka to budu PlaneteD i MjeseciD u ovom primjeru:

      Nadam se da gornja slika objašnjava razloge iza imena raspona : ) BTW, tabela Meseci je daleko od potpune, postoji 176 poznatih prirodnih meseca u našem Sunčevom sistemu, samo Jupiter trenutno ima 63, i dalje. Za ovaj primjer, izabrao sam nasumično 11, pa... možda ne baš slučajno -mjeseci sa najljepšim imenima : )

      Oprostite na digresiji, vratimo se na našu INDEX formulu. Pod pretpostavkom da je PlanetsD vaš raspon 1 i MoonsD je raspon 2, a ćelija B1 je mjesto gdje stavite broj raspona, možete koristiti sljedeću indeksnu formulu za izračunavanje prosjeka vrijednosti u odabrani imenovani raspon:

      =AVERAGE(INDEX((PlanetsD, MoonsD), , , B1))

      Obratite pažnju da sada koristimo Referentni oblik funkcije INDEX, a broj u posljednjem argumentu (broj_područja) govori formuli koji raspon treba pick.

      Na snimku ekrana ispod, area_num (ćelija B1) je postavljena na 2, tako da formula izračunava prosječni prečnik Moons jer je raspon MoonsD na drugom mjestu u referentnom argumentu.

      Ako radite s više lista i ne želite se truditi pamtiti povezane brojeve, možete koristiti ugniježđenu IF funkciju da to učini umjesto vas :

      =AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planets", 1, IF(B1="moons", 2))))

      U funkciji IF koristite neke jednostavne i lako pamtljive nazive lista koje želite da vaši korisnici ukucaju u ćeliju B1 umjesto brojeva. Imajte ovo na umu, da bi formula radila ispravno, tekst u B1 bi trebao biti potpuno isti (neosjetljiv na velika i mala slova) kao u parametrima IF-a, inače će vaša formula indeksa baciti grešku #VALUE.

      Da biste formulu učinili još jednostavnijom za korisnika, možete koristiti Validaciju podataka za kreiranje padajuće liste s unaprijed definiranim imenima kako biste spriječili pravopisne greške igreške u otisku:

      Konačno, da bi vaša formula INDEX bila apsolutno savršena, možete je staviti u funkciju IFERROR koja će od korisnika tražiti da odabere stavku sa padajuće liste ako još nije napravljen izbor:

      =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 vašim radnim listovima. Hvala na čitanju!

      izostavljen, broj_stupca je obavezan.
    • broj_stupca - 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 presjeku 4. reda i 3. stupca u rasponu A1:D6, što je vrijednost u ćeliji C4 .

    Da biste dobili predstavu o tome kako formula INDEX radi na stvarnim podacima, pogledajte sljedeći primjer:

    Umjesto unosa reda i brojeve stupaca u formuli, možete dostaviti reference ćelija da biste dobili univerzalniju formulu: =INDEX($B$2:$D$6, G2, G1)

    Dakle, ova INDEX formula vraća broj stavki tačno na presjeku broja proizvoda navedenog u G2 (broj_reda ) i broj sedmice unesen u ćeliju G1 (broj_kolone).

    Savjet. Upotreba apsolutnih referenci ($B$2:$D$6) umjesto relativnih referenci (B2:D6) u argumentu niza olakšava kopiranje formule u druge ćelije. Alternativno, možete konvertovati raspon u tabelu ( Ctrl + T ) i pozivati ​​se na njega po imenu tabele.

    Forma INDEX niza - stvari koje treba zapamtiti

    1. Ako se argument niza sastoji od samo jednog reda ili stupca, možete, a ne morate navesti odgovarajući argument row_num ili column_num.
    2. Ako argument niza uključuje više od jednog reda i 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 red. Evo primjera formule koji demonstrira ovo ponašanje.
    3. Argumenti row_num i column_num moraju se odnositi na ćeliju unutar niza; u suprotnom, formula INDEX će vratiti #REF! greška.

    INDEX referentni obrazac

    Referentni obrazac Excel funkcije INDEX vraća referencu ćelije na presjeku navedenog reda i stupca.

    INDEX(referenca, broj_reda , [broj_stupca], [broj_područja] )
    • referenca - je jedan ili više raspona.

      Ako unosite više od jednog raspona, razdvojite raspone zarezima i stavite argument reference u zagrade, na primjer (A1:B5, D1:F5).

      Ako svaki raspon u referenci sadrži samo jedan red ili stupac, odgovarajući argument row_num ili column_num nije obavezan.

    • row_num - broj reda u rasponu iz kojeg se vraća referenca ćelije, sličan je nizu form.
    • column_num - broj stupca iz kojeg se vraća referenca ćelije, također radi slično kao i obrazac niza.
    • area_num - an opcijski parametar koji specificira koji raspon od referentnog argumenta treba koristiti. Ako se izostavi, formula INDEX će vratiti rezultat za prvi raspon naveden u referenci.

    Na primjer, formula =INDEX((A2:D3, A5:D7), 3, 4, 2) vraća vrijednost ćelije D7, koja se nalazi napresek 3. reda i 4. kolone u drugom području (A5:D7).

    INDEX referentni obrazac - stvari koje treba zapamtiti

    1. Ako argument row_num ili column_num je postavljen na nulu (0), formula INDEX vraća referencu za cijeli stupac ili red, respektivno.
    2. Ako su i row_num i column_num izostavljeni, funkcija INDEX vraća područje navedeno u argument area_num.
    3. Svi argumenti _num (red_num, column_num i area_num) moraju se odnositi na ćeliju unutar reference; u suprotnom, formula INDEX će vratiti #REF! greška.

    Obje INDEX formule o kojima smo do sada raspravljali su vrlo jednostavne i samo ilustriraju koncept. Vaše prave formule će vjerovatno biti daleko složenije od toga, pa hajde da istražimo nekoliko najefikasnijih upotreba INDEX-a u Excelu.

    Kako koristiti funkciju INDEX u Excelu - primjeri formule

    Možda postoji nema mnogo praktičnih upotreba Excel INDEX 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 SourceData .

    Upotreba tablica ili imenovanih raspona može napraviti formule malo duže, ali ih čini znatno fleksibilnijim i čitljivijim. Za podešavanje bilo kojeg INDEXformule za vaše radne listove, trebate samo izmijeniti jedno ime, i to u potpunosti nadoknađuje veću dužinu formule.

    Naravno, ništa vas ne sprječava da koristite uobičajene raspone ako to želite. U ovom slučaju, jednostavno zamijenite naziv tablice SourceData s odgovarajućom referencom raspona.

    1. Dobijanje N-te stavke sa liste

    Ovo je osnovna upotreba funkcije INDEX i najjednostavnija formula za izradu. Da biste dohvatili određenu stavku sa liste, samo napišete =INDEX(range, n) gdje je opseg raspon ćelija ili imenovani raspon, a n je pozicija stavke koju želite dobiti.

    Kada radite s Excel tablicama, možete odabrati stupac pomoću miša i Excel će povući ime kolone zajedno s imenom tablice u formuli:

    Da biste dobili vrijednost ćelije na raskrsnici datog reda i stupca, koristite isti pristup sa jedinom razlikom što navedete oba - broj reda i broj kolone. U stvari, već ste vidjeli takvu formulu na djelu kada smo raspravljali o obliku polja INDEX.

    I evo još jednog primjera. U našem uzorku tabele, da biste pronašli 2. najveću planetu u Sunčevom sistemu, sortirate tabelu po koloni Prečnik i koristite sledeću formulu INDEX:

    =INDEX(SourceData, 2, 3)

    • Array je naziv tablice ili referenca raspona, SourceData u ovom primjeru.
    • Row_num je 2 jer tražite drugu stavkuna listi, koja se nalazi u 2.
    • Column_num je 3 jer je Prečnik 3. stupac u tabeli.

    Ako želite da vratite planetu ime umjesto prečnika, promijenite column_num u 1. I naravno, možete koristiti referencu ćelije u argumentima row_num i/ili column_num da svoju formulu učinite svestranijom, kao što je prikazano na snimku ekrana ispod:

    2. Dobivanje svih vrijednosti u retku ili stupcu

    Osim dohvaćanja jedne ćelije, funkcija INDEX može vratiti niz vrijednosti iz cijelog reda ili kolone . 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 formule INDEX teško mogu koristiti samostalno, jer Excel nije u mogućnosti da stane niz vrijednosti koje vraća formula u jednu ćeliju, a vi 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 planete u Sunčevom sistemu:

    =AVERAGE(INDEX(SourceData, , 4))

    U gornjoj formuli, argument column_num je 4 jer je Temperatura u 4. koloni u našoj tabeli. 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 planete (Masa je 2. stupac u tabeli):

    =SUM(INDEX(SourceData, , 2))

    S praktične tačke gledišta, funkcija INDEX u gornjoj formuli je suvišna. Možete jednostavno napisati =AVERAGE(range) ili =SUM(range) i dobiti iste rezultate.

    Kada radite sa stvarnim podacima, ova funkcija može biti korisna 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 formula INDEX vraća vrijednosti, ali realnost je da vraća referencu u ćeliju koja sadrži vrijednost. I ovaj primjer pokazuje pravu prirodu Excel funkcije INDEX.

    Pošto je rezultat formule INDEX referenca, možemo je koristiti u drugim funkcijama da napravimo dinamički raspon . Zvuči zbunjujuće? Sljedeća formula će sve učiniti jasnim.

    Pretpostavimo da imate formulu =AVERAGE(A1:A10) koja vraća prosjek vrijednosti u ćelijama A1:A10. Umjesto pisanja raspona direktno u formulu, možete zamijeniti ili A1 ili A10, ili oboje, sa funkcijama INDEX, na primjer:

    =AVERAGE(A1 : INDEX(A1:A20,10))

    Obje gornje formule će dati isto rezultat jer funkcija INDEX također vraća referencu na ćeliju A10 (broj_reda je postavljen na 10, broj_kolca izostavljen). Razlika je u tome što je raspon AVERAGE / INDEX formula je dinamička,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, ruta formule INDEX izgleda previše komplikovano, ali ima praktične primjene , kao što je pokazano u sljedećim primjerima.

    Primjer 1. Izračunajte prosjek prvih N stavki na listi

    Recimo da želite znati prosječni prečnik N najvećih planeta u našem sistemu . Dakle, sortirate tabelu po koloni Prečnik 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 navedene dvije stavke

    U slučaju da želite definirati gornje i donje granice u vašoj formuli, trebate samo koristiti dvije funkcije INDEX da biste vratili prvu i zadnja stavka koju želite.

    Na primjer, sljedeća formula vraća zbir vrijednosti u koloni Prečnik između dvije stavke navedene u ćelijama B1 i B2:

    =SUM(INDEX(SourceData[Diameter],B1) : INDEX(SourceData[Diameter], B2))

    4. INDEX formula za kreiranje dinamičkih raspona i padajućih lista

    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. Nije slučaj sa tabelom naših planeta, koja se čini da je potpuna, ali ko zna...

    U svakom slučaju, ako imate promjenljiv broj stavki u datoj koloni, recimo od A1 do A n ,možda ćete htjeti kreirati 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 ovoga pristup je da ne morate stalno ažurirati sve formule u vašoj radnoj knjizi kako biste bili sigurni da se odnose na ispravne raspone.

    Jedan od načina za definiranje dinamičkog raspona je korištenje funkcije Excel OFFSET:

    =OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)

    Drugo moguće rješenje je korištenje Excel INDEX zajedno sa 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 liste i proizvedeni dinamički raspon po obje formule će biti identične.

    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 reda 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. Slijedom toga, INDEX vraća $A$9, što je zadnja korištena ćelija u stupcu A (obično INDEX

    Michael Brown je posvećen tehnološki entuzijasta sa strašću za pojednostavljenje složenih procesa pomoću softverskih alata. Sa više od decenije iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google Sheets i Docs. Michaelov blog je posvećen dijeljenju svog znanja i stručnosti s drugima, pružajući jednostavne savjete i tutorijale za poboljšanje produktivnosti i efikasnosti. Bilo da ste iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.