Salt la conținutul principal

Cum se creează un interval dinamic din Excel?

In mod normal, Gama denumită sunt foarte utile pentru utilizatorii Excel, puteți defini o serie de valori într-o coloană, puteți da coloanei un nume și apoi puteți face referire la acea gamă după nume în loc de referințele sale de celule. Dar, de cele mai multe ori, trebuie să adăugați date noi pentru a extinde în viitor valorile datelor din intervalul dvs. recomandat. În acest caz, trebuie să vă întoarceți la Formule > Manager nume și redefiniți gama pentru a include noua valoare. Pentru a evita acest lucru, puteți crea un interval denumit dinamic, ceea ce înseamnă că nu este nevoie să ajustați referințele celulei de fiecare dată când adăugați un nou rând sau coloană la listă.

Creați un interval dinamic din Excel în crearea unui tabel

Creați o gamă dinamică denumită în Excel cu funcția

Creați un interval dinamic din Excel în codul VBA


săgeată albastru dreapta balon Creați un interval dinamic din Excel în crearea unui tabel

Dacă utilizați Excel 2007 sau versiuni ulterioare, cel mai simplu mod de a crea o gamă dinamică numită este crearea unui tabel Excel numit.

Să presupunem că aveți o serie de date următoare care trebuie să devină un interval denumit dinamic.

doc-dynamic-range1

1. În primul rând, voi defini numele intervalului pentru acest interval. Selectați intervalul A1: A6 și introduceți numele Data în Cutie de nume, Apoi apăsați Intrați cheie. Pentru a defini un nume pentru intervalul B1: B6 ca Saleprice în același mod. În același timp, creez o formulă = suma (preț de vânzare) într-o celulă goală, vezi captura de ecran:

doc-dynamic-range2

2. Selectați intervalul și faceți clic Insera > Tabel, vezi captura de ecran:

doc-dynamic-range3

3. În Creați tabel casetă prompt, bifați Masa mea are antete (dacă intervalul nu are anteturi, debifați-l), faceți clic pe OK butonul, iar datele despre interval au fost convertite în tabel. Vedeți capturi de ecran:

doc-dynamic-range4 -2 doc-dynamic-range5

4. Și când introduceți valori noi după date, intervalul numit se va regla automat și va fi modificată și formula creată. Vedeți următoarele capturi de ecran:

doc-dynamic-range6 -2 doc-dynamic-range7

note:

1. Noile date introduse trebuie să fie adiacente cu datele de mai sus, înseamnă că nu există rânduri sau coloane goale între noile date și datele existente.

2. În tabel, puteți introduce date între valorile existente.


săgeată albastru dreapta balon Creați o gamă dinamică denumită în Excel cu funcția

În Excel 2003 sau versiunea anterioară, prima metodă nu va fi disponibilă, deci iată un alt mod pentru dvs. Următoarele DECALAJ( ) funcția vă poate face această favoare, dar este oarecum supărătoare. Presupunând că am o gamă de date care conține numele intervalelor pe care le-am definit, de exemplu, A1: A6 numele zonei este Data, și B1: B6 numele intervalului este Preț de vânzare, în același timp, creez o formulă pentru Preț de vânzare. Vedeți captura de ecran:

doc-dynamic-range2

Puteți schimba numele intervalelor în nume dinamice, urmând pașii următori:

1. Accesați clic Formule > Manager nume, vezi captura de ecran:

doc-dynamic-range8

2. În Manager nume caseta de dialog, selectați elementul pe care doriți să îl utilizați și faceți clic pe Editati butonul.

doc-dynamic-range9

3. În pop-out Editeaza numele dialog, introduceți această formulă = OFFSET (Sheet1! $ A $ 1, 0, 0, COUNTA ($ A: $ A), 1) în Se refera la casetă text, vezi captura de ecran:

doc-dynamic-range10

4. Apoi apasa OK, și apoi repetați pasul 2 și pasul 3 pentru a copia această formulă = OFFSET (Foaie1! $ B $ 1, 0, 0, COUNTA ($ B: $ B), 1) în Se refera la casetă de text pentru Preț de vânzare numele intervalului.

5. Și intervalele dinamice denumite au fost create. Când introduceți valori noi după date, intervalul numit se va regla automat și va fi modificată și formula creată. Vedeți capturi de ecran:

doc-dynamic-range6 -2 doc-dynamic-range7

Notă: Dacă există celule goale în mijlocul intervalului dvs., rezultatul formulei dvs. va fi greșit. Acest lucru se datorează faptului că celulele care nu sunt goale nu sunt numărate, astfel încât intervalul dvs. va fi mai scurt decât ar trebui, iar ultimele celule din interval vor fi lăsate oprite.

