Excelin dynaaminen nimetty alue: miten luodaan ja käytetään

  • Jaa Tämä
Michael Brown

Tässä opetusohjelmassa opit, miten Excelissä luodaan dynaaminen nimetty alue ja miten sitä käytetään kaavoissa, jotta uudet tiedot sisällytetään laskelmiin automaattisesti.

Viime viikon opetusohjelmassa tarkastelimme eri tapoja määritellä staattinen nimetty alue Excelissä. Staattinen nimi viittaa aina samoihin soluihin, mikä tarkoittaa, että sinun on päivitettävä alueen viittaus manuaalisesti aina, kun lisäät uusia tai poistat olemassa olevia tietoja.

Jos työskentelet jatkuvasti muuttuvan tietokokonaisuuden parissa, voit haluta tehdä nimetystä alueesta dynaamisen niin, että se laajenee automaattisesti, jotta siihen mahtuu uusia merkintöjä, tai supistuu, jotta poistetut tiedot jäävät pois. Jatkossa tässä oppaassa on yksityiskohtaista vaiheittaista opastusta tämän tekemiseen.

    Dynaamisen nimetyn alueen luominen Excelissä

    Aluksi rakennetaan dynaaminen nimetty alue, joka koostuu yhdestä sarakkeesta ja vaihtelevasta määrästä rivejä. Suorita seuraavat vaiheet:

    1. On Kaava välilehdellä, kohdassa Määritellyt nimet ryhmää, klikkaa Määritä nimi Tai paina Ctrl + F3 avataksesi Excelin nimiohjelman ja napsauta sitten Uusi... nappi.
    2. Joka tapauksessa Uusi nimi avautuu valintaikkuna, jossa voit määrittää seuraavat tiedot:
      • Vuonna Nimi laatikkoon nimi dynaamiselle alueellesi.
      • Vuonna Laajuus pudotusvalikosta, aseta nimen laajuus. Työkirja (oletusarvo) on suositeltava useimmissa tapauksissa.
      • Vuonna Viittaa ruutuun joko OFFSET COUNTA- tai INDEX COUNTA -kaava.
    3. Napsauta OK. Valmis!

    Seuraavassa kuvakaappauksessa määritetään dynaaminen nimetty alue. kohteet johon mahtuu kaikki solut, joissa on tietoja sarakkeessa A, lukuun ottamatta otsikkoriviä:

    OFFSET-kaava Excelin dynaamisen nimetyn alueen määrittämiseksi

    Yleinen kaava dynaamisen nimetyn alueen luomiseen Excelissä on seuraava:

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

    Missä:

    • first_cell - ensimmäinen nimettyyn alueeseen sisällytettävä kohde, esimerkiksi $A$2.
    • sarake - absoluuttinen viittaus sarakkeeseen, kuten $A:$A.

    Tämän kaavan ytimessä käytät COUNTA-funktiota saadaksesi niiden solujen lukumäärän, jotka eivät ole tyhjiä, kiinnostavassa sarakkeessa. Tämä luku menee suoraan sarakkeeseen korkeus OFFSET(reference, rows, cols, [height], [width]) -funktion argumentti, joka kertoo, kuinka monta riviä palautetaan.

    Sen lisäksi se on tavallinen Offset-kaava, jossa:

    • viite on lähtöpiste, josta offset lasketaan (first_cell).
    • rivit ja cols ovat molemmat 0, koska ei ole sarakkeita tai rivejä, jotka voitaisiin siirtää.
    • leveys on yhtä kuin 1 sarake.

    Jos esimerkiksi haluat muodostaa dynaamisen nimetyn alueen sarakkeelle A Sheet3:ssa, joka alkaa solusta A2, käytämme tätä kaavaa:

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

    Huomautus: Jos määrittelet dynaamisen alueen nykyiselle työarkille, sinun ei tarvitse sisällyttää arkin nimeä viittauksiin, Excel tekee sen automaattisesti. Jos muodostat alueen jollekin toiselle arkille, liitä solu- tai alueviittauksen eteen arkin nimi ja sen jälkeen huutomerkki (kuten yllä olevassa kaavaesimerkissä).

    INDEX-kaava dynaamisen nimetyn alueen muodostamiseksi Excelissä

    Toinen tapa luoda Excelin dynaaminen alue on käyttää COUNTAa yhdessä INDEX-funktion kanssa.

    first_cell :INDEX( sarake ,COUNTA( sarake ))

    Tämä kaava koostuu kahdesta osasta:

    • Alueoperaattorin (:) vasemmalle puolelle laitetaan kovakoodattu aloitusviite, kuten $A$2.
    • Oikealla puolella käytät INDEX(array, row_num, [column_num]) -funktiota päättyvän viittauksen selvittämiseen. Tässä annat koko sarakkeen A arraya varten ja käytät COUNTAa rivinumeron saamiseksi (eli niiden solujen lukumäärän, jotka eivät ole sarakkeessa A).

    Esimerkkitietoaineistossamme (ks. yllä oleva kuvakaappaus) kaava on seuraava:

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

    Koska sarakkeessa A on 5 muuta kuin tyhjää solua, mukaan lukien sarakkeen otsikko, COUNTA palauttaa 5. Näin ollen INDEX palauttaa $A$5, joka on sarakkeen A viimeinen käytetty solu (yleensä indeksikaava palauttaa arvon, mutta viittausoperaattori pakottaa sen palauttamaan viittauksen). Ja koska olemme asettaneet $A$2 lähtökohdaksi, kaavan lopputulos on alue $A$2:$A$5.

    Voit testata äskettäin luotua dynaamista aluetta antamalla COUNTA:n noutaa kohteiden lukumäärän:

    =COUNTA(Items)

    Jos kaikki on tehty oikein, kaavan tulos muuttuu, kun lisäät tai poistat kohteita luetteloon tai luettelosta:

    Huomautus. Edellä käsitellyt kaksi kaavaa tuottavat saman tuloksen, mutta suorituskyvyssä on ero, joka sinun on syytä huomioida. OFFSET on haihtuva funktio, joka laskee uudelleen jokaisen arkin muutoksen yhteydessä. Tehokkaissa nykyaikaisissa koneissa ja kohtuullisen suurissa tietokokonaisuuksissa tämän ei pitäisi olla ongelma. Vähän kapasiteettia omaavissa koneissa ja suurissa tietokokonaisuuksissa tämä saattaa hidastaa Exceliä. Siinä tapauksessa sinun tulisikäyttää paremmin INDEX-kaavaa dynaamisen nimetyn alueen luomiseen.

    Kuinka tehdä kaksiulotteinen dynaaminen alue Excelissä

    Jos haluat muodostaa kaksiulotteisen nimetyn alueen, jossa rivien määrän lisäksi myös sarakkeiden määrä on dynaaminen, käytä seuraavaa muutosta INDEX COUNTA -kaavaan:

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

    Tässä kaavassa on kaksi COUNTA-funktiota viimeisen ei-tyhjän rivin ja viimeisen ei-tyhjän sarakkeen saamiseksi ( row_num ja column_num INDEX-funktion argumentit). Toiminnossa array argumentin avulla syötät koko työarkin (1048576 riviä Excel 2016 - 2007 -ohjelmissa; 65535 riviä Excel 2003:ssa ja sitä vanhemmissa ohjelmissa).

    Määritellään nyt vielä yksi dynaaminen alue tietueellemme: alue nimeltä myynti joka sisältää myyntiluvut kolmelta kuukaudelta (tammi-maaliskuu) ja mukautuu automaattisesti, kun lisäät taulukkoon uusia tuotteita (rivejä) tai kuukausia (sarakkeita).

    Kun myyntitiedot alkavat sarakkeesta B, riviltä 2, kaava on seuraavanlainen:

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

    Varmistaaksesi, että dynaaminen alueesi toimii niin kuin sen pitäisi, kirjoita seuraavat kaavat jonnekin arkille:

    =SUM(myynti)

    =SUM(B2:D5)

    Kuten näet alla olevasta kuvakaappauksesta, molemmat kaavat palauttavat saman loppusumman. Ero paljastuu siinä vaiheessa, kun lisäät uusia merkintöjä taulukkoon: ensimmäinen kaava (jossa on dynaaminen nimetty alue) päivittyy automaattisesti, kun taas jälkimmäinen kaava on päivitettävä manuaalisesti jokaisen muutoksen yhteydessä. Siinä on valtava ero, eikö?

    Dynaamisten nimettyjen alueiden käyttäminen Excel-kaavoissa

    Tämän ohjeen aiemmissa osioissa olet jo nähnyt pari yksinkertaista kaavaa, joissa käytetään dynaamisia alueita. Yritetään nyt keksiä jotain mielekkäämpää, joka näyttää Excelin dynaamisen nimellisen alueen todellisen arvon.

    Tässä esimerkissä käytämme klassista INDEX MATCH-kaavaa, jolla Excelissä suoritetaan Vlookup:

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

    ...ja katso, miten voimme tehdä kaavasta vieläkin tehokkaamman käyttämällä dynaamisia nimettyjä alueita.

    Kuten yllä olevasta kuvakaappauksesta näkyy, yritämme rakentaa kojelautaa, jossa käyttäjä syöttää nimikkeen nimen kohtaan H1 ja saa kyseisen nimikkeen kokonaismyynnin kohtaan H2. Esimerkkitaulukkomme, joka on luotu havainnollistamistarkoituksessa, sisältää vain neljä nimikettä, mutta todellisissa taulukoissa voi olla satoja ja jopa tuhansia rivejä. Lisäksi uusia nimikkeitä voidaan lisätä päivittäin, joten viittausten käyttäminen ei ole mahdollista.vaihtoehto, koska sinun pitäisi päivittää kaava uudelleen ja uudelleen. Olen liian laiska siihen! :)

    Jotta kaava laajenee automaattisesti, määrittelemme 3 nimeä: 2 dynaamista aluetta ja 1 staattinen solu:

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

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

    Lookup_value: =$H$1

    Huomautus: Excel lisää kaikkiin viittauksiin nykyisen arkin nimen, joten ennen nimien luomista on syytä avata lähdetiedot sisältävä arkki.

    Aloita nyt kaavan kirjoittaminen kohdassa H1. Kun tulee ensimmäinen argumentti, kirjoita muutama merkki haluamastasi nimestä, ja Excel näyttää kaikki käytettävissä olevat vastaavat nimet. Kaksoisnapsauta sopivaa nimeä, ja Excel lisää sen kaavaan heti:

    Valmis kaava näyttää seuraavalta:

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

    Ja toimii täydellisesti!

    Heti kun lisäät uusia tietueita taulukkoon, ne sisällytetään laskelmiin heti, ilman että sinun tarvitsee tehdä yhtään muutosta kaavaan! Ja jos sinun on joskus siirrettävä kaava toiseen Excel-tiedostoon, luo vain samat nimet kohdetyökirjaan, kopioi/liitä kaava ja saat sen toimimaan välittömästi.

    Vinkki. Sen lisäksi, että dynaamiset alueet tekevät kaavoista kestävämpiä, ne ovat käteviä dynaamisten pudotusluetteloiden luomisessa.

    Näin luot ja käytät dynaamisia nimettyjä alueita Excelissä. Jos haluat tutustua tarkemmin tässä opetusohjelmassa käsiteltyihin kaavoihin, voit ladata esimerkin Excelin dynaamisista nimetyistä alueista koostuvan työkirjan. Kiitän sinua lukemisesta ja toivon, että tapaamme blogissamme ensi viikolla!

    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.