Sisukord
Selles õpetuses leiate mitmeid valemite näiteid, mis näitavad INDEXi kõige tõhusamaid kasutusvõimalusi Excelis.
Kõikidest Exceli funktsioonidest, mille võimsust sageli alahinnatakse ja alakasutatakse, oleks INDEX kindlasti kuskil 10 parima hulgas. Vahepeal on see funktsioon nutikas, paindlik ja mitmekülgne.
Mis on siis INDEX-funktsioon Excelis? Põhimõtteliselt tagastab INDEX-vormel lahtriviite antud massiivi või vahemiku piires. Teisisõnu, te kasutate INDEXi, kui te teate (või saate arvutada) elemendi asukohta vahemikus ja soovite saada selle elemendi tegelikku väärtust.
See võib tunduda pisut triviaalne, kuid kui te mõistate INDEX-funktsiooni tegelikku potentsiaali, võib see muuta otsustavalt seda, kuidas te arvutate, analüüsite ja esitate andmeid oma töölehtedel.
Exceli INDEX funktsioon - süntaks ja põhilised kasutusalad
Excelis on INDEX-funktsioonil kaks versiooni - massiivi vorm ja viite vorm. Mõlemat vormi saab kasutada kõigis Microsoft Exceli versioonides 365 - 2003.
INDEX massiivi vorm
Massiivivorm INDEX tagastab teatud elemendi väärtuse vahemikus või massiivis määratud rea ja veeru numbrite alusel.
INDEX(array, row_num, [column_num])- massiivi - on lahtrite vahemik, nimega vahemik või tabel.
- row_num - on massiivi rea number, millest väärtus tagastatakse. Kui row_num jäetakse välja, on nõutav column_num.
- column_num - on veeru number, millest väärtus tagastatakse. Kui column_num on välja jäetud, on nõutav row_num.
Näiteks valemiga =INDEX(A1:D6, 4, 3)
tagastab väärtuse vahemiku A1:D6 4. rea ja 3. veeru ristumiskohas, mis on väärtus lahtris C4.
Et saada ettekujutust sellest, kuidas INDEXi valem töötab reaalsete andmete puhul, vaadake järgmist näidet:
Selle asemel, et sisestada valemisse rea ja veeru numbrid, saate esitada lahtriviited, et saada universaalsem valem: =INDEX($B$2:$D$6, G2, G1)
Seega annab see INDEX-valem tagasi toodete arvu, mis asub täpselt lahtris G2 (row_num) määratud tootenumbri ja lahtrisse G1 (column_num) sisestatud nädalanumbri ristumiskohas.
Vihje. Absoluutsete viidete ($B$2:$D$6) kasutamine suhteliste viidete (B2:D6) asemel massiivi argumendis lihtsustab valemi kopeerimist teistesse lahtritesse. Alternatiivina võite teisendada vahemiku tabeliks ( Ctrl + T ) ja viidata sellele tabeli nime järgi.
INDEXi massiivi vorm - asju, mida meeles pidada
- Kui massiivi argument koosneb ainult ühest reast või veerust, võite või ei tohi määrata vastava row_num või column_num argumendi.
- Kui massiivi argument sisaldab rohkem kui ühte rida ja row_num on välja jäetud või määratud 0, siis INDEX funktsioon tagastab kogu veeru massiivi. Samamoodi, kui massiivi sisaldab rohkem kui ühte veergu ja column_num argument on välja jäetud või määratud 0, siis INDEX valem tagastab kogu rea. Siin on valemite näide, mis demonstreerib seda käitumist.
- Argumentid row_num ja column_num peavad viitama lahtrisse massiivi sees; vastasel juhul tagastab valem INDEX vea #REF!.
INDEXi viitevorm
Exceli INDEX-funktsiooni viite vorm tagastab määratud rea ja veeru ristumiskohas oleva lahtri viite.
INDEX(reference, row_num, [column_num], [area_num] )- viide - on üks või mitu vahemikku.
Kui sisestate rohkem kui ühe vahemiku, eraldage vahemikud komadega ja lisage võrdlusargument sulgudesse, näiteks (A1:B5, D1:F5).
Kui iga vahemik viites sisaldab ainult ühte rida või veergu, on vastav rida_arv või veerg_arv argument vabatahtlik.
- row_num - rea number vahemikus, kust tagastada lahtri viide, see on sarnane massiivi vormiga.
- column_num - veeru number, millest tagastada lahtriviide, töötab samuti sarnaselt massiivi vormiga.
- area_num - valikuline parameeter, mis määrab, millist vahemikku viiteargumendist kasutada. Kui see jäetakse välja, annab valem INDEX tulemuse esimese viites loetletud vahemiku kohta.
Näiteks valemiga =INDEX((A2:D3, A5:D7), 3, 4, 2)
tagastab lahtri D7 väärtuse, mis asub teise ala (A5:D7) 3. rea ja 4. veeru ristumiskohas.
INDEXi viitevorm - asju, mida meeles pidada
- Kui argumendi row_num või column_num väärtuseks on null (0), tagastab INDEX-valem vastavalt kogu veeru või rea viite.
- Kui nii rida_num kui ka veerg_num jäetakse välja, tagastab funktsioon INDEX ala, mis on määratud argumendis area_num.
- Kõik _num argumendid (row_num, column_num ja area_num) peavad viitama lahtrisse, vastasel juhul annab valem INDEX tagasi vea #REF!.
Mõlemad seni käsitletud INDEXi valemid on väga lihtsad ja illustreerivad ainult kontseptsiooni. Teie tegelikud valemid on tõenäoliselt palju keerulisemad, seega uurime mõningaid kõige tõhusamaid INDEXi kasutusvõimalusi Excelis.
Kuidas kasutada INDEX-funktsiooni Excelis - valemi näited
Võib-olla ei ole Exceli INDEXi iseenesest palju praktilist kasutust, kuid kombinatsioonis teiste funktsioonidega, nagu MATCH või COUNTA, saab sellega teha väga võimsaid valemeid.
Allikasandmed
Kõik meie INDEX-valemid (välja arvatud viimane), kasutame allpool olevaid andmeid. Mugavuse huvides on see organiseeritud tabelisse nimega SourceData .
Tabelite või nimeliste vahemike kasutamine võib muuta valemid veidi pikemaks, kuid see muudab need ka oluliselt paindlikumaks ja paremini loetavaks. Mis tahes INDEX-valemi kohandamiseks oma töölehtede jaoks on vaja muuta ainult ühte nime ja see kompenseerib täielikult pikema valemi pikkuse.
Loomulikult ei takista miski kasutamast tavalisi vahemikke, kui soovite. Sellisel juhul asendate lihtsalt tabeli nime SourceData sobiva vahemiku viitega.
1. N-nda elemendi hankimine loetelust
See on INDEX-funktsiooni põhikasutus ja lihtsaim valem, mida on võimalik teha. Selleks, et tuua teatud element loetelust, kirjutatakse lihtsalt =INDEX(vahemik, n)
kus vahemik on lahtrite vahemik või nimetatud vahemik ja n on selle objekti asukoht, mida soovite saada.
Exceli tabelitega töötades saate hiirega valida veeru ja Excel tõmbab valemisse veeru nime koos tabeli nimega:
Et saada antud rea ja veeru ristumiskohas asuva lahtri väärtus, kasutate sama lähenemist, ainsa erinevusega, et annate mõlemad - rea numbri ja veeru numbri. Tegelikult nägite sellist valemit juba töös, kui me arutasime INDEXi massiivi vormi.
Ja siin on veel üks näide. Meie näidistabelis, et leida Päikesesüsteemi 2. suurim planeet, sorteerite tabeli vastavalt Läbimõõt veergu ja kasutage järgmist INDEXi valemit:
=INDEX(SourceData, 2, 3)
Array
on tabeli nimi või vahemiku viide, SourceData selles näites.Row_num
on 2, sest te otsite teist elementi nimekirjas, mis on 2.Veerg_num
on 3, sest Läbimõõt on tabeli kolmas veerg.
Kui soovite tagastada planeedi nime, mitte diameetrit, siis muutke column_num väärtuseks 1. Ja loomulikult võite kasutada rea_num ja/või veeru_num argumentides lahtriviidet, et muuta valemit mitmekülgsemaks, nagu on näidatud allpool oleval ekraanipildil:
2. Kõikide väärtuste saamine reas või veerus
Lisaks ühe lahtri kättesaamisele on funktsioon INDEX võimeline tagastama ka väärtuste massiivi, mis on pärit terve rida või veerg Et saada kõiki väärtusi teatud veerust, tuleb jätta argument row_num välja või määrata see väärtuseks 0. Samamoodi, et saada kogu rida, tuleb anda column_num'ile tühi väärtus või 0.
Selliseid INDEX-vormeleid ei ole võimalik üksi kasutada, sest Excel ei suuda valemi poolt tagastatud väärtuste massiivi ühte lahtrisse mahutada ja selle asemel saate #VALUE! vea. Kui aga kasutate INDEX-i koos teiste funktsioonidega, näiteks SUMMA või AVERAGE, saate suurepäraseid tulemusi.
Näiteks võite kasutada järgmist valemit, et arvutada Päikesesüsteemi planeedi keskmine temperatuur:
=AVERAGE(INDEX(SourceData, , 4))
Ülaltoodud valemis on veeru_arv argument 4, sest Temperatuur meie tabeli 4. veerus. Parameeter row_num on välja jäetud.
Samamoodi saate leida minimaalse ja maksimaalse temperatuuri:
=MAX(INDEX(SourceData, , 4))
=MIN(INDEX(SourceData, , 4))
Ja arvutage planeedi kogumass (mass on tabeli 2. veerg):
=SUM(INDEX(SourceData, , 2))
Praktilisest seisukohast on INDEX-funktsioon ülaltoodud valemis üleliigne. Saate lihtsalt kirjutada =AVERAGE(vahemik)
või =SUM(vahemik)
ja saada samu tulemusi.
Reaalsete andmetega töötades võib see funktsioon osutuda kasulikuks osana keerukamatest valemitest, mida kasutate andmeanalüüsiks.
3. INDEXi kasutamine koos teiste funktsioonidega (SUMMA, AVERAGE, MAX, MIN)
Eelnevatest näidetest võib jääda mulje, et INDEX valem tagastab väärtusi, kuid tegelikkuses tagastab see hoopis viide väärtust sisaldavasse lahtrisse. Ja see näide näitab Exceli INDEX-funktsiooni tõelist olemust.
Kuna INDEX-valemi tulemus on viide, saame seda kasutada teistes funktsioonides, et teha dünaamiline ulatus Kõlab segadust tekitavana? Järgnev valem teeb kõik selgeks.
Oletame, et teil on valem =KESKMINE(A1:A10)
mis tagastab lahtrite A1:A10 väärtuste keskmise. Selle asemel, et kirjutada vahemik otse valemisse, võite asendada kas A1 või A10 või mõlemad INDEX-funktsioonidega, näiteks nii:
=KESKMINE(A1 : INDEX(A1:A20,10))
Mõlemad ülaltoodud valemid annavad sama tulemuse, sest ka funktsioon INDEX tagastab viite lahtrisse A10 (row_num on määratud 10, col_num jäetakse välja). Erinevus seisneb selles, et vahemik on valemites AVERAGE / INDEX dünaamiline ja kui te muudate INDEXi argumenti row_num, muutub funktsiooniga AVERAGE töödeldud vahemik ja valem tagastab teistsuguse tulemuse.
Ilmselt tundub INDEXi valemi marsruut liiga keeruline, kuid sellel on praktilisi rakendusi, nagu on näidatud järgmistes näidetes.
Näide 1. Arvutage nimekirja N esimese elemendi keskmine väärtus.
Oletame, et soovite teada meie süsteemi N suurima planeedi keskmist läbimõõtu. Niisiis, sorteerite tabeli järgi Läbimõõt veergu suurimast väikseimani ja kasutage järgmist valemit Keskmine / indeks:
=AVERAGE(C5 : INDEX(SourceData[Diameter], B1))
Näide 2. Summaelementide summeerimine kahe määratud elemendi vahel
Kui soovite oma valemis määratleda ülemise ja alumise piiri elemendid, peate lihtsalt kasutama kahte INDEX-funktsiooni, et tagastada esimene ja viimane soovitud element.
Näiteks annab järgmine valem tagasi väärtuste summa, mis on esitatud tabelis Läbimõõt veerus kahe lahtrites B1 ja B2 määratud elemendi vahel:
=SUM(INDEX(SourceData[Diameter],B1) : INDEX(SourceData[Diameter], B2))
4. INDEX-valem dünaamiliste vahemike ja ripploendite loomiseks
Nagu sageli juhtub, et kui hakkate andmeid töölehel organiseerima, ei pruugi te teada, kui palju kirjeid teil lõpuks on. Meie planeetide tabeli puhul ei ole see nii, see tundub olevat täielik, aga kes teab...
Igatahes, kui teil on muutuv arv elemente antud veerus, näiteks A1-st A-sse n , võite luua dünaamilise nimega vahemiku, mis hõlmab kõiki lahtreid, kus on andmeid. Seejuures soovite, et vahemik kohanduks automaatselt, kui lisate uusi kirjeid või kustutate mõne olemasoleva. Näiteks kui teil on praegu 10 kirjet, on teie nimega vahemik A1:A10. Kui lisate uue kirje, laieneb nimega vahemik automaatselt A1:A11, ja kui muudate oma arvamust ja kustutate äsja lisatud andmed,muutub vahemik automaatselt A1:A10.
Selle lähenemisviisi peamine eelis on see, et te ei pea pidevalt uuendama oma töövihikus kõiki valemeid, et need viitaksid õigetele vahemikele.
Üks võimalus dünaamilise vahemiku määramiseks on kasutada Exceli OFFSET funktsiooni:
=OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)
Teine võimalik lahendus on kasutada Exceli INDEXi koos COUNTAga:
=Leht_Nimi!$A$1:INDEX(Leht_Nimi!$A:$A, COUNTA(Leht_Nimi!$A:$A))
Mõlema valemi puhul on A1 lahter, mis sisaldab nimekirja esimest elementi, ja mõlema valemi tekitatud dünaamiline vahemik on identne.
Erinevus seisneb lähenemisviisis. Kui funktsioon OFFSET liigub alguspunktist teatud arvu ridade ja/või veergude võrra, siis INDEX leiab lahtri konkreetse rea ja veeru ristumiskohast. Mõlemas valemis kasutatav funktsioon COUNTA saab huvipakkuvas veerus olevate mittetühjade lahtrite arvu.
Selles näites on veerus A 9 mitte tühja lahtrit, seega COUNTA tagastab 9. Järelikult tagastab INDEX $A$9, mis on viimane kasutatud lahter veerus A (tavaliselt tagastab INDEX väärtuse, kuid selles valemis sunnib viiteoperaator (:) tagastama viite). Ja kuna $A$1 on meie alguspunkt, on valemi lõpptulemuseks vahemik $A$1:$A$9.
Järgnev ekraanipilt näitab, kuidas saate kasutada sellist indeksivalemit dünaamilise ripploendi loomiseks.
Vihje. Kõige lihtsam viis dünaamiliselt uuendatava ripploendi loomiseks on teha nimeline loend, mis põhineb tabelil. Sel juhul ei ole teil vaja mingeid keerulisi valemeid, sest Exceli tabelid on iseenesest dünaamilised vahemikud.
Sõltuvate ripploendite loomiseks saab kasutada ka funktsiooni INDEX ja järgnevas õpetuses selgitatakse selle samme: Kaskadiseeriva ripploendi koostamine Excelis.
5. Võimsad Vlookup'id INDEX / MATCH abil
Vertikaalsete otsingute tegemine - siin on INDEX-funktsioon tõeliselt hiilgav. Kui olete kunagi proovinud kasutada Exceli VLOOKUP-funktsiooni, siis teate hästi selle arvukaid piiranguid, näiteks võimetust tõmmata väärtusi otsinguväärtusest vasakule jäävatest veergudest või 255 tähemärgi piirangut otsinguväärtuse jaoks.
INDEX / MATCH-ühendus on VLOOKUP-ist mitmes mõttes parem:
- Vasakpoolsete vlookup'idega ei ole probleeme.
- Otsinguväärtuse suurus ei ole piiratud.
- Sorteerimine ei ole vajalik (VLOOKUP ligikaudse vaste korral on vaja sorteerida otsingusammas kasvavas järjekorras).
- Te võite vabalt lisada ja eemaldada tabeli veerge, ilma et uuendaksite kõiki seotud valemeid.
- Ja viimane, kuid mitte vähem tähtis, INDEX / MATCH ei aeglusta teie Exceli nagu mitu Vlookup'i.
Kasutage INDEX / MATCH järgmisel viisil:
=INDEX ( veerg, et tagastada väärtus , (MATCH ( otsinguväärtus , veerg, mille järgi otsida , 0))Näiteks kui me keerame oma lähtetabeli ümber nii, et Planeedi nimi muutub kõige parempoolsemaks veeruks, siis INDEX / MATCH valemiga saab endiselt probleemideta sobiva väärtuse vasakpoolsest veerust.
Rohkem nõuandeid ja valemite näiteid leiate Exceli INDEX / MATCH õpetusest.
6. Exceli INDEX-valem, et saada 1 vahemik vahemike loetelust välja
Teine nutikas ja võimas Exceli INDEX-funktsiooni kasutamine on võimalus saada üks vahemik vahemike loetelust.
Oletame, et teil on mitu loendit, kus igas on erinev arv elemente. Uskuge või mitte, aga te saate ühe valemiga arvutada keskmise või summeerida väärtusi mis tahes valitud vahemikus.
Kõigepealt loote igale nimekirjale nimelise vahemiku; olgu see siis PlanetsD ja MoonsD selles näites:
Ma loodan, et ülaltoodud pilt selgitab vahemike nimede põhjendusi : ) Muide, see Kuu tabel ei ole kaugeltki täielik, meie Päikesesüsteemis on teadaolevalt 176 looduslikku kuud, ainuüksi Jupiteril on praegu 63, ja edasi läheb. Selle näite jaoks valisin juhuslikult 11, noh... ehk mitte päris juhuslikku - kõige ilusama nimega kuud : )
Palun vabandage kõrvalepõige, tagasi meie INDEXi valemi juurde. Eeldades, et PlanetsD on teie vahemik 1 ja MoonsD on vahemik 2 ja lahter B1 on see, kuhu panite vahemiku numbri, saate kasutada järgmist indeksivalemit, et arvutada valitud nimega vahemiku väärtuste keskmine:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , B1))
Pöörake tähelepanu sellele, et nüüd kasutame funktsiooni INDEX viite vormi ja viimase argumendi number (area_num) ütleb valemile, millist vahemikku valida.
Allpool esitatud ekraanipildil on area_num (lahter B1) määratud 2, seega arvutab valem keskmise läbimõõdu Kuu sest vahemik MoonsD on võrdlusargumendis 2. kohal.
Kui töötate mitme nimekirjaga ja ei soovi vaeva näha seotud numbrite meelespidamisega, võite kasutada sisseehitatud IF-funktsiooni, mis teeb seda teie eest:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , , IF(B1="planets", 1, IF(B1="moons", 2))))
Funktsioonis IF kasutate mõningaid lihtsaid ja kergesti meeldejäävaid loendinimesid, mida soovite, et kasutajad sisestaksid numbrite asemel lahtrisse B1. Pidage seda meeles, et valem töötaks õigesti, peab tekst B1-s olema täpselt sama (suur- ja väiketähtedeta), mis IF-i parameetrites, vastasel juhul viskab teie indeksvalem #VALUE viga.
Et valemit veelgi kasutajasõbralikumaks muuta, saate kasutada andmete valideerimist, et luua etteantud nimedega rippmenüü, et vältida õigekirjavigu ja trükivigu:
Lõpuks, et muuta teie INDEX-valem täiesti täiuslikuks, võite lisada sellele IFERROR-funktsiooni, mis palub kasutajal valida kirje ripploendist, kui valikut ei ole veel tehtud:
=IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , , IF(B1="planeet", 1, IF(B1="moon", 2)))), "Palun valige nimekiri!")
Nii kasutate INDEX-vormeleid Excelis. Loodan, et need näited näitasid teile viisi, kuidas kasutada INDEX-funktsiooni potentsiaali oma töölehtedel. Tänan teid lugemise eest!