Turinys
Šioje pamokoje sužinosite, kaip "Excel" programoje sukurti dinamišką pavadintą intervalą ir kaip jį naudoti formulėse, kad nauji duomenys būtų automatiškai įtraukiami į skaičiavimus.
Praėjusios savaitės pamokoje apžvelgėme įvairius būdus, kaip "Excel" programoje apibrėžti statinį pavadintą diapazoną. Statinis pavadinimas visada nurodo į tas pačias ląsteles, o tai reiškia, kad kiekvieną kartą, kai pridedate naujų arba pašalinate esamus duomenis, diapazono nuorodą turėsite atnaujinti rankiniu būdu.
Jei dirbate su nuolat besikeičiančiu duomenų rinkiniu, galbūt norėsite, kad jūsų įvardytas intervalas būtų dinamiškas, kad jis automatiškai išsiplėstų, kad į jį patektų nauji įrašai, arba susitrauktų, kad būtų pašalinti pašalinti duomenys. Toliau šioje pamokoje rasite išsamius žingsnis po žingsnio nurodymus, kaip tai padaryti.
Kaip "Excel" sukurti dinamišką pavadintą intervalą
Pradžiai sukurkime dinaminį pavadintą intervalą, sudarytą iš vieno stulpelio ir kintamo eilučių skaičiaus. Norėdami tai padaryti, atlikite šiuos veiksmus:
- Dėl Formulė skirtuke Apibrėžti pavadinimai grupę, spustelėkite Apibrėžti pavadinimą Arba paspauskite Ctrl + F3, kad atidarytumėte "Excel" pavadinimų tvarkyklę, ir spustelėkite Naujas... mygtuką.
- Bet kuriuo atveju Naujas pavadinimas Atsidarys dialogo langas, kuriame nurodysite šiuos duomenis:
- Į Pavadinimas įveskite dinaminio diapazono pavadinimą.
- Į Apimtis išskleidžiamajame lange nustatykite pavadinimo sritį. Darbo knyga (numatytoji reikšmė) rekomenduojama daugeliu atvejų.
- Į Nurodo įveskite OFFSET COUNTA arba INDEX COUNTA formulę.
- Spustelėkite Gerai. Atlikta!
Toliau pateiktoje ekrano kopijoje apibrėžiame dinaminį diapazoną straipsniai kuriame telpa visi ląstelės su duomenimis A stulpelyje, išskyrus antraštės eilutę:
OFFSET formulė, skirta "Excel" dinamiškam pavadintam diapazonui apibrėžti
Bendroji formulė dinamiškam įvardytam intervalui sukurti "Excel" programoje yra tokia:
OFFSET( first_cell , 0, 0, COUNTA( stulpelis ), 1)Kur:
- first_cell - pirmas elementas, kuris turi būti įtrauktas į įvardytą intervalą, pavyzdžiui, $A$2.
- stulpelis - absoliučią nuorodą į stulpelį, pavyzdžiui, $A:$A.
Šios formulės esmė - naudodami funkciją COUNTA, gaunate dominuojančio stulpelio tuščių langelių skaičių. Šis skaičius patenka tiesiai į aukštis funkcijos OFFSET(reference, rows, cols, [height], [width]) argumentas, nurodantis, kiek eilučių grąžinti.
Be to, tai įprasta įskaitymo formulė, kurioje:
- nuoroda yra pradinis taškas, nuo kurio pradedamas poslinkis (first_cell).
- eilutės ir cols yra 0, nes nėra stulpelių ar eilučių, kurias reikėtų kompensuoti.
- plotis yra lygus 1 stulpeliui.
Pavyzdžiui, norėdami sukurti dinaminį pavadintą diapazoną A stulpeliui 3 lape, prasidedantį A2 ląstelėje, naudojame šią formulę:
=OFFSET(Sheet3!$A$2, 0, 0, COUNTA(Sheet3!$A:$A), 1)
Pastaba. Jei nustatote dinaminį diapazoną dabartiniame darbo lape, nuorodose nereikia nurodyti lapo pavadinimo, "Excel" tai padarys už jus automatiškai. Jei nustatote diapazoną kokiame nors kitame lape, prieš ląstelės ar diapazono nuorodą įrašykite lapo pavadinimą, po kurio rašomas šauktukas (kaip pirmiau pateiktame formulės pavyzdyje).
INDEX formulė dinamiškam pavadintam diapazonui "Excel" sukurti
Kitas būdas sukurti "Excel" dinaminį intervalą - naudoti COUNTA kartu su funkcija INDEX.
first_cell :INDEX( stulpelis , COUNTA( stulpelis ))Šią formulę sudaro dvi dalys:
- Kairėje diapazono operatoriaus (:) pusėje įrašoma kieta pradinė nuoroda, pavyzdžiui, $A$2.
- Dešinėje pusėje, norėdami išsiaiškinti pabaigos nuorodą, naudojate funkciją INDEX(masyvas, eilutės_numeris, [stulpelio_numeris]). Šiuo atveju pateikiamas visas masyvo A stulpelis, o norint gauti eilutės numerį (t. y. A stulpelio neįeinančių langelių skaičių), naudojama funkcija COUNTA.
Mūsų pavyzdinio duomenų rinkinio (žr. pirmiau pateiktą ekrano nuotrauką) formulė yra tokia:
=$A$2:INDEX($A:$A, COUNTA($A:$A))
Kadangi A stulpelyje yra 5 ne tušti langeliai, įskaitant stulpelio antraštę, COUNTA grąžina 5. Todėl INDEX grąžina $A$5, kuris yra paskutinis panaudotas A stulpelio langelis (paprastai rodyklės formulė grąžina reikšmę, bet nuorodos operatorius priverčia ją grąžinti nuorodą). Kadangi pradiniu tašku nustatėme $A$2, galutinis formulės rezultatas yra intervalas $A$2:$A$5.
Norėdami išbandyti naujai sukurtą dinaminį intervalą, galite nurodyti COUNTA paimti elementų skaičių:
=COUNTA(Prekės)
Jei viskas atlikta tinkamai, formulės rezultatas pasikeis, kai į sąrašą pridėsite arba iš jo pašalinsite elementus:
Pastaba. Abi pirmiau aptartos formulės duoda tą patį rezultatą, tačiau reikia atkreipti dėmesį į tam tikrą našumo skirtumą. OFFSET yra nepastovi funkcija, kuri perskaičiuojama kiekvieną kartą pakeitus lapą. Galinguose šiuolaikiniuose kompiuteriuose ir pakankamai dideliuose duomenų rinkiniuose tai neturėtų kelti problemų. Mažai našiuose kompiuteriuose ir dideliuose duomenų rinkiniuose tai gali sulėtinti "Excel". Tokiu atveju turėtumėtegeriau naudoti INDEX formulę, kad sukurtumėte dinamišką pavadintą intervalą.
Kaip sukurti dvimatį dinaminį diapazoną programoje "Excel
Norėdami sukurti dvimatį pavadintą intervalą, kuriame ne tik eilučių, bet ir stulpelių skaičius yra dinamiškas, naudokite toliau nurodytą INDEX COUNTA formulės modifikaciją:
first_cell :INDEX($1:$1048576, COUNTA( first_column ), COUNTA( first_row )))Šioje formulėje turite dvi COUNTA funkcijas, kad gautumėte paskutinę ne tuščią eilutę ir paskutinį ne tuščią stulpelį ( eilutės_num ir column_num funkcijos INDEX argumentai). masyvas argumentas, pateikiamas visas darbalapis (1048576 eilutės "Excel 2016-2007"; 65535 eilutės "Excel 2003" ir žemesnėse versijose).
Dabar apibrėžkime dar vieną dinaminį diapazoną mūsų duomenų rinkiniui: diapazoną, pavadintą pardavimai kurioje pateikiami 3 mėnesių (sausio-kovo mėn.) pardavimų duomenys ir kuri automatiškai koreguojasi, kai į lentelę įtraukiami nauji elementai (eilutės) arba mėnesiai (stulpeliai).
Kai pardavimų duomenys prasideda B stulpelio 2 eilutėje, formulė įgauna tokią formą:
=$B$2:INDEX($1:$1048576,COUNTA($B:$B),COUNTA($2:$2))
Norėdami įsitikinti, kad dinaminis diapazonas veikia taip, kaip ir turėtų veikti, įveskite šias formules kur nors lape:
=SUMA(pardavimai)
=SUMA(B2:D5)
Kaip matote toliau pateiktoje ekrano nuotraukoje, abi formulės grąžina tą pačią bendrą sumą. Skirtumas išryškėja, kai į lentelę pridedate naujus įrašus: pirmoji formulė (su dinamiškai pavadintu diapazonu) bus atnaujinama automatiškai, o antrąją formulę reikės atnaujinti rankiniu būdu po kiekvieno pakeitimo. Tai didžiulis skirtumas, ar ne?
Kaip "Excel" formulėse naudoti dinaminius pavadintus intervalus
Ankstesniuose šios pamokos skyriuose jau matėte keletą paprastų formulių, kuriose naudojami dinaminiai intervalai. Dabar pabandykime sugalvoti ką nors prasmingesnio, kas parodytų tikrąją "Excel" dinaminio pavadinto intervalo vertę.
Šiame pavyzdyje naudosime klasikinę INDEX MATCH formulę, kuria "Excel" programoje atliekama Vlookup:
INDEKSAS ( return_range , MATCH ( lookup_value , lookup_range , 0))...ir pamatysite, kaip galime dar labiau patobulinti formulę naudodami dinaminius pavadinimų intervalus.
Kaip parodyta pirmiau pateiktoje ekrano kopijoje, bandome sukurti prietaisų skydelį, kuriame naudotojas H1 laukelyje įveda prekės pavadinimą, o H2 laukelyje gauna bendrą tos prekės pardavimų sumą. Mūsų pavyzdinėje lentelėje, sukurtoje demonstravimo tikslais, yra tik 4 prekės, tačiau realiose lentelėse gali būti šimtai ir net tūkstančiai eilučių. Be to, naujų prekių gali būti pridedama kasdien, todėl nuorodų naudojimas nėranes tektų vėl ir vėl atnaujinti formulę. Tam aš per daug tingiu! :)
Norėdami priversti formulę plėstis automatiškai, apibrėšime 3 pavadinimus: 2 dinaminius intervalus ir 1 statinį pavadintą ląstelės pavadinimą:
Lookup_range: =$A$2:INDEX($A:$A, COUNTA($A:$A))
Return_range: =$E$2:INDEX($E:$E, COUNTA($E:$E))
Lookup_value: =$H$1
Pastaba: "Excel" prie visų nuorodų pridės dabartinio lapo pavadinimą, todėl prieš kurdami pavadinimus būtinai atidarykite lapą su pradiniais duomenimis.
Dabar pradėkite rašyti formulę H1. Kai reikės įrašyti pirmąjį argumentą, įveskite kelis pavadinimo, kurį norite naudoti, simbolius, ir "Excel" parodys visus galimus atitinkamus pavadinimus. Dukart spustelėkite reikiamą pavadinimą, ir "Excel" jį iš karto įterps į formulę:
Užbaigta formulė atrodo taip:
=INDEX(Return_range, MATCH(Lookup_value, Lookup_range, 0))
Ir puikiai veikia!
Kai tik į lentelę įtrauksite naujų įrašų, jie iš karto bus įtraukti į skaičiavimus, o jums nereikės daryti nė vieno formulės pakeitimo! O jei kada nors reikės perkelti formulę į kitą "Excel" failą, tiesiog sukurkite tuos pačius pavadinimus paskirties sąsiuvinyje, nukopijuokite ir įklijuokite formulę ir ji iš karto pradės veikti.
Patarimas. Be to, kad formulės tampa patvaresnės, dinaminiai intervalai praverčia kuriant dinaminius išskleidžiamus sąrašus.
Taip "Excel" programoje sukursite ir naudosite dinamiškus pavadintus intervalus. Jei norite atidžiau susipažinti su šiame vadovėlyje aptartomis formulėmis, kviečiame atsisiųsti mūsų pavyzdinį "Excel" dinaminių pavadintų intervalų sąsiuvinį. Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje!