Excel dynamysk neamd berik: hoe te meitsjen en te brûken

  • Diel Dit
Michael Brown

Yn dizze tutorial sille jo leare hoe't jo in dynamysk neamd berik yn Excel meitsje en hoe't jo it kinne brûke yn formules om nije gegevens automatysk yn berekkeningen te krijen.

Yn ferline wike tutorial, seagen wy nei ferskate manieren om in statysk neamd berik yn Excel te definiearjen. In statyske namme ferwiist altyd nei deselde sellen, wat betsjut dat jo de berikferwizing mei de hân bywurkje moatte as jo nije taheakje of besteande gegevens fuortsmite.

As jo ​​wurkje mei in kontinu feroarjende gegevensset, kinne jo wolle meitsje jo neamde berik dynamysk sadat it automatysk útwreidet om nij tafoege yngongen of kontrakten te foldwaan om fuortsmiten gegevens út te sluten. Fierderop yn dizze tutorial fine jo detaillearre stap-foar-stap begelieding oer hoe't jo dit dwaan.

    Hoe kinne jo in dynamysk neamd berik yn Excel meitsje

    Foar starters, lit ús bouwe in dynamysk neamd berik besteande út in inkele kolom en in fariabele oantal rigen. Om it dien te meitsjen, fiere dizze stappen út:

    1. Op de Formule ljepper, yn de Defined Names groep, klikje op Define Name . Of, druk op Ctrl + F3 om de Excel Name Manager te iepenjen, en klikje op de knop Nij... .
    2. Yn alle gefallen sil it dialoochfinster Nije namme iepenje, wêr't jo spesifisearje de folgjende details:
      • Typ yn it fak Namme de namme foar jo dynamyske berik.
      • Yn it útklapmenu Scope set de namme syn omfang. Wurkboek (standert) wurdt yn 'e measte oanrikkemandearregefallen.
      • Yn it fak Refers to ynfiere of OFFSET COUNTA of INDEX COUNTA formule.
    3. Klik op OK. Dien!

    Yn it folgjende skermôfbylding definiearje wy in dynamysk beneamd berik items dat alle sellen mei gegevens yn kolom A opfettet, útsein de koptekstrige :

    OFFSET-formule om in Excel-dynamysk beneamd berik te definiearjen

    De generyske formule om in dynamysk beneamd berik yn Excel te meitsjen is as folget:

    OFFSET ( earste_sel, 0, 0, COUNTA( kolom), 1)

    Wêr:

    • earste_sel - de earste item dat yn it neamde berik opnommen wurde moat, bygelyks $A$2.
    • kolom - in absolute ferwizing nei de kolom lykas $A:$A.

    Yn 'e kearn fan dizze formule brûke jo de COUNTA-funksje om it oantal net-lege sellen te krijen yn' e kolom fan belang. Dat getal giet direkt nei it argumint hichte fan de OFFSET(referinsje, rigen, cols, [hichte], [breedte]) funksje en fertelt hoefolle rigen weromkomme moatte.

    Dêrefter, it is in gewoane offsetformule, wêrby't:

    • referinsje it begjinpunt is wêrfan jo de offset basearje (earste_sel).
    • rijen en cols binne beide 0, om't der gjin kolommen of rigen binne om te kompensearjen.
    • breedte is lyk oan 1 kolom.

    Bygelyks, om in dynamysk neamd berik te bouwen foar kolom A yn Blêd3, begjinnend yn sel A2, brûke wy dizze formule:

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

    Opmerking. As jo ​​definiearjein dynamysk berik yn it hjoeddeistige wurkblêd, jo hoege de blêdnamme net yn 'e referinsjes op te nimmen, Excel sil it automatysk foar jo dwaan. As jo ​​in berik bouwe foar in oar blêd, set dan de sel- of berikferwizing foar mei de namme fan it blêd folge troch it útropteken (lykas yn it formulefoarbyld hjirboppe).

    INDEX-formule om in dynamysk beneamd berik te meitsjen yn Excel

    In oare manier om in dynamysk berik fan Excel te meitsjen is it brûken fan COUNTA yn kombinaasje mei de INDEX-funksje.

    first_cell:INDEX( column,COUNTA( >kolom))

    Dizze formule bestiet út twa dielen:

    • Oan de linkerkant fan de berikoperator (:), sette jo de hurdkodearre startreferinsje lykas $A$2 .
    • Oan de rjochterkant brûke jo de funksje INDEX(array, row_num, [column_num]) om de einferwizing út te finen. Hjir leverje jo de folsleine kolom A foar de array en brûke COUNTA om it rigenûmer te krijen (d.w.s. it oantal net-yngongsellen yn kolom A).

    Foar ús foarbyldgegevensset (sjoch asjebleaft de skermprint hjirboppe), giet de formule as folget:

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

    Om't der 5 net-lege sellen binne yn kolom A, ynklusyf in kolomkop, jout COUNTA 5 werom. As gefolch jout INDEX $A werom. $5, dat is de lêste brûkte sel yn kolom A (meastentiids jout in yndeksformule in wearde, mar de referinsjeoperator twingt it om in referinsje werom te jaan). En om't wy hawwe ynsteld $ A $ 2 as útgongspunt, it úteinlike resultaat fande formule is it berik $A$2:$A$5.

    Om it nij oanmakke dynamyske berik te testen, kinne jo COUNTA it oantal items ophelje:

    =COUNTA(Items)

    As alles goed dien is, sil it resultaat fan 'e formule wizigje as jo items tafoegje oan/fan 'e list:

    Opmerking. De twa hjirboppe besprutsen formules produsearje itselde resultaat, lykwols is d'r in ferskil yn prestaasjes wêrfan jo moatte bewust wêze. OFFSET is in flechtich funksje dy't opnij berekkent mei elke feroaring yn in blêd. Op krêftige moderne masines en gegevenssets fan ridlik grutte moat dit gjin probleem wêze. Op masines mei lege kapasiteit en grutte datasets kin dit jo Excel fertrage. Yn dat gefal kinne jo better de INDEX-formule brûke om in dynamysk neamd berik te meitsjen.

    Hoe meitsje jo twadiminsjonaal dynamysk berik yn Excel

    Om in twadiminsjonaal neamd berik te bouwen, wêr't net allinich it oantal rigen, mar ek it oantal kolommen dynamysk is, brûk dan de folgjende wiziging fan 'e INDEX COUNTA formule:

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

    Yn dizze formule hawwe jo twa COUNTA-funksjes om de lêste net-lege rige en lêste net-lege kolom ( row_num te krijen en column_num arguminten fan respektivelik de INDEX-funksje). Yn it argumint array feed jo it hiele wurkblêd (1048576 rigen yn Excel 2016 - 2007; 65535 rigen yn Excel 2003 en leger).

    En no,litte wy noch ien dynamysk berik definiearje foar ús dataset: it berik mei de namme ferkeap dat ferkeapsifers foar 3 moannen (jannewaris oant maart) omfettet en automatysk oanpast as jo nije items (rijen) of moannen (kolommen) tafoegje oan de tabel.

    Mei de ferkeapgegevens begjinnend yn kolom B, rige 2, nimt de formule de folgjende foarm oan:

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

    Om derfoar te soargjen dat jo dynamyske berik wurket sa't it moat, ynfiere jo de folgjende formules earne op it blêd:

    =SUM(sales)

    =SUM(B2:D5)

    Sa't jo kinne sjen yn 'e skermôfdruk hjirûnder. , beide formules jouwe itselde totaal. It ferskil ûntbleatet him op it momint dat jo nije yngongen tafoegje oan 'e tabel: de earste formule (mei it dynamyske neamde berik) sil automatysk bywurkje, wylst de twadde by elke feroaring mei de hân bywurke wurde moat. Dat makket in enoarm ferskil, eh?

    Hoe kinne jo dynamyske beneamde berikken brûke yn Excel-formules

    Yn 'e foarige seksjes fan dizze tutorial hawwe jo al sjoen in pear ienfâldige formules dy't dynamyske berik brûke. Litte wy no besykje te kommen mei wat mear betsjuttings dat de echte wearde fan in Excel dynamysk neamd berik sjen lit.

    Foar dit foarbyld sille wy de klassike INDEX MATCH-formule nimme dy't Vlookup yn Excel útfiert:

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

    ...en sjoch hoe't wy kin meitsje de formule noch machtiger mei it brûken fandynamic named ranges.

    Lykas werjûn yn 'e skermprint hjirboppe, besykje wy in dashboard te bouwen, wêrby't de brûker in itemnamme yn H1 ynfiert en de totale ferkeap foar dat item yn H2 krijt. Us foarbyldtabel makke foar demonstraasjedoelen befettet mar 4 items, mar yn jo echte blêden kinne d'r hûnderten en sels tûzenen rigen wêze. Fierder kinne nije items op deistige basis tafoege wurde, dus it brûken fan referinsjes is gjin opsje, om't jo de formule hieltyd wer bywurkje moatte. Dêr bin ik te lui foar! :)

    Om de formule te twingen om automatysk út te wreidzjen, sille wy 3 nammen definiearje: 2 dynamyske berik, en 1 statyske neamde sel:

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

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

    Lookup_value: =$H$1

    Opmerking. Excel sil de namme fan it aktuele blêd tafoegje oan alle referinsjes, dus foardat jo de nammen meitsje, moatte jo der wis fan wêze dat jo it blêd iepenje mei jo boarnegegevens.

    Begjin no de formule yn H1 te typen. As it giet om it earste argumint, typ in pear tekens fan 'e namme dy't jo brûke wolle, en Excel sil alle beskikbere oerienkommende nammen sjen litte. Dûbelklikje op de passende namme, en Excel sil it direkt yn de formule ynfoegje:

    De foltôge formule sjocht der sa út:

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

    En wurket perfekt!

    Sadree't jo nije records oan 'e tabel tafoegje, wurde se opnommen yn jo berekkeningen byien kear, sûnder dat jo moatte meitsje in inkele feroaring oan de formule! En as jo oait de formule nei in oare Excel-bestân moatte portearje, meitsje dan gewoan deselde nammen yn it bestimmingswurkboek, kopiearje/plakke de formule, en lit it fuortendaliks wurkje.

    Tip. Utsein it meitsjen fan formules duorsumer, dynamyske berikken komme goed fan pas foar it meitsjen fan dynamyske dellûklisten.

    Dit is hoe't jo dynamyske neamde berik yn Excel meitsje en brûke. Om de formules dy't yn dizze tutorial besprutsen binne yn tichterby te besjen, binne jo wolkom om ús foarbyld Excel Dynamic Named Range Workbook te downloaden. Ik tankje jo foar it lêzen en hoopje jo nije wike op ús blog te sjen!

    Michael Brown is in tawijd technology-entûsjast mei in passy foar it ferienfâldigjen fan komplekse prosessen mei software-ark. Mei mear as in desennium ûnderfining yn 'e tech-yndustry hat hy syn feardigens yn Microsoft Excel en Outlook, lykas Google Blêden en Docs, oanskerpe. Michael's blog is wijd oan it dielen fan syn kennis en ekspertize mei oaren, en biedt maklik te folgjen tips en tutorials foar it ferbetterjen fan produktiviteit en effisjinsje. Oft jo in betûfte profesjonele of in begjinner binne, Michael's blog biedt weardefolle ynsjoch en praktysk advys om it measte út dizze essensjele software-ark te heljen.