Excel INDEX funkció képlet példákkal

  • Ossza Meg Ezt
Michael Brown

Ebben a bemutatóban számos képletpéldát talál, amelyek az INDEX leghatékonyabb használatát mutatják be az Excelben.

Az Excel-funkciók közül, amelyek erejét gyakran alábecsülik és kihasználatlanul hagyják, az INDEX biztosan a top 10-ben van. Eközben ez a funkció okos, rugalmas és sokoldalú.

Tehát, mi az INDEX funkció az Excelben? Lényegében az INDEX formula egy adott tömb vagy tartomány cellahivatkozását adja vissza. Más szóval, az INDEX funkciót akkor használja, ha tudja (vagy ki tudja számítani) egy elem pozícióját egy tartományban, és szeretné megkapni az adott elem tényleges értékét.

Ez kissé triviálisnak tűnhet, de ha egyszer felismeri az INDEX funkcióban rejlő valódi lehetőségeket, akkor döntő változásokat hozhat a munkalapok adatainak kiszámításában, elemzésében és bemutatásában.

    Excel INDEX funkció - szintaxis és alapvető felhasználások

    Az INDEX függvénynek két változata létezik az Excelben - tömbi és referenciaforma. Mindkét forma használható a Microsoft Excel 365 - 2003 összes verziójában.

    INDEX tömb formája

    Az INDEX tömb forma egy tartomány vagy tömb egy adott elemének értékét adja vissza a megadott sor- és oszlopszámok alapján.

    INDEX(array, row_num, [column_num])
    • array - egy cellatartomány, nevesített tartomány vagy táblázat.
    • row_num - a tömb azon sorszáma, amelyből az értéket vissza kell adni. Ha a row_num nincs megadva, akkor a column_num szükséges.
    • column_num - az oszlop száma, amelyből az értéket vissza kell adni. Ha a column_num nincs megadva, akkor a row_num szükséges.

    Például a képlet =INDEX(A1:D6, 4, 3) az A1:D6 tartomány 4. sorának és 3. oszlopának metszéspontjában lévő értéket adja vissza, ami a C4 cellában lévő érték.

    Ha szeretné megtudni, hogyan működik az INDEX formula valós adatokon, tekintse meg az alábbi példát:

    Ahelyett, hogy a sor- és oszlopszámokat írná be a képletbe, megadhatja a cellahivatkozásokat, hogy univerzálisabb képletet kapjon: =INDEX($B$2:$D$6, G2, G1)

    Ez az INDEX-képlet tehát pontosan a G2 cellában megadott termékszám (row_num) és a G1 cellában megadott heti szám (column_num) metszéspontjában lévő tételek számát adja vissza.

    Tipp: A tömb argumentumban a relatív hivatkozások (B2:D6) helyett abszolút hivatkozások ($B$2:$D$6) használata megkönnyíti a képlet más cellákba történő másolását. Alternatívaként a tartományt átalakíthatja táblázattá ( Ctrl + T ), és a táblázat nevével hivatkozhat rá.

    INDEX tömb formája - megjegyzendő dolgok

    1. Ha a tömb argumentum csak egy sorból vagy oszlopból áll, akkor megadhatja vagy nem adhatja meg a megfelelő row_num vagy column_num argumentumot.
    2. Ha a tömb argumentum egynél több sort tartalmaz, és a row_num argumentum elmarad vagy 0-ra van állítva, az INDEX függvény a teljes oszlop tömbjét adja vissza. Hasonlóképpen, ha a tömb egynél több oszlopot tartalmaz, és a column_num argumentum elmarad vagy 0-ra van állítva, az INDEX formula a teljes sort adja vissza. Íme egy képletpélda, amely bemutatja ezt a viselkedést.
    3. A row_num és column_num argumentumoknak a tömbön belüli cellára kell hivatkozniuk; ellenkező esetben az INDEX formula #REF! hibát ad vissza.

    INDEX hivatkozási űrlap

    Az Excel INDEX függvény referencia formája a megadott sor és oszlop metszéspontjában lévő cellahivatkozást adja vissza.

    INDEX(reference, row_num, [column_num], [area_num] )
    • hivatkozás - egy vagy több tartomány.

      Ha egynél több tartományt ad meg, válassza el a tartományokat vesszővel, és zárójelbe zárva adja meg a referenciaargumentumot, például (A1:B5, D1:F5).

      Ha a hivatkozás minden tartománya csak egy sort vagy oszlopot tartalmaz, a megfelelő row_num vagy column_num argumentum opcionális.

    • row_num - a tartomány sorszáma, amelyből a cellahivatkozást kell visszaadni, ez hasonló a tömb formához.
    • column_num - az oszlop száma, amelyből a cellahivatkozást kell visszaadni, szintén hasonlóan működik, mint a tömb formája.
    • area_num - opcionális paraméter, amely megadja, hogy a referenciaargumentum melyik tartományát használja. Ha elhagyja, az INDEX formula a referenciaargumentumban felsorolt első tartományra vonatkozó eredményt adja vissza.

    Például a képlet =INDEX((A2:D3, A5:D7), 3, 4, 2) a második terület (A5:D7) 3. sorának és 4. oszlopának metszéspontjában található D7-es cella értékét adja vissza.

    INDEX-referencianyomtatvány - mit kell megjegyezni

    1. Ha a row_num vagy column_num argumentum értéke nulla (0), akkor az INDEX formula a teljes oszlopra vagy sorra vonatkozó hivatkozást adja vissza.
    2. Ha mind a row_num, mind az column_num elmarad, az INDEX függvény a area_num argumentumban megadott területet adja vissza.
    3. A _num argumentumok (row_num, column_num és area_num) mindegyikének egy cellára kell utalnia a hivatkozáson belül; ellenkező esetben az INDEX formula a #REF! hibát adja vissza.

    Mindkét eddig tárgyalt INDEX-képlet nagyon egyszerű, és csak illusztrálja a koncepciót. A valódi képletek valószínűleg ennél sokkal összetettebbek, ezért vizsgáljuk meg az INDEX néhány leghatékonyabb felhasználási módját az Excelben.

    Hogyan használjuk az INDEX funkciót az Excelben - képletpéldák

    Lehet, hogy az Excel INDEX önmagában nem sok gyakorlati haszna van, de más funkciókkal, például a MATCH vagy a COUNTA függvényekkel kombinálva nagyon hatékony képleteket hozhat létre.

    Forrásadatok

    Minden INDEX képletünk (kivéve az utolsót), az alábbi adatokat fogjuk használni. Az egyszerűség kedvéért egy táblázatba szervezzük, melynek neve SourceData .

    A táblázatok vagy a megnevezett tartományok használata kicsit hosszabbá teheti a képleteket, de jelentősen rugalmasabbá és jobban olvashatóvá is teszi azokat. A munkalapok bármely INDEX-képletének módosításához csak egyetlen nevet kell módosítania, és ez teljes mértékben ellensúlyozza a hosszabb képlet hosszát.

    Természetesen semmi sem akadályozza meg abban, hogy a szokásos tartományokat használja, ha szeretné. Ebben az esetben egyszerűen csak a táblázat nevét kell kicserélni SourceData a megfelelő tartományreferenciával.

    1. Az N-edik elem kiválasztása a listából

    Ez az INDEX függvény alapvető használata, és a legegyszerűbb formula. Ha egy bizonyos elemet akarunk lekérni a listáról, csak annyit kell írnunk, hogy =INDEX(range, n) ahol tartomány egy cellatartomány vagy egy megnevezett tartomány, és n a megszerezni kívánt elem pozíciója.

    Az Excel táblázatokkal való munka során az egérrel kijelölheti az oszlopot, és az Excel a táblázat nevével együtt az oszlop nevét is be fogja húzni a képletbe:

    Ha egy adott sor és oszlop metszéspontjában lévő cella értékét szeretné megkapni, ugyanezt a megközelítést használja, azzal a különbséggel, hogy mindkettőt megadja - a sorszámot és az oszlopszámot. Valójában már látott egy ilyen képletet működés közben, amikor az INDEX tömb formát tárgyaltuk.

    És itt van még egy példa. A mintatáblázatunkban a Naprendszer 2. legnagyobb bolygójának megtalálásához a táblázatot a következők szerint rendezi. Átmérő oszlopot, és használja a következő INDEX képletet:

    =INDEX(SourceData, 2, 3)

    • Array a táblázat neve vagy egy tartományhivatkozás, SourceData ebben a példában.
    • Row_num 2, mert a lista második elemét keresi, amely a 2.
    • Column_num 3, mert Átmérő a táblázat 3. oszlopa.

    Ha a bolygó nevét szeretné visszaadni az átmérő helyett, akkor az column_num értékét változtassa 1-re. És természetesen használhat cellahivatkozást a row_num és/vagy column_num argumentumokban, hogy a képletet sokoldalúbbá tegye, ahogyan az alábbi képernyőképen látható:

    2. Az összes érték megszerzése egy sorban vagy oszlopban

    Az INDEX függvény egyetlen cella kinyerésén kívül képes visszaadni egy értékekből álló tömböt is a teljes sor vagy oszlop Ha egy adott oszlop összes értékét szeretné megkapni, akkor a row_num argumentumot ki kell hagynia, vagy 0-ra kell állítani. Hasonlóképpen, ha a teljes sort szeretné megkapni, akkor üres értéket vagy 0-t kell megadnia a column_numban.

    Az ilyen INDEX képleteket önmagukban aligha lehet használni, mert az Excel képtelen a képlet által visszaadott értékek tömbjét egyetlen cellában elhelyezni, és helyette a #VALUE! hibát kapná. Ha azonban az INDEX-et más függvényekkel, például a SUM vagy az AVERAGE függvényekkel együtt használja, fantasztikus eredményeket kaphat.

    Például a következő képlet segítségével kiszámíthatjuk a Naprendszer bolygóinak átlagos hőmérsékletét:

    =AVERAGE(INDEX(SourceData, , 4))

    A fenti képletben a column_num argumentum 4, mert Hőmérséklet a táblázatunk 4. oszlopában. A row_num paramétert elhagyjuk.

    Hasonló módon meg lehet találni a minimális és maximális hőmérsékletet:

    =MAX(INDEX(SourceData, , 4))

    =MIN(INDEX(SourceData, , 4))

    És számítsuk ki a bolygók össztömegét (a tömeg a táblázat 2. oszlopa):

    =SUM(INDEX(SourceData, , 2))

    Gyakorlati szempontból az INDEX függvény a fenti képletben felesleges. Egyszerűen leírhatjuk, hogy =AVERAGE(range) vagy =SUM(tartomány) és ugyanazt az eredményt kapja.

    Valós adatokkal való munka során ez a funkció hasznosnak bizonyulhat az adatelemzéshez használt összetettebb képletek részeként.

    3. Az INDEX használata más függvényekkel (SUM, AVERAGE, MAX, MIN)

    Az előző példák alapján az lehet a benyomásod, hogy az INDEX formula értékeket ad vissza, de a valóságban egy hivatkozás az értéket tartalmazó cellába. És ez a példa mutatja az Excel INDEX funkció valódi természetét.

    Mivel az INDEX formula eredménye egy hivatkozás, más függvényeken belül is használhatjuk, hogy egy dinamikatartomány A következő képlet mindent tisztázni fog.

    Tegyük fel, hogy van egy képletünk =ÁTLAG(A1:A10) amely az A1:A10 cellákban lévő értékek átlagát adja vissza. Ahelyett, hogy a tartományt közvetlenül a képletbe írná, az A1 vagy az A10, vagy mindkettő helyettesíthető INDEX függvénnyel, például így:

    =ÁTLAG(A1 : INDEX(A1:A20,10))

    Mindkét fenti képlet ugyanazt az eredményt adja, mivel az INDEX függvény is az A10-es cellára való hivatkozást adja vissza (a row_num értéke 10, a col_num értéke nem). A különbség az, hogy a tartomány az AVERAGE / INDEX képletben dinamikus, és amint megváltoztatja a row_num argumentumot az INDEX-ben, az AVERAGE függvény által feldolgozott tartomány is megváltozik, és a képlet más eredményt ad vissza.

    Látszólag az INDEX-képlet útvonala túl bonyolultnak tűnik, de gyakorlati alkalmazásai vannak, amint azt a következő példák is mutatják.

    Példa 1. A lista első N elemének átlagának kiszámítása

    Tegyük fel, hogy a rendszerünkben lévő N legnagyobb bolygó átlagos átmérőjét szeretnénk megtudni. Tehát a táblázatot a következők szerint rendezzük. Átmérő oszlopot a legnagyobbtól a legkisebbig, és használja a következő Átlag / Index képletet:

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

    Példa 2. A megadott két tétel közötti tételek összegzése

    Abban az esetben, ha a képletben meg akarja határozni a felső és alsó határt, csak két INDEX függvényt kell használnia, hogy visszaadja az első és az utolsó kívánt elemet.

    A következő képlet például a következő értékek összegét adja vissza a Átmérő oszlop a B1 és B2 cellában megadott két elem között:

    =SUM(INDEX(SourceData[Átmérő],B1) : INDEX(SourceData[Átmérő], B2))

    4. INDEX formula dinamikus tartományok és legördülő listák létrehozásához

    Ahogy az gyakran előfordul, amikor elkezdjük az adatokat egy munkalapon rendszerezni, nem biztos, hogy tudjuk, hogy végül hány bejegyzésünk lesz. A mi bolygók táblánk esetében ez nem így van, ami teljesnek tűnik, de ki tudja...

    Mindenesetre, ha egy adott oszlopban változó számú elem van, mondjuk A1-től A-ig. n , akkor létrehozhat egy dinamikus nevesített tartományt, amely az összes adatot tartalmazó cellát tartalmazza. Ekkor azt szeretné, hogy a tartomány automatikusan módosuljon, ha új elemeket ad hozzá, vagy töröl néhányat a meglévők közül. Például, ha jelenleg 10 elem van, a nevesített tartomány A1:A10. Ha új bejegyzést ad hozzá, a nevesített tartomány automatikusan A1:A11-re bővül, és ha meggondolja magát, és törli az újonnan hozzáadott adatokat,a tartomány automatikusan visszaáll A1:A10-re.

    Ennek a megközelítésnek az a fő előnye, hogy nem kell folyamatosan frissítenie a munkafüzet összes képletét, hogy azok a megfelelő tartományokra hivatkozzanak.

    A dinamikus tartomány meghatározásának egyik módja az Excel OFFSET függvényének használata:

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

    Egy másik lehetséges megoldás az Excel INDEX használata a COUNTA-val együtt:

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

    Mindkét képletben az A1 a lista első elemét tartalmazó cella, és a két képlet által létrehozott dinamikus tartomány azonos lesz.

    A különbség a megközelítésekben van. Míg az OFFSET függvény a kiindulási ponttól bizonyos számú sor és/vagy oszlop távolságot tesz meg, addig az INDEX egy adott sor és oszlop metszéspontjában lévő cellát keres. A COUNTA függvény, amelyet mindkét képletben használunk, a nem üres cellák számát kapja meg a kívánt oszlopban.

    Ebben a példában az A oszlopban 9 nem üres cella van, így a COUNTA 9-et ad vissza, következésképpen az INDEX $A$9-et ad vissza, ami az A oszlop utolsó használt cellája (általában az INDEX egy értéket ad vissza, de ebben a képletben a referenciaoperátor (:) arra kényszeríti, hogy hivatkozást adjon vissza). És mivel $A$1 a kiindulási pontunk, a képlet végeredménye az $A$1:$A$9 tartomány lesz.

    A következő képernyőkép azt mutatja be, hogyan használhat egy ilyen Index képletet egy dinamikus legördülő lista létrehozásához.

    Tipp. A legegyszerűbb módja a dinamikusan frissülő legördülő lista létrehozásának, ha egy táblázaton alapuló, nevesített listát készít. Ebben az esetben nem lesz szükség bonyolult képletekre, mivel az Excel táblázatok önmagukban dinamikus tartományok.

    Az INDEX funkciót függő legördülő listák létrehozására is használhatja, és a következő bemutató ismerteti a lépéseket: Kaszkádos legördülő lista készítése az Excelben.

    5. Erőteljes Vlookupok INDEX / MATCH segítségével

    Függőleges keresések elvégzése - ez az a terület, ahol az INDEX funkció igazán ragyog. Ha valaha is próbálta már használni az Excel VLOOKUP funkcióját, akkor tisztában van annak számos korlátozásával, például azzal, hogy nem tud értékeket húzni a keresési oszlop bal oldalán lévő oszlopokból, vagy a keresési érték 255 karakteres korlátjával.

    Az INDEX / MATCH kapcsolat sok tekintetben jobb, mint a VLOOKUP:

    • Nincs probléma a bal oldali vlookupokkal.
    • Nincs korlátozás a keresési értékek méretére.
    • Nincs szükség rendezésre (a VLOOKUP közelítő egyezéssel a keresési oszlopot növekvő sorrendben kell rendezni).
    • Szabadon beszúrhat és eltávolíthat oszlopokat egy táblázatban anélkül, hogy minden kapcsolódó képletet frissítene.
    • És végül, de nem utolsósorban, az INDEX / MATCH nem lassítja az Excel-t, mint a többszörös Vlookup.

    Az INDEX / MATCH a következő módon használható:

    =INDEX ( oszlop, hogy visszaadjon egy értéket a , (MATCH ( keresési érték , oszlop a kereséshez , 0))

    Például, ha megfordítjuk a forrás táblázatunkat úgy, hogy Bolygó neve a jobb szélső oszlop lesz, az INDEX / MATCH képlet még mindig gond nélkül megszerzi a bal oldali oszlopból a megfelelő értéket.

    További tippekért és képletpéldákért tekintse meg az Excel INDEX / MATCH bemutatót.

    6. Excel INDEX formula 1 tartomány kinyeréséhez tartományok listájából

    Az INDEX funkció másik okos és hatékony használata az Excelben az a képesség, hogy egy tartományt kapjon egy tartományok listájából.

    Tegyük fel, hogy több listája van, amelyek mindegyikében különböző számú elem található. Akár hiszi, akár nem, egyetlen képlettel kiszámíthatja az átlagot vagy összegezheti az értékeket bármely kiválasztott tartományban.

    Először is, hozzon létre egy nevesített tartományt minden listához; legyen ez a következő PlanetsD és MoonsD ebben a példában:

    Remélem, a fenti kép megmagyarázza a tartományok nevének okát : ) Egyébként a Holdak táblázat messze nem teljes, a Naprendszerünkben 176 ismert természetes hold van, csak a Jupiternek jelenleg 63 van, és még számolunk. Ehhez a példához véletlenszerűen kiválasztottam 11, nos... talán nem egészen véletlenszerűen - a legszebb nevű holdakat : )

    Elnézést a kitérőért, de visszatérve az INDEX képletünkhöz. Feltételezve, hogy PlanetsD az Ön 1. tartománya és MoonsD a 2. tartomány, és a B1-es cellába írta be a tartomány számát, a következő Index képlettel kiszámíthatja a kiválasztott tartományban lévő értékek átlagát:

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

    Kérjük, figyeljen arra, hogy most az INDEX függvény referencia formáját használjuk, és az utolsó argumentumban szereplő szám (area_num) megadja a képletnek, hogy melyik tartományt válassza ki.

    Az alábbi képernyőképen a area_num (B1 cella) értéke 2, így a képlet kiszámítja az átlagos átmérőt a Holdak mert a tartomány MoonsD a második helyen szerepel a referencia érvben.

    Ha több listával dolgozik, és nem akarja a kapcsolódó számokat megjegyezni, használhat egy beágyazott IF függvényt, hogy ezt megtegye Ön helyett:

    =AVERAGE(INDEX((PlanetsD, MoonsD), , , , IF(B1="bolygók", 1, IF(B1="holdak", 2))))

    Az IF függvényben néhány egyszerű és könnyen megjegyezhető listanevet használ, amelyeket a felhasználóknak számok helyett a B1 cellába kell beírniuk. Kérjük, tartsa szem előtt, hogy a képlet helyes működéséhez a B1-ben lévő szövegnek pontosan ugyanannak kell lennie (a nagy- és kisbetűket nem érzékenyítve), mint az IF paramétereiben, különben az Index képlet #VALUE hibát fog dobni.

    Hogy a képletet még felhasználóbarátabbá tegye, az Adatérvényesítés segítségével létrehozhat egy legördülő listát előre definiált nevekkel, hogy megelőzze a helyesírási hibákat és az elírásokat:

    Végül, hogy az INDEX-képletet teljesen tökéletessé tegye, az IFERROR függvénybe foglalhatja, amely felszólítja a felhasználót, hogy válasszon egy elemet a legördülő listából, ha még nem történt kiválasztás:

    =IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , , IF(B1="planet", 1, IF(B1="moon", 2)))), "Please select the list!"))

    Így használja az INDEX képleteket az Excelben. Remélem, ezek a példák megmutatták, hogyan használhatja ki az INDEX funkcióban rejlő lehetőségeket a munkalapjain. Köszönöm, hogy elolvasta!

    Michael Brown elkötelezett technológiai rajongó, aki szenvedélyesen egyszerűsíti a bonyolult folyamatokat szoftvereszközök segítségével. A technológiai iparban szerzett több mint egy évtizedes tapasztalatával a Microsoft Excel és az Outlook, valamint a Google Táblázatok és a Dokumentumok területén fejlesztette tudását. Michael blogja célja, hogy megossza tudását és szakértelmét másokkal, könnyen követhető tippeket és oktatóanyagokat adva a termelékenység és a hatékonyság javításához. Akár tapasztalt szakember, akár kezdő, Michael blogja értékes betekintést és gyakorlati tanácsokat kínál, amelyek segítségével a legtöbbet hozhatja ki ezekből az alapvető szoftvereszközökből.