Turinys
Šiame vadovėlyje rasite keletą formulių pavyzdžių, kurie parodo, kaip efektyviausiai "Excel" programoje galima naudoti INDEX.
Iš visų "Excel" funkcijų, kurių galia dažnai neįvertinama ir nepakankamai išnaudojama, INDEX neabejotinai patektų į geriausiųjų dešimtuką. Tuo tarpu ši funkcija yra protinga, lanksti ir universali.
Kas yra INDEX funkcija programoje "Excel"? Iš esmės INDEX formulė grąžina langelio nuorodą iš tam tikro masyvo ar intervalo. Kitaip tariant, INDEX funkciją naudojate, kai žinote (arba galite apskaičiuoti) elemento padėtį intervale ir norite gauti tikrąją to elemento vertę.
Tai gali skambėti šiek tiek banaliai, bet kai suprasite tikrąsias funkcijos INDEX galimybes, ji gali iš esmės pakeisti jūsų skaičiavimo, analizės ir duomenų pateikimo darbalapiuose būdą.
"Excel" funkcija INDEX - sintaksė ir pagrindiniai naudojimo būdai
Programoje "Excel" yra dvi funkcijos INDEX versijos - masyvo forma ir nuorodos forma. Abi formas galima naudoti visose "Microsoft Excel 365" - 2003 versijose.
INDEX masyvo forma
INDEX masyvo forma grąžina tam tikro diapazono ar masyvo elemento vertę pagal nurodytus eilučių ir stulpelių numerius.
INDEX(masyvas, eilutės_numeris, [stulpelio_numeris])- masyvas - yra ląstelių intervalas, įvardytas intervalas arba lentelė.
- eilutės_num - yra eilutės numeris masyve, iš kurio reikia grąžinti reikšmę. Jei eilutės_numeris praleistas, reikia nurodyti stulpelio_numerį.
- column_num - yra stulpelio, iš kurio grąžinama reikšmė, numeris. Jei stulpelio_numeris praleistas, reikia nurodyti eilutės_numerį.
Pavyzdžiui, formulė =INDEX(A1:D6, 4, 3)
grąžina reikšmę, esančią 4-osios eilutės ir 3-iojo stulpelio susikirtimo taške intervale A1:D6, t. y. C4 ląstelės reikšmę.
Norėdami įsivaizduoti, kaip INDEX formulė veikia su realiais duomenimis, peržiūrėkite toliau pateiktą pavyzdį:
Užuot formulėje įvedę eilučių ir stulpelių numerius, galite pateikti ląstelių nuorodas ir gauti universalesnę formulę: =INDEX($B$2:$D$6, G2, G1)
Taigi, ši INDEX formulė grąžina elementų skaičių tiksliai ties G2 (eilutės_numeris) ir G1 (stulpelio_numeris) ląstelėje įrašyto savaitės numerio sankirta.
Patarimas. masyvo argumente naudojant absoliučias nuorodas ($B$2:$D$6), o ne santykines nuorodas (B2:D6), lengviau nukopijuoti formulę į kitus langelius. Arba galite paversti diapazoną lentele ( Ctrl + T ) ir nurodyti jį lentelės pavadinimu.
INDEX masyvo forma - nepamirštami dalykai
- Jei masyvo argumentą sudaro tik viena eilutė arba stulpelis, galite nurodyti arba nenurodyti atitinkamo eilutės_numerio arba stulpelio_numerio argumento.
- Jei masyvo argumentas apima daugiau nei vieną eilutę, o eilutės_numeris praleistas arba nustatytas lygus 0, funkcija INDEX grąžina viso stulpelio masyvą. Panašiai, jei masyvas apima daugiau nei vieną stulpelį, o argumentas stulpelio_numeris praleistas arba nustatytas lygus 0, INDEX formulė grąžina visą eilutę. Toliau pateikiamas formulės pavyzdys, kuriame demonstruojamas toks elgesys.
- Argumentai eilutės_num ir stulpelio_num turi reikšti ląstelę masyve; priešingu atveju formulė INDEX grąžins klaidą #REF!.
INDEKSO nuorodos forma
"Excel" funkcijos INDEX nuorodos forma grąžina ląstelės nuorodą nurodytos eilutės ir stulpelio sankirtoje.
INDEX(reference, eilutės_numeris, [stulpelio_numeris], [srities_numeris] )- nuoroda - yra vienas ar keli intervalai.
Jei įvedate daugiau nei vieną intervalą, atskirkite intervalus kableliais, o nuorodos argumentą įrašykite skliausteliuose, pavyzdžiui (A1:B5, D1:F5).
Jei kiekviename nuorodos intervale yra tik viena eilutė arba stulpelis, atitinkamas eilutės_numeris arba stulpelio_numeris yra neprivalomas argumentas.
- eilutės_num - eilutės numerį diapazone, iš kurio norima grąžinti ląstelės nuorodą, tai panašu į masyvo formą.
- column_num - stulpelio numeris, iš kurio grąžinama ląstelės nuoroda, taip pat veikia panašiai kaip ir masyvo forma.
- area_num - neprivalomas parametras, nurodantis, kurį intervalą iš nuorodos argumento naudoti. Jei praleidžiama, INDEX formulė grąžins rezultatą pirmajam nuorodos sąraše nurodytam intervalui.
Pavyzdžiui, formulė =INDEX((A2:D3, A5:D7), 3, 4, 2)
grąžinama ląstelės D7, kuri yra antrosios srities (A5:D7) 3-iosios eilutės ir 4-ojo stulpelio sankirtoje, reikšmė.
INDEX nuorodos forma - ką reikia prisiminti
- Jei eilutės_numeris arba stulpelio_numeris yra lygus nuliui (0), INDEX formulė grąžina atitinkamai viso stulpelio arba eilutės nuorodą.
- Jei eilutės_numeris ir stulpelio_numeris praleisti, funkcija INDEX grąžina plotą, nurodytą argumentu area_num.
- Visi argumentai _num (eilutės_num, stulpelio_num ir srities_num) turi nurodyti į ląstelę, esančią nuorodoje; priešingu atveju INDEX formulė grąžins #REF! klaidą.
Abi iki šiol aptartos INDEX formulės yra labai paprastos ir tik iliustruoja koncepciją. Tikėtina, kad jūsų tikrosios formulės bus kur kas sudėtingesnės, todėl panagrinėkime keletą veiksmingiausių INDEX naudojimo būdų "Excel" programoje.
Kaip naudoti INDEX funkciją "Excel" programoje - formulės pavyzdžiai
Galbūt "Excel" funkcija INDEX pati savaime neturi daug praktinio panaudojimo galimybių, tačiau ją derinant su kitomis funkcijomis, pavyzdžiui, MATCH arba COUNTA, galima sukurti labai galingas formules.
Šaltinio duomenys
Visoms mūsų INDEX formulėms (išskyrus paskutinę) naudosime toliau pateiktus duomenis. Patogumo sumetimais jie surašyti į lentelę, pavadintą SourceData .
Naudojant lenteles arba pavadinimų intervalus formulės gali būti šiek tiek ilgesnės, tačiau dėl to jos taip pat tampa daug lankstesnės ir geriau skaitomos. Norint pakoreguoti bet kurią darbalapių INDEX formulę, tereikia pakeisti vieną pavadinimą, o tai visiškai kompensuoja ilgesnį formulės ilgį.
Žinoma, niekas netrukdo naudoti įprastų intervalų, jei norite. Šiuo atveju tiesiog pakeiskite lentelės pavadinimą SourceData su atitinkama diapazono nuoroda.
1. N-tojo elemento iš sąrašo gavimas
Tai pagrindinis funkcijos INDEX naudojimas ir paprasčiausia formulė. Norėdami gauti tam tikrą elementą iš sąrašo, tiesiog parašykite =INDEX(diapazonas, n)
kur diapazonas yra ląstelių intervalas arba įvardytas intervalas, o n yra norimo gauti elemento pozicija.
Dirbdami su "Excel" lentelėmis galite pasirinkti stulpelį pele ir "Excel" į formulę kartu su lentelės pavadinimu įtrauks ir stulpelio pavadinimą:
Norėdami gauti ląstelės, esančios tam tikros eilutės ir stulpelio sankirtoje, reikšmę, naudojate tą patį metodą, tik su tuo skirtumu, kad nurodote ir eilutės, ir stulpelio numerį. Tiesą sakant, tokią formulę jau matėte veikiant, kai aptarėme INDEX masyvo formą.
Štai dar vienas pavyzdys. Mūsų pavyzdinėje lentelėje, norėdami surasti antrą pagal dydį Saulės sistemos planetą, surūšiuokite lentelę pagal Skersmuo stulpelį ir naudokite šią INDEX formulę:
=INDEX(SourceData, 2, 3)
Masyvas
yra lentelės pavadinimas arba diapazono nuoroda, SourceData šiame pavyzdyje.Row_num
yra 2, nes ieškote antrojo sąrašo elemento, kuris yra 2.Column_num
yra 3, nes Skersmuo yra trečiasis lentelės stulpelis.
Jei norite grąžinti planetos pavadinimą, o ne skersmenį, pakeiskite stulpelio_numerį į 1. Ir, žinoma, eilutės_numerio ir (arba) stulpelio_numerio argumentuose galite naudoti ląstelės nuorodą, kad formulė būtų universalesnė, kaip parodyta toliau pateiktoje ekrano nuotraukoje:
2. Visų eilučių arba stulpelių reikšmių gavimas
Funkcija INDEX gali ne tik išgauti vieną langelį, bet ir grąžinti reikšmių masyvą iš visa eilutė arba stulpelis Norėdami gauti visas tam tikro stulpelio reikšmes, turite praleisti eilutės_numerio argumentą arba nustatyti jį į 0. Panašiai, norėdami gauti visą eilutę, į stulpelio_numerį įrašykite tuščią reikšmę arba 0.
Tokias INDEX formules vargu ar galima naudoti atskirai, nes "Excel" negali sutalpinti formulės grąžinamų reikšmių masyvo į vieną langelį ir vietoj to gausite #VALUE! klaidą. Tačiau jei INDEX naudosite kartu su kitomis funkcijomis, pavyzdžiui, SUM arba AVERAGE, gausite puikių rezultatų.
Pavyzdžiui, vidutinei planetos temperatūrai Saulės sistemoje apskaičiuoti galite naudoti šią formulę:
=AVERAGE(INDEX(SourceData, , 4))
Pirmiau pateiktoje formulėje argumentas column_num yra 4, nes Temperatūra mūsų lentelės 4-ajame stulpelyje. Eilutės_numerio parametras praleistas.
Panašiai galite rasti mažiausią ir didžiausią temperatūrą:
=MAX(INDEX(SourceData, , 4))
=MIN(INDEX(SourceData, , 4))
Apskaičiuokite bendrą planetos masę (masė yra antrasis lentelės stulpelis):
=SUMA(INDEX(SourceData, , 2))
Praktiniu požiūriu INDEX funkcija pirmiau pateiktoje formulėje yra nereikalinga. Galite tiesiog užrašyti =AVERAGE(intervalas)
arba =SUMA(intervalas)
ir gausite tuos pačius rezultatus.
Dirbant su realiais duomenimis ši funkcija gali būti naudinga kaip sudėtingesnių formulių, kurias naudojate duomenų analizei, dalis.
3. INDEX naudojimas su kitomis funkcijomis (SUM, AVERAGE, MAX, MIN)
Iš ankstesnių pavyzdžių galite susidaryti įspūdį, kad INDEX formulė grąžina reikšmes, tačiau iš tikrųjų ji grąžina nuoroda į ląstelę, kurioje yra reikšmė. Šis pavyzdys parodo tikrąją "Excel" funkcijos INDEX prigimtį.
Kadangi INDEX formulės rezultatas yra nuoroda, ją galime naudoti kitose funkcijose, kad dinaminis diapazonas . Skamba painiai? Toliau pateikta formulė viską paaiškins.
Tarkime, kad turite formulę = VIDURKIS(A1:A10)
kuri grąžina A1:A10 langelių reikšmių vidurkį. Užuot tiesiogiai įrašę diapazoną formulėje, galite pakeisti A1 arba A10, arba abi, INDEX funkcijomis, pvz:
=VIDURKIS(A1 : INDEKSAS(A1:A20,10))
Abi pirmiau pateiktos formulės duos tą patį rezultatą, nes funkcija INDEX taip pat grąžina nuorodą į langelį A10 (eilutės_numeris yra 10, o col_numeris praleistas). Skirtumas tas, kad formulės AVERAGE / INDEX diapazonas yra dinamiškas, todėl pakeitus eilutės_numerio argumentą funkcijoje INDEX, pasikeis funkcijos AVERAGE apdorojamas diapazonas ir formulė duos kitokį rezultatą.
Regis, INDEX formulės maršrutas atrodo pernelyg sudėtingas, tačiau jis turi praktinį pritaikymą, kaip matyti iš toliau pateiktų pavyzdžių.
1 pavyzdys. Apskaičiuokite N geriausių sąrašo elementų vidurkį
Tarkime, norite sužinoti N didžiausių mūsų sistemos planetų vidutinį skersmenį. Skersmuo stulpelį nuo didžiausio iki mažiausio ir naudokite šią Vidutinio / indekso formulę:
=AVERAGE(C5 : INDEX(SourceData[Diameter], B1))
2 pavyzdys. Elementų suma tarp nurodytų dviejų elementų
Jei formulėje norite apibrėžti viršutinės ir apatinės ribos elementus, jums tereikia naudoti dvi INDEX funkcijas, kad grąžintumėte pirmąjį ir paskutinį norimą elementą.
Pavyzdžiui, toliau pateikta formulė grąžina verčių sumą, esančią Skersmuo stulpelis tarp dviejų elementų, nurodytų langeliuose B1 ir B2:
=SUMA(INDEX(SourceData[Diameter],B1) : INDEX(SourceData[Diameter], B2))
4. INDEX formulė dinamiškiems intervalams ir išskleidžiamiesiems sąrašams kurti
Kaip dažnai nutinka, kai pradedate tvarkyti duomenis darbalapyje, galite nežinoti, kiek įrašų galiausiai turėsite. Tai ne mūsų planetų lentelės atvejis, kuri, atrodo, yra išsami, bet kas žino...
Bet kokiu atveju, jei tam tikrame stulpelyje keičiasi elementų skaičius, tarkime, nuo A1 iki A n , galite norėti sukurti dinamišką pavadintą intervalą, apimantį visus langelius su duomenimis. Tuo metu norite, kad intervalas automatiškai prisitaikytų, kai pridedate naujų elementų arba ištrinsite kai kuriuos esamus. Pavyzdžiui, jei šiuo metu turite 10 elementų, jūsų pavadintas intervalas yra A1:A10. Jei pridedate naują įrašą, pavadintas intervalas automatiškai išsiplečia iki A1:A11, o jei persigalvojate ir ištrinsite naujai pridėtus duomenis,diapazonas automatiškai grįžta į A1:A10.
Pagrindinis šio metodo privalumas yra tas, kad nereikia nuolat atnaujinti visų darbo knygos formulių, siekiant užtikrinti, kad jose būtų nurodomi teisingi intervalai.
Vienas iš būdų apibrėžti dinaminį diapazoną - naudoti "Excel" funkciją OFFSET:
=OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)
Kitas galimas sprendimas - naudoti "Excel" INDEX kartu su COUNTA:
=Sheet_Name!$A$1:INDEX(Sheet_Name!$A:$A, COUNTA(Sheet_Name!$A:$A))
Abiejose formulėse A1 yra ląstelė, kurioje yra pirmasis sąrašo elementas, o dinaminis diapazonas, kurį sukuria abi formulės, bus identiškas.
Skirtumas yra prieigose. OFFSET funkcija perkelia pradinį tašką tam tikru eilučių ir (arba) stulpelių skaičiumi, o INDEX randa ląstelę tam tikros eilutės ir stulpelio sankirtoje. Funkcija COUNTA, naudojama abiejose formulėse, nustato ne tuščių langelių skaičių dominančiame stulpelyje.
Šiame pavyzdyje A stulpelyje yra 9 ne tušti langeliai, todėl COUNTA grąžina 9. Todėl INDEX grąžina $A$9, kuris yra paskutinis panaudotas A stulpelio langelis (paprastai INDEX grąžina reikšmę, bet šioje formulėje nuorodos operatorius (:) verčia jį grąžinti nuorodą). Kadangi pradinis taškas yra $A$1, galutinis formulės rezultatas yra intervalas $A$1:$A$9.
Toliau pateiktoje ekrano kopijoje parodyta, kaip galima naudoti tokią rodyklės formulę dinamiškam išskleidžiamajam sąrašui sukurti.
Patarimas. Paprasčiausias būdas sukurti dinamiškai atnaujinamą išskleidžiamąjį sąrašą - sudaryti pavadintą sąrašą pagal lentelę. Šiuo atveju jums nereikės jokių sudėtingų formulių, nes "Excel" lentelės pačios savaime yra dinamiški intervalai.
Priklausomiems išskleidžiamiesiems sąrašams kurti taip pat galite naudoti funkciją INDEX, o toliau pateikiamoje pamokoje paaiškinami veiksmai: Kaskadinio išskleidžiamojo sąrašo kūrimas programoje "Excel".
5. Galingi "Vlookups" su INDEX / MATCH
Vertikaliosios paieškos - čia INDEX funkcija iš tikrųjų spindi. Jei kada nors bandėte naudoti "Excel" VLOOKUP funkciją, gerai žinote apie daugybę jos apribojimų, pvz., negalėjimą ištraukti verčių iš stulpelių, esančių į kairę nuo paieškos stulpelio, arba 255 simbolių ribą paieškos vertei.
INDEX / MATCH sąsaja daugeliu atžvilgių yra pranašesnė už VLOOKUP:
- Jokių problemų su kairiosiomis peržvalgomis.
- Paieškos reikšmės dydis neribojamas.
- Rūšiuoti nereikia (VLOOKUP su apytiksliu atitikimu reikia rūšiuoti paieškos stulpelį didėjančia tvarka).
- Galite laisvai įterpti ir pašalinti lentelės stulpelius neatnaujindami kiekvienos susijusios formulės.
- Galiausiai, INDEX / MATCH nestabdo "Excel", kaip tai daro kelios "Vlookup".
INDEX / MATCH naudojate taip:
=INDEKSAS ( stulpeliui grąžinti reikšmę iš , (MATCH ( paieškos vertė , stulpelis, pagal kurį bus ieškoma , 0))Pavyzdžiui, jei šaltinio lentelę apversime taip, kad Planetos pavadinimas tampa dešiniuoju stulpeliu, INDEX / MATCH formulė vis tiek be jokių kliūčių suranda atitinkamą reikšmę iš kairiojo stulpelio.
Daugiau patarimų ir formulių pavyzdžių rasite "Excel" INDEX / MATCH pamokoje.
6. "Excel" INDEX formulė, skirta 1 diapazonui gauti iš diapazonų sąrašo
Dar viena protinga ir galinga "Excel" funkcijos INDEX paskirtis - tai galimybė gauti vieną intervalą iš intervalų sąrašo.
Tarkime, turite kelis sąrašus, kurių kiekviename yra skirtingas elementų skaičius. Norite tikėkite, norite - ne, bet bet kurio pasirinkto intervalo reikšmių vidurkį arba sumą galite apskaičiuoti naudodami vieną formulę.
Pirmiausia kiekvienam sąrašui sukurkite pavadintą diapazoną; tegul tai būna PlanetosD ir MoonsD šiame pavyzdyje:
Tikiuosi, kad pirmiau pateiktas paveikslėlis paaiškina intervalų pavadinimų pagrindimą : ) BTW. Mėnesienos lentelė toli gražu nėra išsami, mūsų Saulės sistemoje yra 176 žinomi natūralūs mėnuliai, vien Jupiteris šiuo metu jų turi 63 ir dar skaičiuoja. Šiam pavyzdžiui atsitiktinai parinkau 11, na... gal ir ne visai atsitiktinių - mėnuliai su gražiausiais pavadinimais : )
Atleiskite už nukrypimą, bet grįžkime prie mūsų INDEX formulės. Darant prielaidą, kad PlanetosD yra jūsų diapazonas 1 ir MoonsD yra diapazonas 2, o ląstelėje B1 įrašytas diapazono numeris, galite naudoti šią indekso formulę, kad apskaičiuotumėte pasirinkto pavadinto diapazono verčių vidurkį:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , , B1))
Atkreipkite dėmesį į tai, kad dabar naudojame funkcijos INDEX nuorodinę formą, o paskutinio argumento numeris (area_num) nurodo formulei, kurį intervalą pasirinkti.
Toliau pateiktoje ekrano kopijoje area_num (langelis B1) yra 2, todėl formulė apskaičiuoja vidutinį skersmenį Mėnesienos nes diapazonas MoonsD yra 2-as nuorodos argumentas.
Jei dirbate su keliais sąrašais ir nenorite vargintis prisimindami susijusius numerius, galite naudoti įterptinę IF funkciją, kuri tai padarys už jus:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planetos", 1, IF(B1="mėnuliai", 2))))
Funkcijoje IF naudojate keletą paprastų ir lengvai įsimenamų sąrašo pavadinimų, kuriuos, kaip norite, kad naudotojai į B1 langelį įrašytų vietoj skaičių. Atminkite, kad, norint, jog formulė veiktų teisingai, B1 langelio tekstas turi būti lygiai toks pat (nesvarbu, kokiomis raidėmis), kaip ir IF parametruose, antraip jūsų indekso formulėje bus išmesta #VALUE klaida.
Kad formulę būtų dar patogiau naudoti, naudodami "Data Validation" galite sukurti išskleidžiamąjį sąrašą su iš anksto nustatytais pavadinimais, kad išvengtumėte rašybos ir spausdinimo klaidų:
Galiausiai, kad INDEX formulė būtų visiškai tobula, galite ją įtraukti į funkciją IFERROR, kuri paragins naudotoją pasirinkti elementą iš išskleidžiamajame sąraše, jei jis dar nebuvo pasirinktas:
=IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planeta", 1, IF(B1="mėnulis", 2)))), "Prašome pasirinkti sąrašą!")
Štai kaip "Excel" programoje naudojamos INDEX formulės. Tikiuosi, kad šie pavyzdžiai parodė, kaip savo darbalapiuose išnaudoti INDEX funkcijos galimybes. Dėkoju, kad skaitėte!