Excel dynamisk navngitt område: hvordan lage og bruke

  • Dele Denne
Michael Brown

I denne opplæringen lærer du hvordan du oppretter et dynamisk navngitt område i Excel og hvordan du bruker det i formler for å få nye data inkludert i beregninger automatisk.

I forrige ukes veiledningen, så vi på forskjellige måter å definere et statisk navngitt område i Excel. Et statisk navn refererer alltid til de samme cellene, noe som betyr at du må oppdatere områdereferansen manuelt hver gang du legger til nye eller fjerner eksisterende data.

Hvis du jobber med et datasett i stadig endring, kan det være lurt å gjør det navngitte området ditt dynamisk slik at det automatisk utvides for å imøtekomme nylig lagt til oppføringer eller kontrakter for å ekskludere fjernede data. Videre i denne opplæringen finner du detaljert trinn-for-trinn-veiledning om hvordan du gjør dette.

    Hvordan lage et dynamisk navngitt område i Excel

    For For det første, la oss bygge et dynamisk navngitt område som består av en enkelt kolonne og et variabelt antall rader. For å få det gjort, utfør disse trinnene:

    1. I kategorien Formel , i Definerte navn -gruppen, klikk Definer navn . Eller trykk Ctrl + F3 for å åpne Excel Name Manager, og klikk på Ny... -knappen.
    2. Uansett, vil Nytt navn -dialogboksen åpnes, der du spesifiserer følgende detaljer:
      • I boksen Navn skriver du inn navnet på det dynamiske området ditt.
      • I rullegardinmenyen Omfang angir du navnets omfang. Arbeidsbok (standard) anbefales i de flestetilfeller.
      • I boksen Refererer til , skriv inn formelen for OFFSET COUNTA eller INDEX COUNTA.
    3. Klikk OK. Ferdig!

    I det følgende skjermbildet definerer vi et dynamisk navngitt område elementer som rommer alle celler med data i kolonne A, bortsett fra overskriftsraden :

    OFFSET-formel for å definere et Excel dynamisk navngitt område

    Den generiske formelen for å lage et dynamisk navngitt område i Excel er som følger:

    OFFSET ( første_celle, 0, 0, COUNTA( kolonne), 1)

    Hvor:

    • første_celle - den første element som skal inkluderes i det navngitte området, for eksempel $A$2.
    • kolonne - en absolutt referanse til kolonnen som $A:$A.

    I kjernen av denne formelen bruker du COUNTA-funksjonen for å få antall ikke-tomme celler i kolonnen av interesse. Dette tallet går direkte til høyde -argumentet til OFFSET(referanse, rader, kols, [høyde], [bredde])-funksjonen og forteller hvor mange rader som skal returneres.

    Utover det, det er en vanlig forskyvningsformel, der:

    • referanse er startpunktet du baserer forskyvningen fra (første_celle).
    • rader og cols er begge 0, siden det ikke er noen kolonner eller rader å forskyve.
    • bredde er lik 1 kolonne.

    For å bygge et dynamisk navngitt område for kolonne A i Ark3, som begynner i celle A2, bruker vi for eksempel denne formelen:

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

    Merk. Hvis du definereret dynamisk område i gjeldende regneark, trenger du ikke å inkludere arknavnet i referansene, Excel vil gjøre det for deg automatisk. Hvis du bygger et område for et annet ark, prefikser cellen eller områdereferansen med arkets navn etterfulgt av utropstegnet (som i formeleksemplet ovenfor).

    INDEKS-formel for å lage et dynamisk navngitt område i Excel

    En annen måte å lage et Excel dynamisk område på er å bruke COUNTA i kombinasjon med INDEX-funksjonen.

    first_cell:INDEX( column,COUNTA(<1)>kolonne))

    Denne formelen består av to deler:

    • På venstre side av områdeoperatoren (:), legger du inn den hardkodede startreferansen som $A$2 .
    • På høyre side bruker du funksjonen INDEX(array, row_num, [column_num]) for å finne ut sluttreferansen. Her oppgir du hele kolonne A for matrisen og bruker COUNTA for å få radnummeret (dvs. antall ikke-oppføringsceller i kolonne A).

    For vårt eksempeldatasett (se skjermbilde ovenfor), går formelen som følger:

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

    Siden det er 5 ikke-tomme celler i kolonne A, inkludert en kolonneoverskrift, returnerer COUNTA 5. Følgelig returnerer INDEX $A $5, som er den sist brukte cellen i kolonne A (vanligvis returnerer en indeksformel en verdi, men referanseoperatoren tvinger den til å returnere en referanse). Og fordi vi har satt $A$2 som utgangspunkt, sluttresultatet avformelen er området $A$2:$A$5.

    For å teste det nyopprettede dynamiske området, kan du få COUNTA til å hente vareantallet:

    =COUNTA(Items)

    Hvis alt er gjort riktig, vil resultatet av formelen endres når du legger til eller fjerner elementer til/fra listen:

    Merk. De to formlene som er diskutert ovenfor gir samme resultat, men det er en forskjell i ytelse du bør være klar over. OFFSET er en flyktig funksjon som beregnes på nytt ved hver endring av et ark. På kraftige moderne maskiner og rimelig store datasett burde ikke dette være noe problem. På maskiner med lav kapasitet og store datasett kan dette bremse Excel. I så fall bør du bruke INDEX-formelen for å lage et dynamisk navngitt område.

    Hvordan lage todimensjonalt dynamisk område i Excel

    For å bygge et todimensjonalt navngitt område, der ikke bare antall rader, men også antall kolonner er dynamisk, bruk følgende modifikasjon av INDEKS ANTALLA-formelen:

    første_celle:INDEKS($1:$1048576, COUNTA( første_kolonne), COUNTA( first_row)))

    I denne formelen har du to COUNTA-funksjoner for å få den siste ikke-tomme raden og den siste ikke-tomme kolonnen ( row_num og column_num argumenter for INDEX-funksjonen, henholdsvis). I argumentet array mater du hele regnearket (1048576 rader i Excel 2016 - 2007; 65535 rader i Excel 2003 og lavere).

    Og nå,la oss definere enda et dynamisk område for datasettet vårt: området kalt salg som inkluderer salgstall for 3 måneder (januar til mars) og justeres automatisk etter hvert som du legger til nye varer (rader) eller måneder (kolonner) til tabellen.

    Med salgsdata som begynner i kolonne B, rad 2, har formelen følgende form:

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

    For å sikre at det dynamiske området ditt fungerer som det skal, skriv inn følgende formler et sted på arket:

    =SUM(sales)

    =SUM(B2:D5)

    Som du kan se på skjermbildet nedenfor , returnerer begge formlene samme sum. Forskjellen viser seg i det øyeblikket du legger til nye oppføringer i tabellen: den første formelen (med det dynamiske navngitte området) vil oppdateres automatisk, mens den andre må oppdateres manuelt ved hver endring. Det utgjør en stor forskjell, eh?

    Hvordan bruke dynamiske navngitte områder i Excel-formler

    I de forrige delene av denne opplæringen har du allerede sett et par enkle formler som bruker dynamiske områder. La oss nå prøve å komme opp med noe mer meningsfylt som viser den virkelige verdien av et Excel dynamisk navngitt område.

    For dette eksemplet skal vi ta den klassiske INDEX MATCH-formelen som utfører Vlookup i Excel:

    INDEX ( returområde, MATCH ( oppslagsverdi, oppslagsområde, 0))

    ...og se hvordan vi kan gjøre formelen enda kraftigere med bruk avdynamiske navngitte områder.

    Som vist i skjermbildet ovenfor, prøver vi å bygge et dashbord, der brukeren skriver inn et varenavn i H1 og får det totale salget for den varen i H2. Eksempeltabellen vår laget for demonstrasjonsformål inneholder bare 4 elementer, men i dine virkelige ark kan det være hundrevis og til og med tusenvis av rader. Videre kan nye elementer legges til på daglig basis, så bruk av referanser er ikke et alternativ, fordi du må oppdatere formelen om og om igjen. Jeg er for lat til det! :)

    For å tvinge formelen til å utvide seg automatisk, skal vi definere 3 navn: 2 dynamiske områder og 1 statisk navngitt celle:

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

    Returområde: =$E$2:INDEX($E:$E, COUNTA($E:$E))

    Lookup_value: =$H$1

    Merk. Excel vil legge til navnet på gjeldende ark til alle referanser, så før du oppretter navnene, sørg for å åpne arket med kildedataene dine.

    Nå begynner du å skrive formelen i H1. Når det kommer til det første argumentet, skriv inn noen få tegn i navnet du vil bruke, og Excel vil vise alle tilgjengelige samsvarende navn. Dobbeltklikk på det aktuelle navnet, og Excel vil sette det inn i formelen med en gang:

    Den fullførte formelen ser ut som følger:

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

    Og fungerer perfekt!

    Så snart du legger til nye poster i tabellen, vil de bli inkludert i beregningene dine påén gang, uten at du trenger å gjøre en eneste endring i formelen! Og hvis du noen gang trenger å portere formelen til en annen Excel-fil, kan du ganske enkelt lage de samme navnene i målarbeidsboken, kopiere/lime inn formelen og få den til å fungere umiddelbart.

    Tips. Bortsett fra å gjøre formler mer holdbare, kommer dynamiske områder godt med for å lage dynamiske rullegardinlister.

    Dette er hvordan du oppretter og bruker dynamiske navngitte områder i Excel. For å se nærmere på formlene som er diskutert i denne opplæringen, er du velkommen til å laste ned vår eksempel Excel Dynamic Named Range Workbook. Jeg takker for at du leser og håper å se deg på bloggen vår neste uke!

    Michael Brown er en dedikert teknologientusiast med en lidenskap for å forenkle komplekse prosesser ved hjelp av programvareverktøy. Med mer enn ti års erfaring i teknologibransjen, har han forbedret ferdighetene sine i Microsoft Excel og Outlook, samt Google Sheets og Docs. Michaels blogg er dedikert til å dele sin kunnskap og ekspertise med andre, og gir enkle å følge tips og veiledninger for å forbedre produktivitet og effektivitet. Enten du er en erfaren profesjonell eller nybegynner, tilbyr Michaels blogg verdifull innsikt og praktiske råd for å få mest mulig ut av disse viktige programvareverktøyene.