Excel dinamikus nevesített tartomány: hogyan hozzon létre és használjon

  • Ossza Meg Ezt
Michael Brown

Ebben a bemutatóban megtanulja, hogyan hozhat létre dinamikus névtartományt az Excelben, és hogyan használhatja azt képletekben, hogy az új adatok automatikusan bekerüljenek a számításokba.

A múlt heti bemutatóban különböző módokat tekintettünk meg a statikus nevű tartományok definiálására az Excelben. A statikus név mindig ugyanazokra a cellákra utal, ami azt jelenti, hogy a tartományhivatkozást manuálisan kell frissítenie, amikor új adatokat ad hozzá vagy meglévő adatokat távolít el.

Ha folyamatosan változó adatkészlettel dolgozik, érdemes dinamikussá tenni a nevesített tartományt, hogy az automatikusan bővüljön az újonnan hozzáadott bejegyzésekhez, vagy szűküljön az eltávolított adatok kizárásához. A bemutató további részében részletes, lépésről-lépésre történő útmutatást talál ennek elvégzéséhez.

    Hogyan hozzon létre dinamikus névtartományt az Excelben

    Kezdetnek hozzunk létre egy dinamikus névleges tartományt, amely egyetlen oszlopból és változó számú sorból áll. Ehhez a következő lépéseket kell végrehajtani:

    1. A Formula lapon, a Meghatározott nevek csoport, kattintson a Név meghatározása Vagy nyomja meg a Ctrl + F3 billentyűkombinációt az Excel névváltozójának megnyitásához, és kattintson az Excel névváltójára. Új... gomb.
    2. Akárhogy is, a Új név párbeszédpanel fog megnyílni, ahol megadhatja a következő adatokat:
      • A Név mezőbe írja be a dinamikatartomány nevét.
      • A Terjedelem legördülő listában állítsa be a név hatókörét. Munkafüzet (alapértelmezett) ajánlott a legtöbb esetben.
      • A A következőkre vonatkozik mezőbe írja be az OFFSET COUNTA vagy az INDEX COUNTA képletet.
    3. Kattintson az OK gombra. Kész!

    A következő képernyőképen egy dinamikus tartományt definiálunk. tételek amely befogadja az összes cellák adatokkal az A oszlopban, kivéve a fejléc sorát:

    OFFSET képlet egy Excel dinamikus névleges tartomány meghatározásához

    A dinamikus névleges tartomány létrehozásának általános képlete az Excelben a következő:

    OFFSET( first_cell , 0, 0, COUNTA( oszlop ), 1)

    Hol:

    • first_cell - az első elem, amelyet a megnevezett tartományba kell felvenni, például $A$2.
    • oszlop - abszolút hivatkozás az oszlopra, például $A:$A.

    A képlet lényege, hogy a COUNTA függvénnyel megkapjuk a nem üres cellák számát az adott oszlopban. Ez a szám közvetlenül a COUNTA függvénybe kerül. magasság az OFFSET(reference, rows, cols, [height], [width]) függvény argumentuma, amely megadja, hogy hány sort adjon vissza.

    Ezen túlmenően ez egy közönséges Offset formula, ahol:

    • hivatkozás az a kiindulási pont, amelyből az eltolás kiindul (first_cell).
    • sorok és cols mindkettő 0, mivel nincsenek eltolandó oszlopok vagy sorok.
    • szélesség 1 oszlopnak felel meg.

    Például a 3. lap A oszlopának dinamikus névleges tartományának létrehozásához, az A2 cellával kezdve, ezt a képletet használjuk:

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

    Megjegyzés: Ha dinamikus tartományt határoz meg az aktuális munkalapon, akkor nem kell a hivatkozásokban feltüntetnie a lap nevét, az Excel automatikusan megteszi ezt Ön helyett. Ha egy másik laphoz készít tartományt, akkor a cella- vagy tartományhivatkozás elé írja a lap nevét, amelyet felkiáltójel követ (mint a fenti képletpéldában).

    INDEX-képlet dinamikus névleges tartomány létrehozásához az Excelben

    Az Excel dinamikus tartomány létrehozásának másik módja a COUNTA és az INDEX függvény kombinációja.

    first_cell :INDEX( oszlop ,COUNTA( oszlop ))

    Ez a képlet két részből áll:

    • A tartományoperátor (:) bal oldalára a keményen kódolt kezdő hivatkozást, például $A$2-t írjuk.
    • A jobb oldalon az INDEX(array, row_num, [column_num]) függvényt használjuk a befejező hivatkozás kiszámításához. Itt a teljes A oszlopot adjuk meg a tömbhöz, és a COUNTA segítségével megkapjuk a sorszámot (azaz az A oszlopban lévő nem bejegyzett cellák számát).

    A mintaadatkészletünk esetében (lásd a fenti képernyőképet) a képlet a következőképpen néz ki:

    =$A$2:INDEX($A:$A, COUNTA($A:$A))

    Mivel az A oszlopban 5 nem üres cella van, beleértve az oszlop fejlécét is, a COUNTA 5-t ad vissza. Következésképpen az INDEX az A oszlop utolsó használt celláját, az A$5-öt adja vissza (általában az Index formula egy értéket ad vissza, de a referencia operátor kikényszeríti, hogy hivatkozást adjon vissza). És mivel az $A$2-t adtuk meg kiindulási pontnak, a formula végeredménye az $A$2:$A$5 tartomány.

    Az újonnan létrehozott dinamikus tartomány teszteléséhez a COUNTA lekérheti az elemek számát:

    =COUNTA(Tételek)

    Ha minden megfelelően történik, a képlet eredménye megváltozik, amint elemeket adsz hozzá vagy veszel ki a listából:

    Megjegyzés: A fent tárgyalt két képlet ugyanazt az eredményt adja, azonban van egy teljesítménybeli különbség, amivel tisztában kell lennie. Az OFFSET egy illékony függvény, amely a lap minden egyes módosításakor újraszámol. Nagy teljesítményű modern gépeken és ésszerű méretű adathalmazokon ez nem jelenthet problémát. Kis kapacitású gépeken és nagy adathalmazokon ez lelassíthatja az Excel-t. Ebben az esetben a következő lépéseket kell tenniejobban használja az INDEX képletet egy dinamikus névtartomány létrehozásához.

    Hogyan készítsünk kétdimenziós dinamikus tartományt az Excelben?

    Kétdimenziós névleges tartomány létrehozásához, ahol nemcsak a sorok, hanem az oszlopok száma is dinamikus, használja az INDEX COUNTA formula következő módosítását:

    first_cell :INDEX($1:$1048576, COUNTA( first_column ), COUNTA( first_row )))

    Ebben a képletben két COUNTA függvényt használunk az utolsó nem üres sor és az utolsó nem üres oszlop kinyerésére ( row_num és column_num az INDEX függvény argumentumai). Az INDEX függvényben a array argumentummal a teljes munkalapot (1048576 sor az Excel 2016 - 2007 programban; 65535 sor az Excel 2003 és alacsonyabb programokban) táplálja.

    Most pedig definiáljunk még egy dinamikus tartományt az adathalmazunkhoz: a következő tartományt értékesítés amely 3 hónap (január-március) értékesítési adatait tartalmazza, és automatikusan kiigazodik, amint új tételeket (sorokat) vagy hónapokat (oszlopokat) ad hozzá a táblázathoz.

    A B oszlop 2. sorában kezdődő értékesítési adatokkal a képlet a következő alakot veszi fel:

    =$B$2:INDEX($1:$1048576,COUNTA($B:$B),COUNTA($2:$2))

    Hogy megbizonyosodjon arról, hogy a dinamikatartomány a kívánt módon működik, írja be a következő képleteket valahová a lapon:

    =SUM(értékesítés)

    =SUM(B2:D5)

    Amint az alábbi képernyőképen látható, mindkét képlet ugyanazt a végösszeget adja vissza. A különbség abban a pillanatban mutatkozik meg, amikor új bejegyzéseket adsz hozzá a táblázathoz: az első képlet (a dinamikus nevű tartományban) automatikusan frissül, míg a másodikat minden egyes változásnál manuálisan kell frissíteni. Ez óriási különbség, nem?

    Dinamikus névleges tartományok használata az Excel képletekben

    A bemutató előző részeiben már láttunk néhány egyszerű képletet, amelyek dinamikus tartományokat használnak. Most próbáljunk meg valami értelmesebbet kitalálni, amely megmutatja az Excel dinamikus nevű tartományának valódi értékét.

    Ehhez a példához a klasszikus INDEX MATCH képletet fogjuk használni, amely az Excelben Vlookupot végez:

    INDEX ( return_range , MATCH ( lookup_value , lookup_range , 0))

    ...és nézzük meg, hogyan tehetjük a képletet még erőteljesebbé a dinamikus névleges tartományok használatával.

    Ahogy a fenti képernyőképen látható, egy olyan műszerfalat próbálunk létrehozni, ahol a felhasználó a H1-be beír egy cikknevet, és a H2-ben megkapja az adott cikk teljes eladását. A bemutató céllal létrehozott mintatáblánk csak 4 tételt tartalmaz, de a valós életben használt táblázatokban több száz, sőt akár több ezer sor is lehet.opciót, mert akkor újra és újra frissíteni kellene a képletet. Én túl lusta vagyok ehhez! :)

    Ahhoz, hogy a képlet automatikusan kibővüljön, 3 nevet fogunk definiálni: 2 dinamikus tartományt és 1 statikus nevű cellát:

    Lookup_range: =$A$2:INDEX($A:$A, COUNTA($A:$A))

    Return_range: =$E$2:INDEX($E:$E, COUNTA($E:$E))

    Lookup_value: =$H$1

    Megjegyzés: Az Excel minden hivatkozáshoz az aktuális lap nevét adja hozzá, ezért a nevek létrehozása előtt mindenképpen nyissa meg a forrásadatokat tartalmazó lapot.

    Most kezdje el begépelni a képletet a H1-ben. Amikor az első argumentumra kerül a sor, írjon be néhány karaktert a használni kívánt névből, és az Excel megjeleníti az összes rendelkezésre álló megfelelő nevet. Kattintson duplán a megfelelő névre, és az Excel azonnal beilleszti azt a képletbe:

    Az elkészült képlet a következőképpen néz ki:

    =INDEX(Return_range, MATCH(Lookup_value, Lookup_range, 0))

    És tökéletesen működik!

    Amint új rekordokat ad hozzá a táblázathoz, azok azonnal bekerülnek a számításokba, anélkül, hogy egyetlen módosítást kellene végrehajtania a képleten! És ha valaha is át kell vinnie a képletet egy másik Excel-fájlba, egyszerűen hozza létre ugyanazokat a neveket a célmunkafüzetben, másolja be a képletet, és máris működőképes lesz.

    Tipp: A képletek tartósabbá tételén kívül a dinamikus tartományok jól jönnek dinamikus legördülő listák létrehozásához.

    Így hozhat létre és használhat dinamikus nevesített tartományokat az Excelben. Ha közelebbről meg szeretné nézni az ebben a bemutatóban tárgyalt képleteket, akkor szívesen letöltheti az Excel dinamikus nevesített tartományok munkafüzet mintáját. Köszönöm, hogy elolvasta, és remélem, hogy jövő héten találkozunk a blogunkon!

    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.