Cuprins
În acest tutorial, veți învăța cum să creați un interval numit dinamic în Excel și cum să îl utilizați în formule pentru a include automat date noi în calcule.
În tutorialul de săptămâna trecută, am analizat diferite moduri de a defini un interval cu nume static în Excel. Un nume static se referă întotdeauna la aceleași celule, ceea ce înseamnă că va trebui să actualizați manual referința intervalului ori de câte ori adăugați date noi sau eliminați date existente.
Dacă lucrați cu un set de date în continuă schimbare, este posibil să doriți să faceți intervalul numit dinamic, astfel încât acesta să se extindă automat pentru a găzdui intrările nou adăugate sau să se contracte pentru a exclude datele eliminate. Mai departe în acest tutorial, veți găsi îndrumări detaliate pas cu pas despre cum să faceți acest lucru.
Cum să creați un interval dinamic numit în Excel
Pentru început, haideți să construim un interval numit dinamic, format dintr-o singură coloană și un număr variabil de rânduri. Pentru a face acest lucru, efectuați următorii pași:
- Pe Formula în fila Nume definite grup, faceți clic pe Definiți numele Sau, apăsați Ctrl + F3 pentru a deschide Excel Name Manger și faceți clic pe butonul Nou... buton.
- În orice caz, în Nume nou se va deschide o casetă de dialog în care se vor specifica următoarele detalii:
- În Nume tastați numele intervalului dinamic.
- În Domeniul de aplicare setați domeniul de aplicare al numelui. Caietul de lucru (implicită) este recomandată în majoritatea cazurilor.
- În Se referă la introduceți fie formula OFFSET COUNTA, fie formula INDEX COUNTA.
- Faceți clic pe OK. Gata!
În următoarea captură de ecran, definim un interval dinamic numit interval articole care găzduiește toate celule cu date în coloana A, cu excepția rândului de antet:
Formula OFFSET pentru a defini un interval dinamic numit Excel
Formula generică pentru a crea un interval dinamic numit în Excel este următoarea:
OFFSET( prima_celulă , 0, 0, 0, COUNTA( coloana ), 1)Unde:
- prima_celulă - primul element care urmează să fie inclus în intervalul numit, de exemplu $A$2.
- coloana - o referință absolută la coloană, cum ar fi $A:$A.
În centrul acestei formule, utilizați funcția COUNTA pentru a obține numărul de celule care nu sunt goale din coloana de interes. Acest număr se introduce direct în funcția înălțime argument al funcției OFFSET(reference, rows, cols, [height], [width]) care îi spune câte rânduri să returneze.
În afară de aceasta, este o formulă obișnuită de compensare, unde:
- referință este punctul de plecare pe care se bazează decalajul (first_cell).
- rânduri și cols sunt amândouă 0, deoarece nu există coloane sau rânduri de compensat.
- lățime este egală cu o coloană.
De exemplu, pentru a construi un interval dinamic numit pentru coloana A din Foaia3, începând cu celula A2, folosim această formulă:
=OFFSET(Sheet3!$A$2, 0, 0, 0, COUNTA(Sheet3!$A:$A), 1)
Notă. Dacă definiți un interval dinamic în foaia de lucru curentă, nu este necesar să includeți numele foii în referințe, Excel o va face automat pentru dvs. Dacă construiți un interval pentru o altă foaie, prefixați referința celulei sau a intervalului cu numele foii urmat de semnul exclamării (ca în exemplul de formulă de mai sus).
Formula INDEX pentru a face un interval dinamic numit în Excel
O altă modalitate de a crea un interval dinamic Excel este utilizarea COUNTA în combinație cu funcția INDEX.
prima_celulă :INDEX( coloana ,COUNTA( coloana ))Această formulă este formată din două părți:
- În partea stângă a operatorului de interval (:), se plasează referința de pornire codificată, cum ar fi $A$2.
- În partea dreaptă, utilizați funcția INDEX(array, row_num, [column_num]) pentru a afla referința finală. În acest caz, furnizați întreaga coloană A pentru array și utilizați COUNTA pentru a obține numărul rândului (adică numărul de celule fără intrare din coloana A).
Pentru exemplul nostru de date (a se vedea captura de ecran de mai sus), formula este următoarea:
=$A$2:INDEX($A:$A, COUNTA($A:$A))
Deoarece există 5 celule care nu sunt goale în coloana A, inclusiv un antet de coloană, COUNTA returnează 5. În consecință, INDEX returnează $A$5, care este ultima celulă utilizată în coloana A (de obicei, o formulă Index returnează o valoare, dar operatorul de referință o obligă să returneze o referință). Și deoarece am stabilit $A$2 ca punct de plecare, rezultatul final al formulei este intervalul $A$2:$A$5.
Pentru a testa intervalul dinamic nou creat, puteți solicita COUNTA să extragă numărul de elemente:
=COUNTA(Items)
Dacă totul este făcut în mod corespunzător, rezultatul formulei se va schimba odată ce adăugați sau eliminați elemente în/din listă:
Notă. Cele două formule discutate mai sus produc același rezultat, însă există o diferență de performanță de care trebuie să țineți cont. OFFSET este o funcție volatilă care se recalculează la fiecare modificare a unei foi. Pe mașinile moderne puternice și pe seturi de date de dimensiuni rezonabile, acest lucru nu ar trebui să fie o problemă. Pe mașinile cu capacitate redusă și pe seturile de date mari, acest lucru poate încetini Excel-ul. În acest caz, ar trebui săeste mai bine să folosiți formula INDEX pentru a crea un interval dinamic numit.
Cum se face o gamă dinamică bidimensională în Excel
Pentru a construi un interval numit bidimensional, în care nu numai numărul de rânduri, ci și numărul de coloane este dinamic, utilizați următoarea modificare a formulei INDEX COUNTA:
prima_celulă :INDEX($1:$1048576, COUNTA( prima_coloană ), COUNTA( first_row )))În această formulă, aveți două funcții COUNTA pentru a obține ultimul rând nevid și ultima coloană nevidă ( număr_ rând și număr_coloană respectiv, argumentele funcției INDEX). În cadrul funcției array argument, se alimentează întreaga foaie de lucru (1048576 rânduri în Excel 2016 - 2007; 65535 rânduri în Excel 2003 și versiunile inferioare).
Și acum, să definim încă un interval dinamic pentru setul nostru de date: intervalul numit vânzări care include cifrele de vânzări pentru 3 luni (ianuarie-martie) și se ajustează automat pe măsură ce adăugați noi articole (rânduri) sau luni (coloane) în tabel.
Cu datele privind vânzările care încep în coloana B, rândul 2, formula are următoarea formă:
=$B$2:INDEX($1:$1048576,COUNTA($B:$B),COUNTA($2:$2))
Pentru a vă asigura că intervalul dinamic funcționează așa cum trebuie, introduceți următoarele formule undeva pe foaie:
=SUM(vânzări)
=SUM(B2:D5)
După cum puteți vedea în captura de ecran de mai jos, ambele formule returnează același total. Diferența se dezvăluie în momentul în care adăugați noi intrări în tabel: prima formulă (cu intervalul dinamic numit) se va actualiza automat, în timp ce a doua va trebui actualizată manual la fiecare modificare. Asta face o diferență uriașă, nu-i așa?
Cum se utilizează intervale numite dinamice în formulele Excel
În secțiunile anterioare ale acestui tutorial, ați văzut deja câteva formule simple care utilizează intervale dinamice. Acum, să încercăm să găsim ceva mai semnificativ care să arate valoarea reală a unui interval dinamic numit Excel.
Pentru acest exemplu, vom folosi formula clasică INDEX MATCH care realizează Vlookup în Excel:
INDEX ( intervalul_retur , MATCH ( lookup_value , gamă_de_cercetare , 0))...și vedeți cum putem face formula și mai puternică prin utilizarea unor intervale dinamice numite.
După cum se arată în captura de ecran de mai sus, încercăm să construim un tablou de bord, în care utilizatorul introduce un nume de articol în H1 și obține vânzările totale pentru acel articol în H2. Tabelul nostru de probă creat în scop demonstrativ conține doar 4 articole, dar în foile dvs. din viața reală pot exista sute și chiar mii de rânduri. În plus, pot fi adăugate zilnic articole noi, astfel încât utilizarea referințelor nu este opentru că ar trebui să actualizezi formula mereu și mereu. Sunt prea leneș pentru asta! :)
Pentru a forța formula să se extindă automat, vom defini 3 nume: 2 intervale dinamice și 1 celulă cu nume static:
Lookup_range: =$A$2:INDEX($A:$A, COUNTA($A:$A))
Intervalul de returnare: =$E$2:INDEX($E:$E, COUNTA($E:$E))
Valoare_de_consultare: =$H$1
Notă. Excel va adăuga numele foii curente la toate referințele, așa că, înainte de a crea denumirile, asigurați-vă că ați deschis foaia cu datele sursă.
Acum, începeți să tastați formula în H1. Când vine vorba de primul argument, tastați câteva caractere ale numelui pe care doriți să îl folosiți, iar Excel va afișa toate numele potrivite disponibile. Faceți dublu clic pe numele corespunzător, iar Excel îl va introduce imediat în formulă:
Formula completată arată după cum urmează:
=INDEX(Return_range, MATCH(Lookup_value, Lookup_range, 0))
Și funcționează perfect!
De îndată ce adăugați noi înregistrări în tabel, acestea vor fi incluse imediat în calculele dvs., fără a fi nevoie să faceți vreo modificare în formulă! Și dacă aveți nevoie să transferați formula într-un alt fișier Excel, este suficient să creați aceleași nume în registrul de lucru de destinație, să copiați/lipiți formula și să o puneți imediat în funcțiune.
Sfat. În afară de faptul că fac formulele mai durabile, intervalele dinamice sunt utile pentru a crea liste dinamice de tip dropdown.
Acesta este modul în care creați și utilizați intervale numite dinamice în Excel. Pentru a vedea mai îndeaproape formulele discutate în acest tutorial, vă invităm să descărcați exemplul nostru Excel Dynamic Named Range Workbook. Vă mulțumesc pentru lectură și sper să ne revedem pe blogul nostru săptămâna viitoare!