Sisukord
Selles õpetuses saate teada, kuidas luua Excelis dünaamiline nimega vahemik ja kuidas seda kasutada valemites, et uued andmed automaatselt arvutustesse lisada.
Eelmise nädala õpetuses vaatlesime erinevaid viise staatilise nimega vahemiku määratlemiseks Excelis. Staatiline nimi viitab alati samadele lahtritele, mis tähendab, et peate vahemiku viidet käsitsi uuendama, kui lisate uusi andmeid või eemaldate olemasolevaid andmeid.
Kui töötate pidevalt muutuva andmekogumiga, võite muuta oma nimivahemiku dünaamiliseks, nii et see laieneks automaatselt, et lisada uusi kirjeid, või tõmbuks kokku, et jätta välja eemaldatud andmed. Edasi selles õpetuses leiate üksikasjalikud samm-sammult juhised selle kohta, kuidas seda teha.
Kuidas luua dünaamiline nimega vahemik Excelis
Alustuseks loome dünaamilise nimega vahemiku, mis koosneb ühest veerust ja muutuvast arvust ridadest. Selleks tehke järgmised sammud:
- On Valem vahekaardil Määratletud nimed rühma, klõpsake Määrake nimi Või vajutage Ctrl + F3, et avada Exceli nimevahetaja, ja klõpsake nuppu Uus... nupp.
- Mõlemal juhul on Uus nimi avaneb dialoogiboks, kus saate määrata järgmised üksikasjad:
- In the Nimi sisestage oma dünaamilise vahemiku nimi.
- In the Reguleerimisala rippmenüüst, määrake nime ulatus. Töövihik (vaikimisi) on enamikul juhtudel soovitatav.
- In the Viitab sisestage kas OFFSET COUNTA või INDEX COUNTA valem.
- Klõpsake OK. Valmis!
Järgmisel ekraanipildil määratleme dünaamilise nimega vahemiku esemed mis mahutab kõik lahtrid koos andmetega veerus A, välja arvatud päise rida:
OFFSET valem Exceli dünaamilise nimega vahemiku määratlemiseks
Üldine valem dünaamilise nimega vahemiku loomiseks Excelis on järgmine:
OFFSET( first_cell , 0, 0, COUNTA( veerg ), 1)Kus:
- first_cell - esimene kirje, mis tuleb lisada nimetatud vahemikku, näiteks $A$2.
- veerg - absoluutne viide veerule nagu $A:$A.
Selle valemi keskmes kasutate funktsiooni COUNTA, et saada huvipakkuvas veerus olevate tühjade lahtrite arv. See arv läheb otse lahtrisse kõrgus OFFSET(reference, rows, cols, [height], [width]) funktsiooni argument, mis ütleb, mitu rida tagastada.
Peale selle on see tavaline Offset valem, kus:
- viide on alguspunkt, millest lähtutakse nihkega (first_cell).
- read ja cols on mõlemad 0, kuna puuduvad nihutatavad veerud ja read.
- laius on võrdne 1 veeruga.
Näiteks, et luua dünaamiline nimega vahemik veeru A jaoks lehel3, alustades lahtrist A2, kasutame seda valemit:
=OFFSET(Sheet3!$A$2, 0, 0, COUNTA(Sheet3!$A:$A), 1)
Märkus. Kui te määratlete dünaamilise vahemiku praegusel töölehel, ei pea te viitedesse lisama lehe nime, Excel teeb seda teie eest automaatselt. Kui te koostate vahemiku mõne teise lehe jaoks, lisage lahtri või vahemiku viite ette lehe nimi, millele järgneb hüüumärk (nagu ülaltoodud valemite näites).
INDEX-valem dünaamilise nimega vahemiku loomiseks Excelis
Teine võimalus Exceli dünaamilise vahemiku loomiseks on COUNTA kasutamine koos funktsiooniga INDEX.
first_cell :INDEX( veerg ,COUNTA( veerg ))See valem koosneb kahest osast:
- Vahemikuoperaatori (:) vasakule poolele paned kõvasti kodeeritud algviite, näiteks $A$2.
- Paremal pool kasutate funktsiooni INDEX(array, row_num, [column_num]), et välja selgitada lõppviide. Siin annate massiivi jaoks kogu veeru A ja kasutate COUNTA, et saada rea number (st veerus A olevate mittekirjeldatud lahtrite arv).
Meie näidisandmekogumi puhul (vt ülaltoodud ekraanipilti) on valem järgmine:
=$A$2:INDEX($A:$A, COUNTA($A:$A))
Kuna veerus A on 5 mitte tühja lahtrit, sealhulgas veeru päis, siis COUNTA tagastab 5. Järelikult INDEX tagastab $A$5, mis on viimane kasutatud lahter veerus A (tavaliselt tagastab indeksvalem väärtuse, kuid viiteoperaator sunnib seda tagastama viite). Ja kuna me seadsime alguspunktiks $A$2, siis on valemi lõpptulemuseks vahemik $A$2:$A$5.
Äsja loodud dünaamilise vahemiku testimiseks võite lasta COUNTA-l otsida elementide arvu:
=COUNTA(Kirjed)
Kui kõik on tehtud õigesti, muutub valemi tulemus, kui lisate või eemaldate loetelusse/loetelust elemente:
Märkus. Kaks eespool käsitletud valemit annavad sama tulemuse, kuid on üks erinevus jõudluses, millest peaksite teadlik olema. OFFSET on lenduv funktsioon, mis arvutab iga lehe muutmise korral uuesti. Võimsatel kaasaegsetel masinatel ja mõistliku suurusega andmekogumitel ei tohiks see probleemiks olla. Väikese võimsusega masinatel ja suurte andmekogumite puhul võib see Exceli aeglustada. Sellisel juhul peaksite oma Exceliparem kasutada valemit INDEX, et luua dünaamiline nimega vahemik.
Kuidas teha Excelis kahemõõtmeline dünaamiline vahemik
Kahemõõtmelise nimega vahemiku loomiseks, kus mitte ainult ridade, vaid ka veergude arv on dünaamiline, kasutage järgmist INDEX COUNTA valemi muudatust:
first_cell :INDEX($1:$1048576, COUNTA( first_column ), COUNTA( first_row )))Selles valemis on kaks COUNTA funktsiooni, et saada viimane mitte-tühi rida ja viimane mitte-tühi veerg ( row_num ja column_num vastavalt INDEX-funktsiooni argumentidele). Funktsioonis massiivi argumendiga söödate kogu töölehe (1048576 rida Excel 2016 - 2007; 65535 rida Excel 2003 ja madalamates versioonides).
Ja nüüd määratleme veel ühe dünaamilise vahemiku meie andmekogumi jaoks: vahemik nimega müük mis sisaldab 3 kuu (jaanuar-märts) müüginumbreid ja kohandub automaatselt, kui lisate tabelisse uusi kaupu (read) või kuid (veerud).
Kui müügiandmed algavad veerus B, reas 2, võtab valem järgmise kuju:
=$B$2:INDEX($1:$1048576,COUNTA($B:$B),COUNTA($2:$2))
Selleks, et veenduda, et teie dünaamiline vahemik töötab nii, nagu see peaks toimima, sisestage kuhugi lehele järgmised valemid:
=SUM(müük)
=SUM(B2:D5)
Nagu näete alloleval ekraanipildil, annavad mõlemad valemid sama kogusumma. Erinevus ilmneb hetkel, kui lisate tabelisse uusi kirjeid: esimene valem (dünaamilise nimega vahemikuga) uuendatakse automaatselt, samas kui teist valemit tuleb iga muudatuse korral käsitsi uuendada. See on suur erinevus, kas?
Kuidas kasutada dünaamilisi nimega vahemikke Exceli valemites
Selle õpetuse eelmistes osades olete juba näinud paari lihtsat valemit, mis kasutavad dünaamilisi vahemikke. Nüüd proovime välja mõelda midagi sisukamat, mis näitab Exceli dünaamilise nimega vahemiku tegelikku väärtust.
Selle näite jaoks võtame klassikalise INDEX MATCH valemi, mis täidab Excelis Vlookup'i:
INDEX ( return_range , MATCH ( lookup_value , lookup_range , 0))...ja vaata, kuidas me saame valemit veelgi võimsamaks muuta, kasutades dünaamilisi nimega vahemikke.
Nagu ülaltoodud ekraanipildil näha, püüame luua armatuurlauda, kus kasutaja sisestab artikli nime lahtrisse H1 ja saab selle artikli müügi kogumahu lahtrisse H2. Meie näidistabel, mis on loodud demonstratsiooni eesmärgil, sisaldab ainult 4 artiklit, kuid teie reaalsetes lehtedes võib olla sadu ja isegi tuhandeid ridu. Lisaks sellele võib uusi artikleid lisanduda iga päev, nii et viidete kasutamine ei olevõimalus, sest siis tuleks valemit ikka ja jälle uuendada. Ma olen selleks liiga laisk! :)
Et sundida valemit automaatselt laienema, määratleme 3 nime: 2 dünaamilist vahemikku ja 1 staatilise nimega lahtri:
Lookup_range: =$A$2:INDEX($A:$A, COUNTA($A:$A))
Return_range: =$E$2:INDEX($E:$E, COUNTA($E:$E))
Lookup_value: =$H$1
Märkus. Excel lisab kõigile viidetele praeguse lehe nime, seega enne nimede loomist avage kindlasti leht oma lähteandmetega.
Nüüd alustage valemi kirjutamist H1. Kui jõuate esimese argumendi juurde, sisestage paar tähemärki soovitud nime ja Excel näitab kõik olemasolevad sobivad nimed. Topeltklõpsake sobivat nime ja Excel lisab selle kohe valemisse:
Valmis valem näeb välja järgmiselt:
=INDEX(Return_range, MATCH(Lookup_value, Lookup_range, 0))
Ja töötab suurepäraselt!
Niipea kui lisate tabelisse uusi kirjeid, lisatakse need kohe arvutustesse, ilma et peaksite valemisse ühtegi muudatust tegema! Ja kui teil on kunagi vaja valemit teisaldada teise Exceli faili, looge lihtsalt sihtkoha töövihikus samad nimed, kopeerige/liidestage valem ja see hakkab kohe tööle.
Vihje. Lisaks valemite vastupidavamaks muutmisele on dünaamilised vahemikud kasulikud dünaamiliste ripploendite loomiseks.
Nii saate luua ja kasutada dünaamilisi nimega vahemikke Excelis. Kui soovite lähemalt tutvuda selles õpetuses käsitletud valemitega, siis olete teretulnud alla laadima meie Exceli dünaamilise nimega vahemiku töövihiku näidist. Tänan teid lugemise eest ja loodan, et näeme teid järgmisel nädalal meie blogis!