Ynhâldsopjefte
Yn dizze tutorial fine jo in oantal formulefoarbylden dy't de meast effisjinte gebrûk fan INDEX yn Excel sjen litte. INDEX soe grif earne yn de top 10 stean. Yntusken is dizze funksje tûk, soepel en alsidig.
Dus, wat is de INDEX-funksje yn Excel? Yn essinsje jout in INDEX-formule in selferwizing werom fanút in opjûne array of berik. Mei oare wurden, jo brûke INDEX as jo de posysje fan in elemint yn in berik kenne (of kinne berekkenje) en jo de werklike wearde fan dat elemint krije wolle.
Dit klinkt miskien wat triviaal, mar ien kear jo realisearje it echte potensjeel fan 'e INDEX-funksje, it kin krúsjale feroaringen meitsje oan' e manier wêrop jo gegevens yn jo wurkblêden berekkenje, analysearje en presintearje.
Excel INDEX-funksje - syntaksis en basisgebrûk
D'r binne twa ferzjes fan 'e INDEX-funksje yn Excel - arrayfoarm en referinsjefoarm. Beide foarmen kinne brûkt wurde yn alle ferzjes fan Microsoft Excel 365 - 2003.
INDEX-arrayfoarm
De INDEX-arrayfoarm jout de wearde werom fan in bepaald elemint yn in berik of array basearre op de rigel en kolomnûmers dy't jo oantsjutte.
INDEX(array, row_num, [column_num])- array - is in berik fan sellen, neamd berik, of tabel.
- row_num - is it rigenûmer yn 'e array wêrfan't in wearde weromjûn wurdt. As row_num isjout in wearde werom, mar yn dizze formule twingt de referinsjeoperator (:) it om in referinsje werom te jaan. En om't $A$1 ús útgongspunt is, is it einresultaat fan 'e formule it berik $A$1:$A$9.
De folgjende skermôfbylding lit sjen hoe't jo sa'n Index-formule brûke kinne om in dynamyske drop- te meitsjen. down list.
Tip. De maklikste manier om in dynamysk bywurke dellûklist te meitsjen is in nammelist te meitsjen basearre op in tabel. Yn dit gefal sille jo gjin komplekse formules nedich hawwe, om't Excel-tabellen per se dynamyske berik binne.
Jo kinne ek de INDEX-funksje brûke om ôfhinklike dellûklisten te meitsjen en de folgjende tutorial ferklearret de stappen: In cascadearjende dellûklist meitsje yn Excel.
5. Krêftige Vlookups mei INDEX / MATCH
It útfieren fan fertikale opsykjen - dit is wêr't de INDEX-funksje wirklik skynt. As jo oait besocht hawwe Excel VLOOKUP-funksje te brûken, binne jo goed bewust fan de tal fan beheiningen, lykas it ûnfermogen om wearden te lûken fan kolommen nei lofts fan 'e opsykkolom of 255 tekens limyt foar in opsykwearde.
De INDEX / MATCH liaison is superieur oan VLOOKUP yn in protte opsichten:
- Gjin problemen mei linkse vlookups.
- Gjin limyt foar de opsykweardegrutte.
- Gjin sortearring is fereaske (VLOOKUP mei sawat oerienkomst fereasket wol it sortearjen fan de opsykkolom yn oprinnende folchoarder).
- Jo binne frij om kolommen yn in tabel yn te foegjen en te ferwiderjen sûnder te aktualisearjenelke assosjearre formule.
- En de lêste mar net de minste, INDEX / MATCH fertraget jo Excel net lykas meardere Vlookups dogge.
Jo brûke INDEX / MATCH op de folgjende manier :
=INDEX ( kolom om in wearde werom te jaan fan , (MATCH ( opsykwearde , kolom om op te sykjen tsjin , 0))Foar Bygelyks, as wy ús boarnetabel omdraaie sadat Planet Name de meast rjochterste kolom wurdt, hellet de INDEX / MATCH-formule noch sûnder mis in oerienkommende wearde út 'e lofterkant.
Foar mear tips en formulefoarbylden, sjoch asjebleaft it Excel INDEX / MATCH tutorial.
6. Excel INDEX formule om 1 berik te krijen fan in list mei berik
In oar tûk en krêftich gebrûk fan de INDEX-funksje yn Excel is de mooglikheid om ien berik te krijen fan in list mei berik.
Stel dat jo ferskate listen hawwe mei in oar oantal items yn elk. Leau my of net, jo kinne it gemiddelde berekkenje of de wearden yn elk selektearre berik mei ien formule berekkenje.
Earst meitsje jo e in neamd berik foar elke list; lit it PlanetsD en MoonsD wêze yn dit foarbyld:
Ik hoopje dat de boppesteande ôfbylding de redenearring efter de nammen fan 'e beriken ferklearret :) BTW, de Moannen -tabel is fier fan folslein, d'r binne 176 bekende natuerlike moannen yn ús sinnestelsel, Jupiter allinich hat op it stuit 63, en telle. Foar dit foarbyld haw ik willekeurige 11 keazen, no ... miskien net hielendal willekeurich -manen mei de moaiste nammen : )
Sjoch asjebleaft de ôfwiking, werom nei ús INDEX-formule. Oannommen dat PlanetsD jo berik 1 is en MoonsD berik 2 is, en sel B1 is wêr't jo it beriknûmer pleatse, kinne jo de folgjende yndeksformule brûke om it gemiddelde fan wearden yn te berekkenjen it selektearre neamde berik:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , B1))
Let op dat wy no de Referinsjefoarm fan de INDEX-funksje brûke, en it nûmer yn it lêste argumint (area_num) fertelt de formule hokker berik kies.
Yn it skermôfbylding hjirûnder is area_num (sel B1) ynsteld op 2, sadat de formule de gemiddelde diameter fan Moannen berekkent, om't it berik MoonsD 2e komt yn it referinsjeargumint.
As jo mei meardere listen wurkje en jo de byhearrende nûmers net lestich falle wolle, dan kinne jo in geneste IF-funksje brûke om dit foar jo te dwaan :
=AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planets", 1, IF(B1="moons", 2))))
Yn de IF-funksje brûke jo inkele ienfâldige en maklik te ûnthâlden listnammen dy't jo wolle dat jo brûkers yn sel B1 typearje ynstee fan nûmers. Hâld dit asjebleaft yn gedachten, foar de formule om goed te wurkjen, moat de tekst yn B1 krekt itselde wêze (hoofdlettergefoel) as yn de parameters fan it IF, oars sil jo Indexformule de #VALUE-flater smyt.
Om de formule noch brûkerfreonliker te meitsjen, kinne jo Gegevensvalidaasje brûke om in útklaplist te meitsjen mei foarôf definieare nammen om staveringsflaters te foarkommen enmisprints:
Uteinlik, om jo INDEX-formule absolút perfekt te meitsjen, kinne jo it ynslute yn 'e IFERROR-funksje dy't de brûker sil freegje om in item te kiezen út' e útklaplist as der noch gjin seleksje makke is:
=IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planet", 1, IF(B1="moon", 2)))), "Please select the list!")
Dit is hoe't jo INDEX-formules brûke yn Excel. Ik hoopje dat dizze foarbylden jo in manier hawwe sjen litten om it potensjeel fan 'e INDEX-funksje yn jo wurkblêden te benutten. Tankewol foar it lêzen!
weilitten, column_num is fereaske. - column_num - is it kolomnûmer wêrfan in wearde weromjûn wurdt. As column_num weilitten wurdt, is row_num ferplicht.
Bygelyks jout de formule =INDEX(A1:D6, 4, 3)
de wearde werom op it krúspunt fan de 4e rige en de 3e kolom yn berik A1:D6, dat is de wearde yn sel C4 .
Om in idee te krijen fan hoe't de INDEX-formule wurket op echte gegevens, sjoch asjebleaft it folgjende foarbyld:
Ynstee fan de rige yn te gean en kolomnûmers yn 'e formule, kinne jo de selferwizings leverje om in mear universele formule te krijen: =INDEX($B$2:$D$6, G2, G1)
Dus, dizze INDEX-formule jout it oantal items krekt werom op 'e krusing fan it produktnûmer spesifisearre yn G2 (row_num ) en wikenûmer ynfierd yn sel G1 (column_num).
Tip. It brûken fan absolute referinsjes ($B$2:$D$6) ynstee fan relative referinsjes (B2:D6) yn it array-argumint makket it makliker om de formule nei oare sellen te kopiearjen. As alternatyf kinne jo in berik omsette yn in tabel ( Ctrl + T ) en ferwize nei it troch de tabelnamme.
INDEX-arrayfoarm - dingen om te ûnthâlden
- As it array-argumint mar út ien rige of kolom bestiet, kinne jo it korrespondearjende row_num of column_num-argumint al of net oantsjutte.
- As it array-argumint mear as ien rige omfettet en row_num is weilitten of ynsteld op 0, jout de INDEX-funksje in array fan 'e hiele kolom werom. Lykas, as array mear as ien omfettetkolom en it argumint column_num wurdt weilitten of ynsteld op 0, jout de INDEX-formule de hiele rige werom. Hjir is in formulefoarbyld dat dit gedrach oantoand.
- De arguminten row_num en column_num moatte ferwize nei in sel binnen array; oars sil de INDEX-formule de #REF! flater.
INDEX-referinsjefoarm
De referinsjefoarm fan de Excel INDEX-funksje jout de selferwizing werom op it krúspunt fan de opjûne rige en kolom.
INDEX(reference, row_num , [column_num], [area_num] )- referinsje - is ien of mear berik.
As jo mear as ien berik ynfiere, skiede de berikken troch komma's en slute it referinsjeargumint tusken heakjes, bygelyks (A1:B5, D1:F5).
As elk berik yn referinsje allinich befettet ien rige of kolom, it oerienkommende row_num of column_num argumint is opsjoneel.
- row_num - it rigenûmer yn it berik wêrút in selferwizing weromjûn wurdt, it is gelyk oan de array formulier.
- column_num - it kolomnûmer dêr't in selferwizing út weromjûn wurdt, wurket ek lykas de arrayfoarm.
- area_num - in opsjonele parameter dy't spesifisearret hokker berik fan it referinsjeargumint te brûken. As it weilitten wurdt, sil de INDEX-formule it resultaat weromjaan foar it earste berik dat yn referinsje stiet.
Bygelyks jout de formule =INDEX((A2:D3, A5:D7), 3, 4, 2)
de wearde fan sel D7 werom, dy't by dekrusing fan de 3e rige en 4e kolom yn it twadde gebiet (A5:D7).
INDEX referinsjeformulier - dingen om te ûnthâlden
- As it argumint row_num of column_num is op nul (0) ynsteld, in INDEX-formule jout de referinsje foar respektivelik de hiele kolom of rige werom.
- As sawol row_num as column_num wurde weilitten, jout de INDEX-funksje it gebiet werom yn it argumint area_num.
- Alle _num arguminten (row_num, column_num en area_num) moatte ferwize nei in sel binnen referinsje; oars sil de INDEX-formule de #REF! flater.
Beide INDEX-formules dy't wy oant no ta besprutsen hawwe binne heul ienfâldich en yllustrearje allinich it konsept. Jo echte formules binne wierskynlik folle komplekser dan dat, dus litte wy in pear meast effisjinte gebrûk fan INDEX yn Excel ûndersykje.
Hoe kinne jo de INDEX-funksje brûke yn Excel - formulefoarbylden
Miskien is d'r binne net in protte praktyske gebrûk fan Excel INDEX op himsels, mar yn kombinaasje mei oare funksjes lykas MATCH of COUNTA, kin it tige krêftige formules meitsje.
Boarnegegevens
Al ús INDEX-formules (útsein foar de lêste), sille wy de ûndersteande gegevens brûke. Foar gemak is it organisearre yn in tabel mei de namme SourceData .
It brûken fan tabellen of neamde berik kin formules meitsje wat langer, mar it makket se ek oanmerklik fleksibeler en better lêsber. Om elke INDEX oan te passenformule foar jo wurkblêden, jo hoege mar ien namme te feroarjen, en dit makket folslein goed foar in langere formule-lingte.
Fansels hinderet neat dat jo gewoane berik brûke as jo wolle. Yn dit gefal ferfange jo gewoan de tabelnamme SourceData mei de passende berikferwizing.
1. It Nth-item fan 'e list krije
Dit is it basisgebrûk fan 'e INDEX-funksje en in ienfâldichste formule om te meitsjen. Om in bepaald item út 'e list te heljen, skriuwe jo gewoan =INDEX(range, n)
wêr't berik in berik fan sellen of in neamd berik is, en n is de posysje fan it item dat jo krije wolle.
As jo wurkje mei Excel-tabellen, kinne jo de kolom selektearje mei de mûs en Excel sil de namme fan de kolom tegearre mei de tabelnamme lûke yn 'e formule:
Om in wearde fan 'e sel te krijen op' e krusing fan in opjûne rige en kolom, brûke jo deselde oanpak mei it ienige ferskil dat jo beide oantsjutte - it rigenûmer en it kolomnûmer. Yn feite, jo seagen sa'n formule al yn aksje doe't wy bepraten INDEX array foarm.
En hjir is noch ien foarbyld. Yn ús foarbyldtabel, om de 2e grutste planeet yn it sinnestelsel te finen, sortearje jo de tabel op 'e kolom Diameter , en brûke de folgjende INDEX-formule:
=INDEX(SourceData, 2, 3)
-
Array
is de tabelnamme, of in berikferwizing, SourceData yn dit foarbyld. -
Row_num
is 2 omdat jo sykje nei it twadde itemyn 'e list, dy't yn' e 2e -
Column_num
is 3, om't Diameter de 3e kolom yn 'e tabel is.
As jo de planeet's weromjaan wolle namme ynstee fan diameter, feroarje column_num nei 1. En fansels kinne jo in selferwizing brûke yn 'e row_num en/of column_num arguminten om jo formule alsidiger te meitsjen, lykas oantoand yn 'e skermprint hjirûnder:
2. Alle wearden yn in rige of kolom krije
Njonken it opheljen fan in inkele sel, is de INDEX-funksje by steat om in array fan wearden werom te jaan út de hiele rige of kolom . Om alle wearden út in bepaalde kolom te heljen, moatte jo it row_num-argumint weilitte of op 0 sette. Likegoed, om de hiele rige te krijen, passe jo lege wearde of 0 yn column_num troch.
Sokke INDEX-formules kinne amper wurde op har eigen brûkt, om't Excel net by steat is om de array fan wearden werom te passen troch de formule yn ien sel, en jo soene de #VALUE! flater ynstee. As jo lykwols INDEX brûke yn kombinaasje mei oare funksjes, lykas SUM of AVERAGE, sille jo geweldige resultaten krije.
Jo kinne bygelyks de folgjende formule brûke om de gemiddelde planeettemperatuer yn it sinnestelsel te berekkenjen:
=AVERAGE(INDEX(SourceData, , 4))
Yn de boppesteande formule is it argumint column_num 4 omdat Temperatuer yn 'e 4e kolom yn ús tabel. De parameter row_num wurdt weilitten.
Op deselde wize kinne jo it minimum en maksimum finetemperatueren:
=MAX(INDEX(SourceData, , 4))
=MIN(INDEX(SourceData, , 4))
En berekkenje de totale planeetmassa (massa is de 2e kolom yn 'e tabel):
=SUM(INDEX(SourceData, , 2))
Ut praktysk eachpunt is de INDEX-funksje yn 'e boppesteande formule oerstallich. Jo kinne gewoan =AVERAGE(range)
of =SUM(range)
skriuwe en deselde resultaten krije.
As jo wurkje mei echte gegevens, kin dizze funksje nuttich wêze as ûnderdiel fan kompleksere formules dy't jo brûke foar gegevensanalyse.
3. It brûken fan INDEX mei oare funksjes (SUM, AVERAGE, MAX, MIN)
Fan 'e foargeande foarbylden kinne jo ûnder de yndruk wêze dat in INDEX-formule wearden jout, mar de realiteit is dat it in referinsje jout nei de sel mei de wearde. En dit foarbyld toant de wiere aard fan 'e Excel INDEX-funksje oan.
Om't it resultaat fan in INDEX-formule in referinsje is, kinne wy it brûke binnen oare funksjes om in dynamysk berik te meitsjen. Klinkt betiizjend? De folgjende formule sil alles dúdlik meitsje.
Stel dat jo in formule =AVERAGE(A1:A10)
hawwe dy't in gemiddelde werombringt fan de wearden yn sellen A1:A10. Ynstee fan it berik direkt yn 'e formule te skriuwen, kinne jo A1 of A10, of beide, ferfange troch INDEX-funksjes, lykas dit:
=AVERAGE(A1 : INDEX(A1:A20,10))
Beide boppesteande formules sille itselde leverje resultaat omdat de INDEX funksje ek jout in ferwizing nei sel A10 (row_num is ynsteld op 10, col_num weilitten). It ferskil is dat it berik de AVERAGE / INDEX formule is dynamysk,en as jo it argumint row_num yn INDEX wizigje, sil it berik ferwurke troch de AVERAGE-funksje feroarje en sil de formule in oar resultaat jaan.
Blykber liket de rûte fan de INDEX-formule te yngewikkeld, mar it hat praktyske tapassingen , lykas oantoand yn de folgjende foarbylden.
Foarbyld 1. Berekkenje it gemiddelde fan de top N items yn de list
Litte wy sizze dat jo de gemiddelde diameter fan de N grutste planeten yn ús systeem witte wolle . Dat, jo sortearje de tabel op kolom Diameter fan grut nei lyts, en brûk de folgjende formule foar gemiddelde / yndeks:
=AVERAGE(C5 : INDEX(SourceData[Diameter], B1))
Foarbyld 2. Som items tusken de oantsjutte twa items
As jo de boppe- en ûnderbûne items yn jo formule definiearje wolle, moatte jo gewoan twa INDEX-funksjes brûke om de earste en de werom te jaan lêste item dat jo wolle.
Bygelyks, de folgjende formule jout de som fan wearden werom yn de kolom Diameter tusken de twa items spesifisearre yn sellen B1 en B2:
=SUM(INDEX(SourceData[Diameter],B1) : INDEX(SourceData[Diameter], B2))
4. INDEX-formule om dynamyske berik en dellûklisten te meitsjen
Sa't it faak bart, as jo begjinne mei it organisearjen fan gegevens yn in wurkblêd, kinne jo miskien net witte hoefolle yngongen jo úteinlik sille hawwe. It is net it gefal mei ús planetentabel, dy't kompleet liket te wêzen, mar wa wit ...
Yn alle gefallen, as jo in feroarjend oantal items hawwe yn in opjûne kolom, sis dan fan A1 nei A n ,jo kinne in dynamysk neamd berik meitsje dat alle sellen mei gegevens omfettet. Dan wolle jo dat it berik automatysk oanpasse as jo nije items tafoegje of guon fan 'e besteande wiskje. Bygelyks, as jo op it stuit 10 items hawwe, is jo neamde berik A1:A10. As jo in nije yngong tafoegje, wreidet it neamde berik automatysk út nei A1:A11, en as jo fan gedachten feroarje en dy nij tafoege gegevens wiskje, giet it berik automatysk werom nei A1:A10.
It wichtichste foardiel fan dit oanpak is dat jo net alle formules yn jo wurkboek konstant hoege te aktualisearjen om te soargjen dat se ferwize nei juste berikken.
Ien manier om in dynamysk berik te definiearjen is it brûken fan Excel OFFSET-funksje:
=OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)
In oare mooglike oplossing is om Excel INDEX te brûken tegearre mei COUNTA:
=Sheet_Name!$A$1:INDEX(Sheet_Name!$A:$A, COUNTA(Sheet_Name!$A:$A))
Yn beide formules is A1 de sel mei it earste item fan 'e list en it produsearre dynamyske berik troch beide formules sil identyk wêze.
It ferskil sit yn 'e oanpakken. Wylst de OFFSET-funksje beweecht fan it begjinpunt troch in bepaald oantal rigen en / of kolommen, fynt INDEX in sel op 'e krusing fan in bepaalde rige en kolom. De COUNTA-funksje, brûkt yn beide formules, krijt it oantal net-lege sellen yn 'e kolom fan belang.
Yn dit foarbyld binne d'r 9 net-lege sellen yn kolom A, dus COUNTA jout 9. Dêrtroch jout INDEX $A$9 werom, dat is de lêst brûkte sel yn kolom A (meastentiids INDEX