Satura rādītājs
Šajā pamācībā atradīsiet vairākus formulu piemērus, kas demonstrē visefektīvāko INDEX lietojumu programmā Excel.
No visām Excel funkcijām, kuru iespējas bieži tiek nepietiekami novērtētas un izmantotas, INDEX noteikti ierindotos kaut kur starp 10 labākajām. Tikmēr šī funkcija ir gudra, elastīga un daudzpusīga.
Kas ir INDEX funkcija programmā Excel? Būtībā INDEX formula atgriež atsauci uz šūnu no konkrēta masīva vai diapazona. Citiem vārdiem sakot, INDEX funkciju izmantojat, ja zināt (vai varat aprēķināt) elementa pozīciju diapazonā un vēlaties iegūt šī elementa faktisko vērtību.
Tas var šķist mazliet triviāli, taču, kad apzināties INDEX funkcijas reālās iespējas, tā var būtiski mainīt veidu, kā aprēķināt, analizēt un attēlot datus darblapās.
Excel INDEX funkcija - sintakse un galvenie lietojumi
Excel ir divas funkcijas INDEX versijas - masīva forma un atsauces forma. Abas formas var izmantot visās Microsoft Excel 365-2003 versijās.
INDEX masīva forma
INDEX masīva forma atgriež noteikta elementa vērtību diapazonā vai masīvā, pamatojoties uz norādītajiem rindas un kolonnas numuriem.
INDEX(masīvs, rindas_num, [kolonnas_num])- masīvs - ir šūnu diapazons, nosaukts diapazons vai tabula.
- rindu_num - ir rindas numurs masīvā, no kura jāatgriež vērtība. Ja rindas_num ir izlaists, ir nepieciešams kolonnas_num.
- column_num - ir kolonnas numurs, no kuras jāatgriež vērtība. Ja kolonnas_num ir izlaists, ir nepieciešams rindas_num.
Piemēram, formula =INDEX(A1:D6, 4, 3)
atgriež vērtību, kas atrodas diapazona A1:D6 4. rindas un 3. slejas krustpunktā, kas ir vērtība šūnā C4.
Lai gūtu priekšstatu par to, kā INDEX formula darbojas ar reāliem datiem, aplūkojiet šādu piemēru:
Tā vietā, lai formulā ievadītu rindas un kolonnas numurus, varat ievadīt šūnu atsauces, tādējādi iegūstot universālāku formulu: =INDEX($B$2:$D$6, G2, G1)
Tātad šī INDEX formula atgriež preču skaitu tieši G2 (rindas_numurs) un G1 (slejas_numurs) šūnā ievadītā nedēļas numura krustpunktā.
Padoms. Izmantojot absolūtās atsauces ($B$2:$D$6), nevis relatīvās atsauces (B2:D6) masīva argumentā, ir vieglāk kopēt formulu uz citām šūnām. Varat arī pārveidot diapazonu par tabulu ( Ctrl + T ) un atsaukties uz to, izmantojot tabulas nosaukumu.
INDEX masīva forma - kas jāatceras
- Ja masīva arguments sastāv tikai no vienas rindas vai kolonnas, var norādīt vai nenorādīt atbilstošo rindu_num vai kolonnu_num argumentu.
- Ja masīva arguments ietver vairāk nekā vienu rindu un rindu_num ir izlaists vai iestatīts uz 0, INDEX funkcija atgriež visu kolonnu masīvu. Līdzīgi, ja masīvs ietver vairāk nekā vienu kolonnu un kolonnu_num arguments ir izlaists vai iestatīts uz 0, INDEX formula atgriež visu rindu. Šeit ir formulas piemērs, kas demonstrē šādu rīcību.
- Argumentiem rindu_num un kolonnu_num ir jāatsaucas uz šūnu masīvā, pretējā gadījumā INDEX formula atgriezīs #REF! kļūdu.
INDEX atsauces veidlapa
Excel INDEX funkcijas atsauces forma atgriež šūnas atsauci norādītās rindas un kolonnas krustpunktā.
INDEX(atsauce, rindas_num, [kolonnas_num], [apgabala_num] )- atsauce - ir viens vai vairāki diapazoni.
Ja ievadāt vairāk nekā vienu diapazonu, atdaliet diapazonus ar komatiem un atsauču argumentu ielieciet iekavās, piemēram, (A1:B5, D1:F5).
Ja katrs atsauces diapazons satur tikai vienu rindu vai kolonnu, attiecīgais rindu_num vai kolonnu_num arguments nav obligāts.
- rindu_num - rindas numuru diapazonā, no kura jāatgriež šūnas atsauce, tas ir līdzīgi kā masīva formā.
- column_num - kolonnas numurs, no kuras jāatgriež šūnas atsauce, arī darbojas līdzīgi kā masīva forma.
- area_num - neobligāts parametrs, kas norāda, kuru atsauces argumenta diapazonu izmantot. Ja parametrs nav norādīts, INDEX formula atgriezīs rezultātu pirmajam atsauces argumentā uzskaitītajam diapazonam.
Piemēram, formula =INDEX((A2:D3, A5:D7), 3, 4, 2)
atgriež šūnas D7 vērtību, kas atrodas otrās zonas (A5:D7) 3. rindas un 4. slejas krustpunktā.
INDEX atsauces veidlapa - kas jāatceras
- Ja argumentam rindu_num vai kolonnu_num ir iestatīta nulle (0), INDEX formula atgriež atsauci attiecīgi uz visu kolonnu vai rindu.
- Ja ir izlaisti gan rindu_num, gan kolonnu_num, funkcija INDEX atgriež apgabalu, kas norādīts argumentā area_num.
- Visiem _num argumentiem (rindu_num, kolonnu_num un apgabalu_num) ir jāattiecas uz šūnu, uz kuru ir atsauce; pretējā gadījumā INDEX formula atgriezīs #REF! kļūdu.
Abas līdz šim aplūkotās INDEX formulas ir ļoti vienkāršas un tikai ilustrē šo koncepciju. Jūsu reālās formulas, visticamāk, būs daudz sarežģītākas, tāpēc izpētīsim dažus efektīvākos INDEX lietojumus programmā Excel.
Kā lietot INDEX funkciju programmā Excel - formulas piemēri
Iespējams, Excel INDEX pats par sevi nav daudz praktisku pielietojumu, taču kombinācijā ar citām funkcijām, piemēram, MATCH vai COUNTA, to var izmantot kā ļoti spēcīgu formulu.
Avota dati
Visās mūsu INDEX formulās (izņemot pēdējo formulu) mēs izmantosim tālāk norādītos datus. Ērtības labad tie ir sakārtoti tabulā ar nosaukumu SourceData .
Tabulu vai nosaukto diapazonu izmantošana var padarīt formulas nedaudz garākas, taču tas arī padara tās ievērojami elastīgākas un labāk salasāmas. Lai pielāgotu jebkuru INDEX formulu darblapām, ir jāmaina tikai viens nosaukums, un tas pilnībā kompensē formulas garumu.
Protams, nekas neliedz jums izmantot parastos diapazonus, ja vēlaties. Šajā gadījumā jūs vienkārši aizstājat tabulas nosaukumu SourceData ar atbilstošu diapazona atsauci.
1. N-tā elementa iegūšana no saraksta
Tas ir INDEX funkcijas pamatizmantošanas veids un visvienkāršākā formula. Lai iegūtu noteiktu elementu no saraksta, vienkārši rakstiet. =INDEX(diapazons, n)
kur diapazons ir šūnu diapazons vai nosaukts diapazons, un n ir vēlamā vienuma pozīcija.
Strādājot ar Excel tabulām, varat atlasīt kolonnu, izmantojot peli, un Excel formulā kopā ar tabulas nosaukumu ievilks kolonnas nosaukumu:
Lai iegūtu šūnas vērtību konkrētās rindas un kolonnas krustpunktā, izmantojiet to pašu pieeju, tikai ar to atšķirību, ka norādiet abus - rindas numuru un kolonnas numuru. Patiesībā šādu formulu jau redzējāt darbībā, kad mēs runājām par INDEX masīva formu.
Un vēl viens piemērs. Mūsu parauga tabulā, lai atrastu otro lielāko planētu Saules sistēmā, jūs sakārtojat tabulu pēc. Diametrs kolonnu un izmantojiet šādu INDEX formulu:
=INDEX(SourceData, 2, 3)
Masīvs
ir tabulas nosaukums vai atsauce uz diapazonu, SourceData šajā piemērā.Rindas_num
ir 2, jo jūs meklējat otro elementu sarakstā, kas atrodas 2. sarakstā.Column_num
ir 3, jo Diametrs ir tabulas 3. aile.
Ja vēlaties atgriezt planētas nosaukumu, nevis diametru, mainiet kolonnas_num uz 1. Un, protams, varat izmantot šūnu atsauci argumentos rindu_num un/vai kolonnu_num, lai padarītu savu formulu daudzpusīgāku, kā parādīts zemāk redzamajā ekrānšā attēlā:
2. Visu vērtību iegūšana rindā vai slejā
Papildus vienas šūnas iegūšanai funkcija INDEX var atgriezt vērtību masīvu no elementa visa rinda vai sleja . Lai iegūtu visas vērtības no konkrētas kolonnas, ir jāizlaiž rindu_num arguments vai jānozīmē tas 0. Tāpat, lai iegūtu visu rindu, kolonnas_num argumentā jānorāda tukša vērtība vai 0.
Šādas INDEX formulas diez vai var izmantot atsevišķi, jo Excel nespēj ievietot formulas atgriežamo vērtību masīvu vienā šūnā, un tā vietā jūs saņemtu #VALUE! kļūdu. Tomēr, ja INDEX izmantosiet kopā ar citām funkcijām, piemēram, SUM vai AVERAGE, jūs iegūsiet lieliskus rezultātus.
Piemēram, lai aprēķinātu planētas vidējo temperatūru Saules sistēmā, varat izmantot šādu formulu:
=AVERAGE(INDEX(SourceData, , 4))
Iepriekš minētajā formulā kolonnas_num arguments ir 4, jo Temperatūra mūsu tabulas 4. slejā. Parametrs rindu_num ir izlaists.
Līdzīgā veidā varat atrast minimālo un maksimālo temperatūru:
=MAX(INDEX(SourceData, , 4))
=MIN(INDEX(SourceData, , 4))
Un aprēķiniet kopējo planētas masu (masa ir tabulas 2. aile):
=SUM(INDEX(SourceData, , 2))
No praktiskā viedokļa INDEX funkcija iepriekš minētajā formulā ir lieka. Var vienkārši rakstīt =AVERAGE(diapazons)
vai =SUM(diapazons)
un iegūsiet tos pašus rezultātus.
Strādājot ar reāliem datiem, šī funkcija var būt noderīga kā daļa no sarežģītākām formulām, ko izmantojat datu analīzei.
3. INDEX izmantošana kopā ar citām funkcijām (SUM, AVERAGE, MAX, MIN)
No iepriekš minētajiem piemēriem var rasties iespaids, ka INDEX formula atgriež vērtības, taču patiesībā tā atgriež vērtību. atsauce uz šūnu, kurā ir vērtība. Šis piemērs parāda Excel INDEX funkcijas patieso būtību.
Tā kā INDEX formulas rezultāts ir atsauce, mēs to varam izmantot citās funkcijās, lai izveidotu. dinamiskais diapazons . Izklausās mulsinoši? Ar šo formulu viss būs skaidrs.
Pieņemsim, ka jums ir formula = VIDĒJAIS(A1:A10)
Tā vietā, lai formulā tieši ierakstītu diapazonu, varat aizstāt A1 vai A10, vai abas, izmantojot INDEX funkcijas, piemēram, šādā veidā:
= VIDĒJAIS(A1 : INDEKSS(A1:A20,10))
Abas iepriekš minētās formulas dos vienādu rezultātu, jo arī INDEX funkcija atgriež atsauci uz šūnu A10 (rindas_num ir iestatīts uz 10, col_num ir izlaists). Atšķirība ir tāda, ka AVERAGE / INDEX formulas diapazons ir dinamisks, un, mainot INDEX argumentu rindas_num, mainīsies arī diapazons, ko apstrādā AVERAGE funkcija, un formula atgriezīs citu rezultātu.
Šķiet, ka INDEX formulas maršruts šķiet pārāk sarežģīts, taču tam ir praktisks pielietojums, kā parādīts turpmākajos piemēros.
Piemērs 1. Aprēķiniet vidējo vērtību no N saraksta pirmajiem elementiem.
Pieņemsim, ka vēlaties uzzināt N lielāko planētu vidējo diametru mūsu sistēmā. Tātad, jūs sakārtojat tabulu pēc. Diametrs kolonnu no lielākās uz mazāko un izmantojiet šādu formulu Vidējais / Indekss:
=AVERAGE(C5 : INDEX(SourceData[Diameter], B1))
Piemērs 2. Summējiet vienumus starp norādītajiem diviem vienumiem
Ja vēlaties formulā definēt augšējo un apakšējo robežu, jums vienkārši jāizmanto divas INDEX funkcijas, lai atgrieztu pirmo un pēdējo vajadzīgo elementu.
Piemēram, pēc šādas formulas tiek iegūta vērtību summa, kas atrodas Diametrs slejā starp diviem elementiem, kas norādīti B1 un B2 šūnās:
=SUM(INDEX(SourceData[Diametrs],B1) : INDEX(SourceData[Diametrs], B2))
4. INDEX formula, lai izveidotu dinamiskus diapazonus un nolaižamos sarakstus.
Bieži gadās, ka, sākot organizēt datus darblapā, jūs varat nezināt, cik daudz ierakstu jums galu galā būs. Tas neattiecas uz mūsu planētu tabulu, kas, šķiet, ir pilnīga, bet kas zina...
Jebkurā gadījumā, ja attiecīgajā slejā mainās elementu skaits, piemēram, no A1 līdz A. n , jūs, iespējams, vēlaties izveidot dinamisku nosaukto diapazonu, kas ietver visas šūnas ar datiem. Tajā pašā laikā jūs vēlaties, lai diapazons automātiski pielāgotos, kad pievienojat jaunus elementus vai dzēšat dažus no esošajiem. Piemēram, ja pašlaik ir 10 elementi, jūsu nosauktais diapazons ir A1:A10. Ja jūs pievienojat jaunu ierakstu, nosauktais diapazons automātiski paplašinās līdz A1:A11, un, ja jūs pārdomājat un dzēšat jaunpievienotos datus,diapazons automātiski atgriežas pie A1:A10.
Šīs pieejas galvenā priekšrocība ir tā, ka nav pastāvīgi jāatjaunina visas formulas darbgrāmatā, lai nodrošinātu, ka tās attiecas uz pareiziem diapazoniem.
Viens no veidiem, kā definēt dinamisko diapazonu, ir izmantot Excel OFFSET funkciju:
=OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)
Vēl viens iespējams risinājums ir izmantot Excel INDEX kopā ar COUNTA:
=Sheet_Name!$A$1:INDEX(Sheet_Name!$A:$A, COUNTA(Sheet_Name!$A:$A))
Abās formulās A1 ir šūna, kurā atrodas pirmais saraksta elements, un abu formulu izveidotais dinamiskais diapazons būs identisks.
Atšķirība ir pieejās. Kamēr OFFSET funkcija pārvietojas no sākuma punkta par noteiktu rindu un/vai kolonnu skaitu, INDEX atrod šūnu konkrētas rindas un kolonnas krustpunktā. Abās formulās izmantotā COUNTA funkcija iegūst interesējošās kolonnas nepilno šūnu skaitu.
Šajā piemērā A slejā ir 9 ailes, kas nav tukšas, tāpēc COUNTA atgriež 9. Tādējādi INDEX atgriež $A$9, kas ir pēdējā izmantotā A slejas šūna (parasti INDEX atgriež vērtību, bet šajā formulā atsauces operators (:) liek atgriezt atsauci). Tā kā $A$1 ir sākuma punkts, formulas galarezultāts ir diapazons $A$1:$A$9.
Nākamajā ekrānšāviņš parāda, kā var izmantot šādu indeksa formulu, lai izveidotu dinamisku nolaižamo sarakstu.
Padoms. Visvienkāršākais veids, kā izveidot dinamiski atjaunināmu nolaižamo sarakstu, ir izveidot nosaukumu sarakstu, pamatojoties uz tabulu. Šajā gadījumā jums nebūs nepieciešamas nekādas sarežģītas formulas, jo Excel tabulas pašas par sevi ir dinamiski diapazoni.
Varat arī izmantot INDEX funkciju, lai izveidotu atkarīgus nolaižamos sarakstus, un šajā pamācībā ir izskaidroti šādi soļi: Kaskādes nolaižamā saraksta izveide programmā Excel.
5. Jaudīgi Vlookups ar INDEX / MATCH
Vertikālās meklēšanas veikšana - tieši šeit INDEX funkcija patiesi spīd. Ja esat kādreiz mēģinājis izmantot Excel VLOOKUP funkciju, jūs labi zināt tās daudzos ierobežojumus, piemēram, neiespējamību iegūt vērtības no kolonnām pa kreisi no meklēšanas kolonnas vai 255 zīmju ierobežojumu meklēšanas vērtībai.
INDEX / MATCH saite daudzos aspektos ir pārāka par VLOOKUP:
- Nav problēmu ar kreisās vlookups.
- Nav ierobežojuma meklēšanas vērtības lielumam.
- Nav nepieciešama šķirošana (VLOOKUP ar aptuvenu sakritību pieprasa šķirot meklēšanas kolonnu augošā secībā).
- Varat brīvi ievietot un dzēst tabulas kolonnas, neatjauninot katru saistīto formulu.
- Visbeidzot, bet ne mazāk svarīgi, INDEX / MATCH nepalēnina Excel darbību, kā to dara vairāki Vlookups.
INDEX / MATCH var izmantot šādi:
=INDEX ( slejā, lai atgrieztu vērtību no , (MATCH ( meklēšanas vērtība , sleja, pēc kuras meklēt , 0))Piemēram, ja mēs apgriežam avota tabulu tā, ka Planētas nosaukums kļūst par galējo labo kolonnu, INDEX / MATCH formula joprojām bez aizķeršanās iegūst atbilstošo vērtību no kreisās kolonnas.
Lai iegūtu vairāk padomu un formulas piemēru, skatiet Excel INDEX / MATCH pamācību.
6. Excel INDEX formula, lai iegūtu 1 diapazonu no diapazonu saraksta
Vēl viena gudra un jaudīga INDEX funkcijas izmantošana programmā Excel ir iespēja iegūt vienu diapazonu no diapazonu saraksta.
Pieņemsim, ka jums ir vairāki saraksti ar atšķirīgu elementu skaitu katrā no tiem. Ticiet man vai nē, jūs varat aprēķināt vidējo vērtību vai summēt vērtības jebkurā izvēlētajā diapazonā, izmantojot vienu formulu.
Vispirms katram sarakstam izveidojiet nosauktu diapazonu; lai tas būtu. PlanetsD un MoonsD šajā piemērā:
Es ceru, ka iepriekš redzamais attēls izskaidro diapazonu nosaukumu pamatojumu : ) BTW. Mēness tabula nebūt nav pilnīga, mūsu Saules sistēmā ir zināmi 176 dabiskie mēness, tikai Jupiterim vienam pašam šobrīd ir 63, un vēl skaitās. Šim piemēram es nejauši izvēlējos 11, nu... varbūt ne gluži nejauši - mēness ar visskaistākajiem nosaukumiem : )
Lūdzu, atvainojiet par novirzīšanos, bet atgriežamies pie mūsu INDEX formulas. Pieņemot, ka PlanetsD ir jūsu diapazons 1 un MoonsD ir diapazons 2, un šūnā B1 ir ierakstīts diapazona numurs, varat izmantot šādu indeksa formulu, lai aprēķinātu vidējo vērtību izvēlētajā nosauktajā diapazonā:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , , B1))
Lūdzu, pievērsiet uzmanību tam, ka tagad mēs izmantojam INDEX funkcijas formu Reference, un numurs pēdējā argumentā (area_num) norāda formulai, kuru diapazonu izvēlēties.
Tālāk redzamajā ekrānšāviņas attēlā laukuma_num (B1 šūna) ir iestatīts uz 2, tāpēc formula aprēķina vidējo diametru no Mēness jo diapazons MoonsD atsauces argumentā ir 2. vieta.
Ja strādājat ar vairākiem sarakstiem un nevēlaties atcerēties saistītos numurus, varat izmantot ieliktu funkciju IF, kas to izdarīs jūsu vietā:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planētas", 1, IF(B1="mēness", 2))))
Funkcijā IF jūs izmantojat dažus vienkāršus un viegli iegaumējamus saraksta nosaukumus, kurus vēlaties, lai lietotāji ieraksta B1 šūnā, nevis skaitļus. Lūdzu, paturiet prātā, ka, lai formula darbotos pareizi, B1 teksta formai jābūt tieši tādai pašai (bez lielo un mazo burtu atšķirības) kā IF parametros, pretējā gadījumā jūsu indeksa formula izmet #VALUE kļūdu.
Lai padarītu formulu vēl ērtāku lietotājam, varat izmantot datu validāciju, lai izveidotu izlaižamo sarakstu ar iepriekš definētiem nosaukumiem, tādējādi novēršot pareizrakstības kļūdas un drukas kļūdas:
Visbeidzot, lai jūsu INDEX formula būtu pilnīgi perfekta, varat to ietvert funkcijā IFERROR, kas lietotājam piedāvās izvēlēties elementu no nolaižamajā sarakstā, ja vēl nav izdarīta izvēle:
=IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planēta", 1, IF(B1="mēness", 2)))), "Lūdzu, izvēlieties sarakstu!")
Lūk, kā jūs izmantojat INDEX formulas programmā Excel. Es ceru, ka šie piemēri parādīja jums veidu, kā izmantot INDEX funkcijas potenciālu savās darblapās. Paldies, ka izlasījāt!