Excel INDEX-toiminto ja kaavaesimerkkejä

  • Jaa Tämä
Michael Brown

Tässä opetusohjelmassa on useita kaavaesimerkkejä, jotka osoittavat INDEXin tehokkaimmat käyttötavat Excelissä.

Kaikista Excelin funktioista, joiden tehoa usein aliarvioidaan ja käytetään liian vähän, INDEX on varmasti 10 parhaan joukossa. Sillä välin tämä funktio on älykäs, joustava ja monipuolinen.

Mikä on siis INDEX-toiminto Excelissä? INDEX-kaava palauttaa soluviittauksen tietyn matriisin tai alueen sisällä. Toisin sanoen käytät INDEX-toimintoa, kun tiedät (tai voit laskea) jonkin elementin sijainnin alueella ja haluat saada kyseisen elementin todellisen arvon.

Tämä saattaa kuulostaa hieman triviaalilta, mutta kun ymmärrät INDEX-toiminnon todelliset mahdollisuudet, se voi muuttaa ratkaisevasti tapaa, jolla lasket, analysoit ja esität tietoja laskentataulukoissa.

    Excelin INDEX-toiminto - syntaksi ja peruskäytöt

    Excelissä on kaksi versiota INDEX-funktiosta - matriisimuoto ja viitemuoto. Molempia muotoja voidaan käyttää kaikissa Microsoft Excel 365 - 2003 -versioissa.

    INDEX-määrämuoto

    INDEX-joukkolomake palauttaa tietyn alueen tai joukon elementin arvon määrittämiesi rivi- ja sarakenumeroiden perusteella.

    INDEX(array, row_num, [column_num])
    • array - on solualue, nimetty alue tai taulukko.
    • row_num - on rivin numero matriisissa, josta arvo palautetaan. Jos row_num jätetään pois, tarvitaan column_num.
    • column_num - on sarakkeen numero, josta arvo palautetaan. Jos column_num jätetään pois, tarvitaan row_num.

    Esimerkiksi kaava =INDEX(A1:D6, 4, 3) palauttaa alueen A1:D6 neljännen rivin ja kolmannen sarakkeen leikkauspisteen arvon, joka on solun C4 arvo.

    Jos haluat saada käsityksen siitä, miten INDEX-kaava toimii todellisissa tiedoissa, katso seuraava esimerkki:

    Sen sijaan, että kirjoittaisit kaavassa rivin ja sarakkeen numerot, voit antaa soluviitteet, jolloin saat yleispätevämmän kaavan: =INDEX($B$2:$D$6, G2, G1)

    Tämä INDEX-kaava palauttaa siis niiden tuotteiden lukumäärän, jotka ovat täsmälleen G2:ssa määritetyn tuotenumeron (rivinumero) ja G1-soluun syötetyn viikkonumeron (sarakkeen numero) leikkauspisteessä.

    Vihje. Absoluuttisten viittausten ($B$2:$D$6) käyttö suhteellisten viittausten (B2:D6) sijasta joukko-argumentissa helpottaa kaavan kopioimista muihin soluihin. Vaihtoehtoisesti voit muuntaa alueen taulukoksi ( Ctrl + T ) ja viitata siihen taulukon nimellä.

    INDEX-määrämuoto - muistettavia asioita

    1. Jos array-argumentti koostuu vain yhdestä rivistä tai sarakkeesta, voit määrittää tai olla määrittelemättä vastaavaa row_num- tai column_num-argumenttia.
    2. Jos array-argumentti sisältää useamman kuin yhden rivin ja row_num jätetään pois tai asetetaan arvoon 0, INDEX-funktio palauttaa koko sarakkeen. Vastaavasti, jos array sisältää useamman kuin yhden sarakkeen ja column_num-argumentti jätetään pois tai asetetaan arvoon 0, INDEX-kaava palauttaa koko rivin. Seuraavassa on kaavaesimerkki, joka havainnollistaa tätä käytöstä.
    3. Rivin_num ja sarakkeen_num -argumenttien on viitattava sarjan sisällä olevaan soluun; muutoin INDEX-kaava palauttaa #REF! -virheen.

    INDEX-viitelomake

    Excelin INDEX-funktion viittausmuoto palauttaa soluviitteen määritetyn rivin ja sarakkeen leikkauspisteessä.

    INDEX(reference, row_num, [column_num], [area_num] )
    • viite - on yksi tai useampi alue.

      Jos syötät useamman kuin yhden alueen, erota alueet toisistaan pilkuilla ja sulje viiteargumentti sulkuihin, esimerkiksi (A1:B5, D1:F5).

      Jos kukin viitealue sisältää vain yhden rivin tai sarakkeen, vastaava rivin_luku tai sarakkeen_luku -argumentti on valinnainen.

    • row_num - alueen rivinumero, josta palautetaan soluviittaus, se on samanlainen kuin array-muoto.
    • column_num - sarakkeen numero, josta palautetaan soluviittaus, toimii samoin kuin array-muoto.
    • area_num - valinnainen parametri, joka määrittää, mitä viiteargumentin aluetta käytetään. Jos se jätetään pois, INDEX-kaava palauttaa tuloksen ensimmäisestä viiteargumentissa luetellusta alueesta.

    Esimerkiksi kaava =INDEX((A2:D3, A5:D7), 3, 4, 2) palauttaa solun D7 arvon, joka on toisen alueen (A5:D7) kolmannen rivin ja neljännen sarakkeen leikkauspisteessä.

    INDEX-viitelomake - muistettavaa

    1. Jos argumentti row_num tai column_num on nolla (0), INDEX-kaava palauttaa koko sarakkeen tai rivin viittauksen.
    2. Jos sekä rivi_num että sarake_num jätetään pois, INDEX-funktio palauttaa area_num-argumentissa määritetyn alueen.
    3. Kaikkien _num-argumenttien (rivin_num, sarakkeen_num ja alueen_num) on viitattava soluun viittauksen sisällä; muuten INDEX-kaava palauttaa #REF! -virheen.

    Molemmat tähän mennessä käsittelemämme INDEX-kaavat ovat hyvin yksinkertaisia ja havainnollistavat vain käsitettä. Todelliset kaavasi ovat todennäköisesti paljon monimutkaisempia, joten tarkastellaan muutamia tehokkaimpia INDEXin käyttötapoja Excelissä.

    Kuinka käyttää INDEX-funktiota Excelissä - kaavaesimerkkejä

    Excelin INDEXiä ei ehkä käytetä kovinkaan moniin tarkoituksiin, mutta yhdistettynä muihin funktioihin, kuten MATCH tai COUNTA, se voi muodostaa erittäin tehokkaita kaavoja.

    Lähdetiedot

    Kaikkien INDEX-kaavojemme (lukuun ottamatta viimeistä) osalta käytämme alla olevia tietoja. Yksinkertaisuuden vuoksi ne on järjestetty taulukkoon nimeltä SourceData .

    Taulukoiden tai nimettyjen alueiden käyttö voi tehdä kaavoista hieman pidempiä, mutta se tekee niistä myös huomattavasti joustavampia ja luettavampia. Voit mukauttaa mitä tahansa INDEX-kaavaa työarkkejasi varten muuttamalla vain yhtä nimeä, ja tämä korvaa täysin kaavan pidemmän pituuden.

    Mikään ei tietenkään estä sinua käyttämästä tavanomaisia alueita, jos haluat. Tässä tapauksessa korvataan yksinkertaisesti taulukon nimi SourceData asianmukaisen vaihteluväliviitteen kanssa.

    1. N:nnen kohteen hakeminen luettelosta

    Tämä on INDEX-funktion peruskäyttö ja yksinkertaisin kaava. Jos haluat hakea tietyn kohteen luettelosta, kirjoitat vain seuraavasti =INDEX(range, n) jossa alue on solualue tai nimetty alue, ja n on sen kohteen sijainti, jonka haluat saada.

    Kun työskentelet Excel-taulukoiden kanssa, voit valita sarakkeen hiirellä, jolloin Excel vetää sarakkeen nimen taulukon nimen kanssa kaavaan:

    Saadaksesi tietyn rivin ja sarakkeen leikkauspisteessä olevan solun arvon, käytät samaa lähestymistapaa sillä erotuksella, että määrität molemmat - rivin ja sarakkeen numeron. Itse asiassa näit jo tällaisen kaavan toiminnassa, kun käsittelimme INDEX-määrämuotoa.

    Ja tässä vielä yksi esimerkki. Esimerkkitaulukossamme, kun haluat löytää aurinkokunnan toiseksi suurimman planeetan, lajittelet taulukon luvulla Halkaisija sarakkeeseen ja käytä seuraavaa INDEX-kaavaa:

    =INDEX(SourceData, 2, 3)

    • Array on taulukon nimi tai alueen viite, SourceData tässä esimerkissä.
    • Rivi_numero on 2, koska etsit luettelon toista kohdetta, joka on 2. kohdassa
    • Sarakkeen_luku on 3, koska Halkaisija on taulukon kolmas sarake.

    Jos haluat palauttaa planeetan nimen halkaisijan sijasta, vaihda column_num arvoksi 1. Voit luonnollisesti käyttää soluviittausta rivi_num- ja/tai column_num-argumenteissa, jotta kaava olisi monipuolisempi, kuten alla olevassa kuvakaappauksessa on esitetty:

    2. Kaikkien arvojen saaminen riviltä tai sarakkeesta

    Sen lisäksi, että INDEX-funktio hakee yksittäisen solun, se pystyy palauttamaan arvomäärän, joka on peräisin koko rivi tai sarake Jos haluat saada kaikki arvot tietystä sarakkeesta, sinun on jätettävä row_num-argumentti pois tai asetettava se arvoon 0. Vastaavasti, jos haluat saada koko rivin, annat tyhjän arvon tai 0 column_num-arvona.

    Tällaisia INDEX-kaavoja tuskin voi käyttää yksinään, koska Excel ei pysty sovittamaan kaavan palauttamaa arvomäärää yhteen soluun, ja sen sijaan saat #VALUE! -virheen. Jos kuitenkin käytät INDEX-kaavaa yhdessä muiden funktioiden, kuten SUMMA- tai KESKIMÄÄRÄ-funktioiden, kanssa, saat mahtavia tuloksia.

    Voit esimerkiksi laskea aurinkokunnan planeettojen keskimääräisen lämpötilan seuraavan kaavan avulla:

    =AVERAGE(INDEX(SourceData, , 4))

    Yllä olevassa kaavassa column_num-argumentti on 4, koska Lämpötila taulukkomme 4. sarakkeessa. Row_num-parametri jätetään pois.

    Vastaavalla tavalla voit löytää minimi- ja maksimilämpötilat:

    =MAX(INDEX(SourceData, , 4))

    =MIN(INDEX(SourceData, , 4))

    Ja laske planeetan kokonaismassa (massa on taulukon toinen sarake):

    =SUM(INDEX(SourceData, , 2))

    Käytännön näkökulmasta INDEX-funktio edellä olevassa kaavassa on tarpeeton. Voit yksinkertaisesti kirjoittaa seuraavasti =AVERAGE(range) tai =SUM(alue) ja saat samat tulokset.

    Kun työskentelet todellisten tietojen kanssa, tämä ominaisuus voi osoittautua hyödylliseksi osana monimutkaisempia kaavoja, joita käytät tietojen analysointiin.

    3. INDEXin käyttäminen muiden funktioiden kanssa (SUMMA, KESKIMÄÄRÄ, MAKSIMI, MIN).

    Edellisistä esimerkeistä saattaisit saada sen käsityksen, että INDEX-kaava palauttaa arvoja, mutta todellisuudessa se palauttaa arvon viite arvoa sisältävään soluun. Tämä esimerkki osoittaa Excelin INDEX-funktion todellisen luonteen.

    Koska INDEX-kaavan tulos on viittaus, voimme käyttää sitä muissa funktioissa tehdäksemme dynaaminen alue Kuulostaako sekavalta? Seuraava kaava selventää kaiken.

    Oletetaan, että sinulla on kaava =KESKIARVO(A1:A10) joka palauttaa solujen A1:A10 arvojen keskiarvon. Sen sijaan, että kirjoittaisit alueen suoraan kaavaan, voit korvata joko A1:n tai A10:n tai molemmat INDEX-funktioilla, esimerkiksi näin:

    =KESKIARVO(A1 : INDEX(A1:A20,10))

    Molemmat edellä mainitut kaavat antavat saman tuloksen, koska INDEX-funktio palauttaa myös viittauksen soluun A10 (row_num on asetettu arvoon 10, col_num jätetty pois). Erona on se, että AVERAGE / INDEX -kaavan alue on dynaaminen, ja kun muutat rivin_num-argumenttia INDEX:ssä, AVERAGE-funktion käsittelemä alue muuttuu, ja kaava palauttaa eri tuloksen.

    INDEX-kaavan reitti vaikuttaa ilmeisesti liian monimutkaiselta, mutta sillä on käytännön sovelluksia, kuten seuraavat esimerkit osoittavat.

    Esimerkki 1. Lasketaan luettelon N tärkeimmän kohteen keskiarvo.

    Oletetaan, että haluat tietää aurinkokuntamme N suurimman planeetan keskimääräisen halkaisijan. Lajittelet siis taulukon seuraavasti Halkaisija sarakkeesta suurimmasta pienimpään ja käytä seuraavaa keskiarvo/indeksi-kaavaa:

    =AVERAGE(C5 : INDEX(SourceData[Diameter], B1))

    Esimerkki 2. Kahden määritetyn kohteen väliin jäävien kohteiden summaaminen.

    Jos haluat määritellä kaavassa ylä- ja alarajojen kohteet, sinun tarvitsee vain käyttää kahta INDEX-funktiota palauttaaksesi ensimmäisen ja viimeisen haluamasi kohteen.

    Esimerkiksi seuraava kaava palauttaa arvojen summan kentässä Halkaisija soluissa B1 ja B2 määritettyjen kahden kohteen välinen sarake:

    =SUM(INDEX(SourceData[Halkaisija],B1) : INDEX(SourceData[Halkaisija], B2))

    4. INDEX-kaava dynaamisten vaihteluvälien ja pudotusluetteloiden luomiseen

    Kuten usein käy, kun aloitat tietojen järjestämisen taulukkoon, et välttämättä tiedä, kuinka monta merkintää sinulla lopulta on. Näin ei ole planeettataulukkomme kohdalla, joka näyttää olevan täydellinen, mutta kuka tietää...

    Joka tapauksessa, jos tietyssä sarakkeessa, esimerkiksi A1:stä A:han, on muuttuva määrä kohteita n , haluat ehkä luoda dynaamisen nimetyn alueen, joka sisältää kaikki solut, joissa on tietoja. Tällöin haluat, että alue mukautuu automaattisesti, kun lisäät uusia kohteita tai poistat joitain olemassa olevia. Jos sinulla on esimerkiksi tällä hetkellä 10 kohdetta, nimetty alue on A1:A10. Jos lisäät uuden merkinnän, nimetty alue laajenee automaattisesti muotoon A1:A11, ja jos muutat mielesi ja poistat juuri lisätyt tiedot,alue palautuu automaattisesti arvoon A1:A10.

    Tämän lähestymistavan tärkein etu on se, että sinun ei tarvitse jatkuvasti päivittää kaikkia työkirjasi kaavoja varmistaaksesi, että ne viittaavat oikeisiin alueisiin.

    Yksi tapa määritellä dynaaminen alue on käyttää Excelin OFFSET-funktiota:

    =OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)

    Toinen mahdollinen ratkaisu on käyttää Excel INDEXiä yhdessä COUNTAn kanssa:

    =Lehden_Nimi!$A$1:INDEX(Lehden_Nimi!$A:$A, COUNTA(Lehden_Nimi!$A:$A))

    Molemmissa kaavoissa A1 on solu, joka sisältää luettelon ensimmäisen kohteen, ja molempien kaavojen tuottama dynaaminen alue on sama.

    Ero on lähestymistavoissa. Kun OFFSET-funktio siirtyy lähtöpisteestä tietyn määrän rivejä ja/tai sarakkeita, INDEX etsii solun tietyn rivin ja sarakkeen leikkauspisteestä. COUNTA-funktio, jota käytetään molemmissa kaavoissa, saa halutun sarakkeen ei-tyhjien solujen määrän.

    Tässä esimerkissä sarakkeessa A on 9 ei-tyhjää solua, joten COUNTA palauttaa 9. Näin ollen INDEX palauttaa $A$9, joka on sarakkeen A viimeinen käytetty solu (yleensä INDEX palauttaa arvon, mutta tässä kaavassa viittausoperaattori (:) pakottaa sen palauttamaan viittauksen). Ja koska $A$1 on lähtökohtamme, kaavan lopputulos on alue $A$1:$A$9.

    Seuraava kuvakaappaus osoittaa, miten voit käyttää tällaista indeksikaavaa dynaamisen pudotusluettelon luomiseen.

    Vihje. Helpoin tapa luoda dynaamisesti päivittyvä pudotusluettelo on tehdä nimetty luettelo, joka perustuu taulukkoon. Tässä tapauksessa et tarvitse monimutkaisia kaavoja, koska Excel-taulukot ovat sinänsä dynaamisia alueita.

    Voit myös käyttää INDEX-toimintoa riippuvaisten pudotusluetteloiden luomiseen, ja seuraavassa opetusohjelmassa selitetään vaiheet: Kaskadoituvan pudotusluettelon tekeminen Excelissä.

    5. Tehokkaat Vlookupit INDEXin / MATCHin avulla

    Pystysuuntaisten hakujen suorittaminen - tässä INDEX-toiminto todella loistaa. Jos olet koskaan yrittänyt käyttää Excelin VLOOKUP-toimintoa, tiedät hyvin sen lukuisat rajoitukset, kuten kyvyttömyyden vetää arvoja hakusarakkeen vasemmalla puolella olevista sarakkeista tai 255 merkin rajan hakuarvolle.

    INDEX/MATCH-yhteys on monessa suhteessa parempi kuin VLOOKUP:

    • Ei ongelmia vasemmanpuoleisten vlookupien kanssa.
    • Ei rajoitusta hakuarvon koolle.
    • Lajittelua ei tarvita (VLOOKUP, jossa on likimääräinen vastaavuus, edellyttää hakusarakkeen lajittelua nousevassa järjestyksessä).
    • Voit vapaasti lisätä ja poistaa sarakkeita taulukosta päivittämättä kaikkia niihin liittyviä kaavoja.
    • Ja viimeisenä mutta ei vähäisimpänä, INDEX / MATCH ei hidasta Exceliäsi kuten useat Vlookupit tekevät.

    Voit käyttää INDEX / MATCH -toimintoa seuraavalla tavalla:

    =INDEX ( sarakkeessa palauttaa arvon , (MATCH ( hakuarvo , sarake, jota vastaan tehdään hakuja , 0))

    Jos esimerkiksi käännämme lähdetaulukkomme niin, että Planeetan nimi tulee oikeanpuoleisimmaksi sarakkeeksi, INDEX / MATCH-kaava hakee silti ongelmitta vastaavan arvon vasemmanpuoleisesta sarakkeesta.

    Lisää vinkkejä ja kaavaesimerkkejä on Excelin INDEX / MATCH-oppaassa.

    6. Excel INDEX -kaava 1 alueen saamiseksi alueiden luettelosta

    Toinen Excelin INDEX-toiminnon älykäs ja tehokas käyttötapa on mahdollisuus saada yksi alue alueiden luettelosta.

    Oletetaan, että sinulla on useita luetteloita, joissa jokaisessa on eri määrä kohteita. Usko tai älä, voit laskea keskiarvon tai summan minkä tahansa valitun alueen arvoista yhdellä kaavalla.

    Luodaan ensin nimetty alue kullekin listalle; olkoon se vaikka PlanetsD ja MoonsD tässä esimerkissä:

    Toivon, että yllä oleva kuva selittää perustelut alueiden nimien takana : ) Muuten. Kuut taulukko ei ole läheskään täydellinen, aurinkokunnassamme on 176 tunnettua luonnollista kuuta, pelkästään Jupiterissa on tällä hetkellä 63, ja määrä kasvaa. Tähän esimerkkiin valitsin satunnaisesti 11, no... ehkä ei ihan satunnaisesti - kuita, joilla on kauneimmat nimet : )

    Suokaa anteeksi eksyminen, palataan INDEX-kaavaan. Olettaen, että PlanetsD on alueesi 1 ja MoonsD on alue 2 ja solu B1 on solu, johon laitoit alueen numeron, voit käyttää seuraavaa Indeksi-kaavaa laskemaan valitun nimetyn alueen arvojen keskiarvon:

    =AVERAGE(INDEX((PlanetsD, MoonsD), , , B1)))

    Huomaa, että nyt käytämme INDEX-funktion Reference-muotoa, ja viimeisessä argumentissa oleva numero (area_num) kertoo kaavalle, mikä alue valitaan.

    Alla olevassa kuvakaappauksessa area_num (solu B1) on asetettu arvoon 2, joten kaava laskee keskimääräisen halkaisijan seuraavasti Kuut koska vaihteluväli MoonsD on viiteargumentin 2. kohta.

    Jos työskentelet useiden luetteloiden kanssa etkä halua vaivautua muistamaan niihin liittyviä numeroita, voit käyttää sisäkkäistä IF-funktiota tekemään tämän puolestasi:

    =AVERAGE(INDEX((PlanetsD, MoonsD), , , , IF(B1="planets", 1, IF(B1="moons", 2))))

    IF-funktiossa käytät joitakin yksinkertaisia ja helposti muistettavia luettelonimiä, jotka haluat käyttäjien kirjoittavan soluun B1 numeroiden sijasta. Pidä mielessä, että jotta kaava toimisi oikein, B1:ssä olevan tekstin on oltava täsmälleen sama (isojen ja pienten kirjainten erittelyä lukuun ottamatta) kuin IF:n parametreissa, muuten Index-kaava antaa #VALUE-virheen.

    Jotta kaava olisi entistäkin käyttäjäystävällisempi, voit käyttää Data Validation -toimintoa luodaksesi pudotusluettelon, jossa on ennalta määritetyt nimet, jotta vältät kirjoitus- ja painovirheet:

    Lopuksi, jotta INDEX-kaavasta tulisi täysin täydellinen, voit liittää sen IFERROR-funktioon, joka kehottaa käyttäjää valitsemaan kohteen pudotusvalikosta, jos valintaa ei ole vielä tehty:

    =IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , , IF(B1="planeetta", 1, IF(B1="kuu", 2)))), "Valitse luettelo!"))

    Näin käytät INDEX-kaavoja Excelissä. Toivottavasti nämä esimerkit osoittivat sinulle tavan hyödyntää INDEX-funktion mahdollisuuksia työarkissasi. Kiitos lukemisesta!

    Michael Brown on omistautunut teknologian harrastaja, jolla on intohimo yksinkertaistaa monimutkaisia ​​prosesseja ohjelmistotyökalujen avulla. Yli vuosikymmenen kokemuksella teknologia-alalta hän on hionut taitojaan Microsoft Excelissä ja Outlookissa sekä Google Sheetsissä ja Docsissa. Michaelin blogi on omistettu jakamaan tietojaan ja asiantuntemustaan ​​muiden kanssa, ja se tarjoaa helposti seurattavia vinkkejä ja opetusohjelmia tuottavuuden ja tehokkuuden parantamiseksi. Olitpa kokenut ammattilainen tai aloittelija, Michaelin blogi tarjoaa arvokkaita oivalluksia ja käytännön neuvoja, joiden avulla saat kaiken irti näistä tärkeistä ohjelmistotyökaluista.