Kazalo
V tem priročniku boste našli več primerov formul, ki prikazujejo najučinkovitejšo uporabo INDEX-a v Excelu.
Med vsemi funkcijami programa Excel, katerih moč je pogosto podcenjena in premalo izkoriščena, bi se funkcija INDEX zagotovo uvrstila nekje med prvih 10. Medtem je ta funkcija pametna, prilagodljiva in vsestranska.
Kaj je funkcija INDEX v Excelu? Formula INDEX v bistvu vrne referenco na celico znotraj danega polja ali razpona. Z drugimi besedami, INDEX uporabite, ko poznate (ali lahko izračunate) položaj elementa v območju in želite dobiti dejansko vrednost tega elementa.
Morda se to sliši malce trivialno, vendar ko spoznate resnične možnosti funkcije INDEX, lahko bistveno spremenite način izračunavanja, analiziranja in predstavljanja podatkov v svojih delovnih listih.
Excelova funkcija INDEX - sintaksa in osnovne uporabe
V Excelu obstajata dve različici funkcije INDEX - oblika polja in referenčna oblika. Obe obliki lahko uporabljate v vseh različicah Microsoft Excel 365 - 2003.
Oblika polja INDEX
Obrazec INDEX array vrne vrednost določenega elementa v območju ali polju na podlagi številk vrstic in stolpcev, ki ste jih določili.
INDEX(polje, številka vrstice, [številka stolpca])- polje - je območje celic, poimenovano območje ali tabela.
- vrstica_številka - je številka vrstice v polju, iz katere se vrne vrednost. Če je številka vrstice izpuščena, je potrebna številka stolpca.
- številka_stolpca - je številka stolpca, iz katerega se vrne vrednost. Če je številka_stolpca izpuščena, je potrebna številka_vrstice.
Na primer formula =INDEX(A1:D6, 4, 3)
vrne vrednost na presečišču 4. vrstice in 3. stolpca v območju A1:D6, ki je vrednost v celici C4.
Če si želite predstavljati delovanje formule INDEX na resničnih podatkih, si oglejte naslednji primer:
Namesto vnosa številk vrstic in stolpcev v formulo lahko vnesete reference na celice in tako dobite bolj univerzalno formulo: =INDEX($B$2:$D$6, G2, G1)
Tako ta formula INDEX vrne število elementov točno na presečišču številke izdelka, navedene v G2 (številka vrstice), in številke tedna, vnesene v celico G1 (številka stolpca).
Nasvet. Uporaba absolutnih referenc ($B$2:$D$6) namesto relativnih referenc (B2:D6) v argumentu polja omogoča lažje kopiranje formule v druge celice. Področje lahko pretvorite tudi v tabelo ( Ctrl + T ) in se nanjo sklicujete z imenom tabele.
Obrazec matrike INDEX - stvari, ki si jih je treba zapomniti
- Če je argument polja sestavljen samo iz ene vrstice ali stolpca, lahko navedete ustrezen argument številka_vrstice ali številka_stolpca, lahko pa tudi ne.
- Če argument array vsebuje več kot eno vrstico in je argument row_num izpuščen ali nastavljen na 0, funkcija INDEX vrne polje celotnega stolpca. Podobno, če array vsebuje več kot en stolpec in je argument column_num izpuščen ali nastavljen na 0, formula INDEX vrne celotno vrstico. Tukaj je primer formule, ki prikazuje to vedenje.
- Argumenta številka_vrstice in številka_stolpca se morata nanašati na celico v polju, sicer formula INDEX vrne napako #REF!.
Referenčni obrazec INDEX
Referenčna oblika Excelove funkcije INDEX vrne referenco celice na presečišču določene vrstice in stolpca.
INDEX(reference, številka vrstice, [številka stolpca], [številka območja] )- referenca - je eden ali več razponov.
Če vnesete več kot eno območje, ločite območja z vejicami in referenčni argument zapišite v oklepaj, na primer (A1:B5, D1:F5).
Če vsako območje v referenci vsebuje samo eno vrstico ali stolpec, je ustrezni argument številka_vrstice ali številka_stolpca neobvezen.
- vrstica_številka - številko vrstice v območju, iz katerega se vrne referenca na celico, podobno kot v obliki polja.
- številka_stolpca - številka stolpca, iz katerega se vrne referenca na celico, prav tako deluje podobno kot oblika polja.
- area_num - neobvezni parameter, ki določa, kateri razpon iz argumenta reference se uporabi. Če ga izpustite, formula INDEX vrne rezultat za prvi razpon, ki je naveden v referenci.
Na primer formula =INDEX((A2:D3, A5:D7), 3, 4, 2)
vrne vrednost celice D7, ki je na presečišču 3. vrstice in 4. stolpca v drugem območju (A5:D7).
Referenčni obrazec INDEX - kaj si je treba zapomniti
- Če je argument številka_vrstice ali številka_stolpca nastavljen na nič (0), formula INDEX vrne referenco za celoten stolpec oziroma vrstico.
- Če sta izpuščena tako številka vrstice_ kot številka stolpca, funkcija INDEX vrne območje, določeno v argumentu številka_območja.
- Vsi argumenti _num (številka_vrstice, številka_stolpca in številka_območja) se morajo nanašati na celico znotraj reference, sicer formula INDEX vrne napako #REF!.
Obe formuli INDEX, ki smo ju doslej obravnavali, sta zelo preprosti in le ponazarjata koncept. Vaše prave formule bodo verjetno veliko bolj zapletene, zato raziščimo nekaj najučinkovitejših načinov uporabe INDEX-a v Excelu.
Kako uporabljati funkcijo INDEX v programu Excel - primeri formul
Morda sam po sebi ni veliko praktične uporabe Excelovega INDEXa, vendar lahko v kombinaciji z drugimi funkcijami, kot sta MATCH ali COUNTA, tvori zelo zmogljive formule.
Vir podatkov
Za vse naše formule INDEX (razen za zadnjo) bomo uporabili spodnje podatke. Zaradi priročnosti so urejeni v tabeli z imenom Izvorni podatki .
Zaradi uporabe tabel ali poimenovanih obsegov so formule lahko nekoliko daljše, vendar so zaradi tega tudi bistveno bolj prilagodljive in berljive. Če želite prilagoditi katero koli formulo INDEX za svoje delovne liste, morate spremeniti le eno ime, kar v celoti odtehta daljšo dolžino formule.
Seveda vam nič ne preprečuje uporabe običajnih razponov, če želite. V tem primeru preprosto zamenjate ime tabele Izvorni podatki z ustreznim referenčnim območjem.
1. Pridobivanje N-tega elementa s seznama
To je osnovna uporaba funkcije INDEX in najpreprostejša formula. Če želite s seznama pridobiti določen element, zapišite =INDEX(območje, n)
kjer je obseg je območje celic ali poimenovano območje, in n je položaj elementa, ki ga želite pridobiti.
Pri delu z Excelovimi tabelami lahko z miško izberete stolpec in Excel bo v formulo vnesel ime stolpca skupaj z imenom tabele:
Če želite dobiti vrednost celice na presečišču določene vrstice in stolpca, uporabite enak pristop z edino razliko, da navedete oboje - številko vrstice in številko stolpca. Pravzaprav ste takšno formulo že videli v akciji, ko smo obravnavali obliko polja INDEX.
In še en primer. Če želite v naši vzorčni tabeli poiskati drugi največji planet v Osončju, tabelo razvrstite po Premer in uporabite naslednjo formulo INDEX:
=INDEX(SourceData, 2, 3)
Polje
je ime tabele ali referenca na območje, Izvorni podatki v tem primeru.Številka_vrstice
je 2, ker iščete drugi element na seznamu, ki je v 2.Številka_stolpca
je 3, ker Premer je tretji stolpec v tabeli.
Če želite namesto premera vrniti ime planeta, spremenite številko stolpca_num na 1. Seveda lahko v argumentih številka vrstice_num in/ali številka stolpca_num uporabite sklic na celico, da bo vaša formula bolj vsestranska, kot je prikazano na spodnji sliki zaslona:
2. Pridobivanje vseh vrednosti v vrstici ali stolpcu
Funkcija INDEX lahko poleg pridobivanja posamezne celice vrne tudi polje vrednosti iz celotna vrstica ali stolpec Če želite dobiti vse vrednosti iz določenega stolpca, morate argument row_num izpustiti ali ga nastaviti na 0. Podobno, če želite dobiti celotno vrstico, morate v column_num posredovati prazno vrednost ali 0.
Takšne formule INDEX ne morete uporabljati samostojno, saj Excel ne more umestiti niza vrednosti, ki jih vrne formula, v eno samo celico in namesto tega bi dobili napako #VALUE!. Če pa uporabite INDEX v povezavi z drugimi funkcijami, kot sta SUM ali AVERAGE, boste dobili odlične rezultate.
Za izračun povprečne temperature planeta v Osončju lahko na primer uporabite naslednjo formulo:
=AVERAGE(INDEX(SourceData, , 4))
V zgornji formuli je argument številka_stolpca 4, ker Temperatura v 4. stolpcu naše tabele. Parameter številka_vrstice je izpuščen.
Na podoben način lahko poiščete najnižjo in najvišjo temperaturo:
=MAX(INDEX(SourceData, , 4))
=MIN(INDEX(SourceData, , 4))
In izračunajte skupno maso planeta (masa je 2. stolpec v tabeli):
=SUM(INDEX(SourceData, , 2))
S praktičnega vidika je funkcija INDEX v zgornji formuli odveč. =AVERAGE(razpon)
ali =SUM(razpon)
in dobite enake rezultate.
Pri delu z resničnimi podatki se lahko ta funkcija izkaže za koristno kot del kompleksnejših formul, ki jih uporabljate za analizo podatkov.
3. Uporaba INDEX-a z drugimi funkcijami (SUM, AVERAGE, MAX, MIN)
Iz prejšnjih primerov ste morda dobili vtis, da formula INDEX vrača vrednosti, v resnici pa vrača referenca v celico, ki vsebuje vrednost. Ta primer prikazuje pravo naravo Excelove funkcije INDEX.
Ker je rezultat formule INDEX referenca, jo lahko uporabimo v drugih funkcijah, da dinamični razpon . zveni zmedeno? Naslednja formula bo vse pojasnila.
Recimo, da imate formulo =POVPREČJE(A1:A10)
ki vrne povprečje vrednosti v celicah A1:A10. Namesto da bi območje zapisali neposredno v formulo, lahko A1 ali A10 ali obe nadomestite s funkcijami INDEX, kot na primer:
=POVPREČJE(A1 : INDEKS(A1:A20,10))
Obe zgornji formuli bosta dali enak rezultat, ker funkcija INDEX prav tako vrne referenco na celico A10 (številka vrstice je nastavljena na 10, številka stolpca je izpuščena). Razlika je v tem, da je območje v formuli AVERAGE / INDEX dinamično in ko spremenite argument številka vrstice v funkciji INDEX, se bo območje, ki ga obdeluje funkcija AVERAGE, spremenilo in formula bo dala drugačen rezultat.
Pot formule INDEX je na videz preveč zapletena, vendar ima praktično uporabo, kot je razvidno iz naslednjih primerov.
Primer 1. Izračunajte povprečje prvih N elementov na seznamu
Recimo, da želite izvedeti povprečni premer N največjih planetov v našem sistemu. Premer stolpec od največjega do najmanjšega in uporabite naslednjo formulo Povprečje / Indeks:
=AVERAGE(C5 : INDEX(SourceData[Diameter], B1))
Primer 2. Vsota elementov med dvema navedenima elementoma
Če želite v formuli določiti zgornjo in spodnjo mejo, morate uporabiti dve funkciji INDEX, da vrnete prvi in zadnji želeni element.
Naslednja formula na primer vrne vsoto vrednosti v polju Premer stolpec med dvema elementoma, določenima v celicah B1 in B2:
=SUM(INDEX(SourceData[Diameter],B1) : INDEX(SourceData[Diameter], B2))
4. formula INDEX za ustvarjanje dinamičnih razponov in spustnih seznamov
Pogosto se zgodi, da ko začnete urejati podatke v delovnem listu, morda ne veste, koliko vnosov boste na koncu imeli. To ne velja za našo tabelo planetov, ki se zdi popolna, a kdo ve...
Če se število elementov v določenem stolpcu spreminja, na primer od A1 do A. n , boste morda želeli ustvariti dinamično poimenovano območje, ki vključuje vse celice s podatki. Pri tem želite, da se območje samodejno prilagodi, ko dodate nove elemente ali izbrišete nekatere od obstoječih. Če imate na primer trenutno 10 elementov, je vaše poimenovano območje A1:A10. Če dodate nov vnos, se poimenovano območje samodejno razširi na A1:A11, in če si premislite in izbrišete novo dodane podatke,se območje samodejno vrne na A1:A10.
Glavna prednost tega pristopa je, da vam ni treba nenehno posodabljati vseh formul v delovnem zvezku, da bi zagotovili, da se nanašajo na pravilna območja.
Eden od načinov za določitev dinamičnega razpona je uporaba Excelove funkcije OFFSET:
=OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)
Druga možna rešitev je uporaba Excelovega INDEKS-a skupaj s COUNTA:
=Naziv_listov!$A$1:INDEX(Ime_listov!$A:$A, COUNTA(Ime_listov!$A:$A))
V obeh formulah je A1 celica, ki vsebuje prvi element seznama, in dinamični obseg, ki ga ustvarita obe formuli, bo enak.
Razlika je v pristopih. Medtem ko se funkcija OFFSET premakne od začetne točke za določeno število vrstic in/ali stolpcev, funkcija INDEX poišče celico na presečišču določene vrstice in stolpca. Funkcija COUNTA, ki se uporablja v obeh formulah, pridobi število nepraznih celic v želenem stolpcu.
V tem primeru je v stolpcu A 9 nepraznih celic, zato COUNTA vrne 9. Posledično INDEX vrne $A$9, ki je zadnja uporabljena celica v stolpcu A (običajno INDEX vrne vrednost, v tej formuli pa ga operator reference (:) prisili v vrnitev reference). Ker je $A$1 naša začetna točka, je končni rezultat formule območje $A$1:$A$9.
Naslednja zaslonska slika prikazuje, kako lahko takšno formulo Index uporabite za ustvarjanje dinamičnega spustnega seznama.
Nasvet. Najlažji način za ustvarjanje dinamično posodobljenega spustnega seznama je, da poimenovani seznam ustvarite na podlagi tabele. V tem primeru ne boste potrebovali zapletenih formul, saj so Excelove tabele same po sebi dinamični razponi.
Za ustvarjanje odvisnih spustnih seznamov lahko uporabite tudi funkcijo INDEX, korake pa pojasnjuje naslednje navodilo: Izdelava kaskadnega spustnega seznama v Excelu.
5. Zmogljivi pregledi z INDEX / MATCH
Izvajanje navpičnih iskanj - tu funkcija INDEX resnično blesti. Če ste kdaj poskusili uporabiti Excelovo funkcijo VLOOKUP, se dobro zavedate njenih številnih omejitev, kot sta nezmožnost izvleka vrednosti iz stolpcev levo od stolpca iskanja ali omejitev 255 znakov za vrednost iskanja.
Povezava INDEX / MATCH je v številnih pogledih boljša od povezave VLOOKUP:
- Ni težav z levimi vlookupi.
- Velikost vrednosti iskanja ni omejena.
- Sortiranje ni potrebno (VLOOKUP s približnim ujemanjem zahteva razvrščanje stolpca iskanja v naraščajočem vrstnem redu).
- Stolpce v tabeli lahko vstavljate in odstranjujete, ne da bi posodobili vsako povezano formulo.
- INDEX / MATCH ne upočasnjuje programa Excel, kot to počnejo številni Vlookupi.
INDEX / MATCH uporabljate na naslednji način:
=INDEX ( stolpec za vračanje vrednosti iz , (MATCH ( vrednost iskanja , stolpec za iskanje po , 0))Če na primer obrnemo našo izvorno tabelo tako, da Ime planeta postane skrajni desni stolpec, formula INDEX / MATCH še vedno brez težav pridobi ustrezno vrednost iz levega stolpca.
Za več nasvetov in primer formule si oglejte Excelov priročnik INDEX / MATCH.
6. Excelova formula INDEX za pridobitev 1 območja s seznama območij
Druga pametna in učinkovita uporaba funkcije INDEX v Excelu je možnost pridobivanja enega razpona s seznama razponov.
Recimo, da imate več seznamov z različnim številom elementov v vsakem od njih. Verjeli ali ne, z eno samo formulo lahko izračunate povprečje ali seštejete vrednosti v katerem koli izbranem območju.
Najprej ustvarite poimenovano območje za vsak seznam; naj bo to PlanetiD in . MoonsD v tem primeru:
Upam, da zgornja slika pojasnjuje razloge za imena razponov : ) BTW. Lune tabela še zdaleč ni popolna, v našem osončju je znanih 176 naravnih lun, samo Jupiter jih ima trenutno 63 in še vedno šteje. Za ta primer sem naključno izbral 11, no... morda ne povsem naključno - lun z najlepšimi imeni : )
Prosimo, da se opravičite, ker smo se vrnili k naši formuli INDEX-a. Predpostavljajmo, da je PlanetiD je vaše območje 1 in MoonsD je območje 2, v celico B1 pa ste vnesli številko območja, lahko z naslednjo formulo Index izračunate povprečje vrednosti v izbranem imenovanem območju:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , B1))
Bodite pozorni, da zdaj uporabljamo referenčno obliko funkcije INDEX in da številka v zadnjem argumentu (area_num) formuli pove, katero območje naj izbere.
Na spodnji sliki zaslona je vrednost area_num (celica B1) nastavljena na 2, zato formula izračuna povprečni premer Lune ker je razpon MoonsD je na drugem mestu v referenčnem argumentu.
Če delate z več seznami in se ne želite ukvarjati s pomnjenjem pripadajočih številk, lahko to namesto vas stori vgnezdena funkcija IF:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planets", 1, IF(B1="moons", 2))))
V funkciji IF uporabljate nekaj preprostih in lahko zapomnljivih imen seznamov, za katere želite, da jih uporabniki namesto številk vnesejo v celico B1. Da bo formula delovala pravilno, mora biti besedilo v celici B1 popolnoma enako (brez upoštevanja velikih in malih črk) kot v parametrih funkcije IF, sicer bo vaša formula Index vrgla napako #VALUE.
Če želite formulo narediti še prijaznejšo do uporabnika, lahko s funkcijo Data Validation ustvarite spustni seznam z vnaprej določenimi imeni in tako preprečite napake pri črkovanju in tiskanju:
Da bo formula INDEX popolnoma popolna, jo lahko vključite v funkcijo IFERROR, ki bo uporabnika pozvala, naj izbere element s spustnega seznama, če izbira še ni bila opravljena:
=IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planet", 1, IF(B1="luna", 2)))), "Izberite seznam!")
Tako uporabljate formule INDEX v Excelu. Upam, da so vam ti primeri pokazali način, kako izkoristiti možnosti funkcije INDEX v svojih delovnih listih. Hvala za branje!