Sfat: explicație pentru această formulă:

  • = OFFSET (referință, rânduri, coluri, [înălțime], [lățime])
  • -1
  • = OFFSET (Sheet1! $ A $ 1, 0, 0, COUNTA ($ A: $ A), 1)
  • referință corespunde poziției celulei de pornire, în acest exemplu Foaie1! $ A $ 1;
  • rând se referă la numărul de rânduri pe care urmează să le mutați în jos, în raport cu celula de pornire (sau în sus, dacă utilizați o valoare negativă.), în acest exemplu, 0 indică că lista va începe de la primul rând în jos
  • coloană corespunde numărului de coloane pe care îl veți muta la dreapta, relativ la celula de pornire (sau la stânga, folosind o valoare negativă.), în formula de exemplu de mai sus, 0 indică extinderea 0 coloane la dreapta.
  • [înălţime] corespunde înălțimii (sau numărului de rânduri) al intervalului începând de la poziția ajustată. $ A: $ A, va conta toate articolele introduse în coloana A.
  • [lăţime] corespunde lățimii (sau numărului de coloane) a intervalului începând de la poziția ajustată. În formula de mai sus, lista va avea o coloană lată.

Puteți schimba aceste argumente în funcție de nevoile dvs.


săgeată albastru dreapta balon Creați un interval dinamic din Excel în codul VBA

Dacă aveți mai multe coloane, ați putea repeta și introduce formula individuală pentru toate coloanele rămase, dar acesta ar fi un proces lung și repetitiv. Pentru a face lucrurile mai ușoare, puteți utiliza un cod pentru a crea automat intervalul denumit dinamic.

1. Activați foaia de lucru.

2. Țineți apăsat butonul ALT + F11 tastele și deschide fișierul Fereastra Microsoft Visual Basic pentru aplicații.

3. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.

Cod VBA: creați un interval denumit dinamic

Sub CreateNamesxx()
'Update 20131128
Dim wb As Workbook, ws As Worksheet
Dim lrow As Long, lcol As Long, i As Long
Dim myName As String, Start As String
Const Rowno = 1
Const Colno = 1
Const Offset = 1
On Error Resume Next
Set wb = ActiveWorkbook
Set ws = ActiveSheet
lcol = ws.Cells(Rowno, 1).End(xlToRight).Column
lrow = ws.Cells(Rows.Count, Colno).End(xlUp).Row
Start = Cells(Rowno, Colno).Address
wb.Names.Add Name:="lcol", RefersTo:="=COUNTA($" & Rowno & ":$" & Rowno & ")"
wb.Names.Add Name:="lrow", RefersToR1C1:="=COUNTA(C" & Colno & ")"
wb.Names.Add Name:="myData", RefersTo:="=" & Start & ":INDEX($1:$65536," & "lrow," & "Lcol)"
For i = Colno To lcol
    myName = Replace(Cells(Rowno, i).Value, " ", "_")
    If myName <> "" Then
        wb.Names.Add Name:=myName, RefersToR1C1:="=R" & Rowno + Offset & "C" & i & ":INDEX(C" & i & ",lrow)"
    End If
Next
End Sub

4. Apoi apăsați F5 cheie pentru a rula codul și vor fi generate câteva intervale dinamice denumite care sunt denumite cu valorile primului rând și creează, de asemenea, un interval dinamic numit Datele mele care acoperă toate datele.

5. Când introduceți valori noi după rânduri sau coloane, intervalul va fi extins și. Vedeți capturi de ecran:

doc-dynamic-range12
-1
doc-dynamic-range13

note:

1. Cu acest cod, numele intervalelor nu sunt afișate în Cutie de nume, pentru a vizualiza și utiliza în mod convenabil numele gamei, am instalat Kutools pentru Excel, Cu său Panoul de navigare, sunt listate numele intervalelor dinamice create.

2. Cu acest cod, întreaga gamă de date poate fi extinsă pe verticală sau orizontală, dar să ne amintim că nu ar trebui să existe rânduri sau coloane goale între date când introduceți valori noi.

3. Când utilizați acest cod, intervalul dvs. de date ar trebui să înceapă de la celula A1.


Articol asociat:

Cum se actualizează automat o diagramă după introducerea datelor noi în Excel?

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

Descriere


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
really, really not helpful
This comment was minimized by the moderator on the site
please help i am trying to create a dynamic named range on excel 2016 typing "=offset(DATAENTRY!$B$6,,,counta(DATAENTRY!$B$6:$B$13))" but still it gives me an error saying it is not a formula.
This comment was minimized by the moderator on the site
You are a very good teacher: 1) step-by-step approach; 2) you do not bore the student with obvious material or conclusions; 3) yet you include all necessary material. I look forward to more tutorials from you.
This comment was minimized by the moderator on the site
Thanks for good article
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations