Aceasta este o copie de probă. Site-ul adevărat este excel-group.ro.
Meniu
Dynamic Arrays în Excel - FILTER, SORT, UNIQUE, SEQUENCE și RANDARRAY: formule care returnează sute de rezultate dinamic dintr-o singură celulă

Dynamic Arrays în Excel: revoluția formulelor pe care 90% din utilizatori o ignoră

Dynamic Arrays în Excel: revoluția formulelor pe care 90% din utilizatori o ignoră

Înainte de Dynamic Arrays, o formulă Excel returna o singură valoare. O celulă, un rezultat.

Din 2020, Excel a schimbat fundamental această regulă. Acum o singură formulă poate returna sute de rezultate dinamic — fără Ctrl+Shift+Enter, fără formule matriciale complexe, fără VBA.

Dacă nu folosești Dynamic Arrays, lucrezi cu o versiune incompletă a Excel-ului modern.


Ce sunt Dynamic Arrays

O formulă Dynamic Array se scrie într-o singură celulă și „se varsă” automat în celulele vecine — atâtea câte rezultate returnează. Acest comportament se numește spill.

Exemplu simplu:

={"Luni";"Marți";"Miercuri";"Joi";"Vineri"}

Scrisă în A1, această formulă completează automat A1:A5. Nu trebuie să o copiezi în jos.

Simbolul # (spill range operator): Dacă formula ta e în A1 și vrei să te referi la toate rezultatele ei dintr-o altă formulă:

=SUMA(A1#)    // sumă din tot spill range-ul
=CONTOR(A1#)  // câte rezultate a returnat

Funcțiile Dynamic Array — fiecare cu un superpunct

FILTER — cel mai util dintre toate

=FILTER(array; include; [daca_gol])

Returnează toate rândurile care îndeplinesc o condiție. Fără tabele pivot, fără filtre manuale.

Exemplu: toți agenții cu vânzări peste 50.000 lei

=FILTER(A2:D100; D2:D100>50000; "Nicio înregistrare")

Condiții multiple (ȘI):

=FILTER(A2:D100; (B2:B100="Nord")*(D2:D100>50000))

Condiții multiple (SAU):

=FILTER(A2:D100; (B2:B100="Nord")+(B2:B100="Sud"))

Rezultatul se actualizează automat când se schimbă datele sursă.


SORT și SORTBY — ordonare dinamică

=SORT(array; [index_col]; [ordine]; [pe_col])
// Top vânzări, descrescător
=SORT(A2:D100; 4; -1)

// Ordonare după mai multe criterii
=SORTBY(A2:D100; D2:D100; -1; B2:B100; 1)
// Întâi descrescător după vânzări, la egal crescător după regiune

Combini cu FILTER pentru liste filtrate și ordonate simultan:

=SORT(FILTER(A2:D100; B2:B100="Nord"); 4; -1)

UNIQUE — elimini duplicatele în mod dinamic

=UNIQUE(array; [pe_col]; [exact_o_data])

Lista unică de agenți din tabel:

=UNIQUE(B2:B100)

Exact o dată = produsele care apar o singură dată (nu sunt repetate):

=UNIQUE(C2:C100; FALSE; TRUE)

Combini cu SORT pentru liste unice ordonate alfabetic:

=SORT(UNIQUE(B2:B100))

SEQUENCE — generezi serii de numere automat

=SEQUENCE(rânduri; [coloane]; [start]; [pas])

Calendar lunar automat (rânduri = zile din lună):

=SEQUENCE(31; 1; DATE(2026;5;1); 1)

Matrice 5×12 cu numere de la 1 la 60:

=SEQUENCE(5; 12; 1; 1)

Util pentru tabele de amortizare, calendare, serii de teste.


RANDARRAY — date de test generate instant

=RANDARRAY(rânduri; coloane; min; max; intreg)
// 100 de valori întregi între 1000 și 50000
=RANDARRAY(100; 1; 1000; 50000; TRUE)

Perfect pentru a genera date de test fără să introduci manual.


Combinații puternice: Dynamic Arrays în lanț

Top 10 produse după vânzări

=TAKE(SORT(FILTER(A2:D100; D2:D100>0); 4; -1); 10)

FILTER elimină produsele cu 0 vânzări → SORT ordonează descrescător → TAKE ia primele 10. O singură formulă, fără tabele pivot.

Dropdown dinamic cu valori unice ordonate

// În Data Validation → List → Source:
=SORT(UNIQUE(FILTER(B2:B100; B2:B100<>"")))

Lista dropdown se actualizează automat când adaugi regiuni noi.

Raport cruce dinamică fără Pivot Table

// Capete de coloană (luni unice):
=TRANSPOSE(SORT(UNIQUE(A2:A100)))

// Valori (SUMIFS dinamic):
=SUMIFS($D$2:$D$100; $B$2:$B$100; $G2; $A$2:$A$100; H$1)

Erori comune cu Dynamic Arrays

#SPILL! — nu e loc pentru rezultate Celulele în care ar trebui să se verse rezultatele sunt ocupate. Curăță celulele din calea formulei.

#CALC! — set de date gol FILTER nu a găsit niciun rezultat. Adaugă parametrul daca_gol:

=FILTER(A2:D100; D2:D100>0; "Nicio înregistrare")

Performanță pe seturi mari Pe 100.000+ rânduri, FILTER + SORT poate fi lent. Consideră Power Query pentru volume mari.


Dynamic Arrays vs metodele clasice

Sarcină Metoda clasică Dynamic Arrays
Lista unică dintr-o coloană Remove Duplicates + copiere manuală =SORT(UNIQUE(...))
Top 10 după valoare Sort + copiere + formatare =TAKE(SORT(...);10)
Filtrare cu mai multe criterii Advanced Filter sau Pivot Table =FILTER(...)
Numerotare automată Tastare manuală sau ROW()-1 =SEQUENCE(...)

Compatibilitate

Dynamic Arrays sunt disponibile în:

  • Microsoft 365 (toate planurile) — din 2020
  • Excel 2021
  • Excel Online

Excel 2019 și mai vechi nu suportă Dynamic Arrays. Formulele apar ca legacy array formulas (cu {}) și pot să nu funcționeze corect.


Concluzie

Dynamic Arrays transformă Excel dintr-un instrument de calcul celulă-cu-celulă într-un motor de analiză care gândește în seturi de date. O formulă înlocuiește zece pași manuali.

Dacă lucrezi cu liste, rapoarte filtrate sau analize repetitive, Dynamic Arrays îți reduc munca cu 70-80%.

La Excel Group integrăm Dynamic Arrays în sistemele de raportare ale firmelor din România și Moldova — rapoarte care se actualizează singure, fără intervenție manuală. Contactează-ne.


Întrebări frecvente

Pot folosi Dynamic Arrays cu tabele Excel (Ctrl+T)?

Da — și e combinația optimă. Referințele structurate din tabele (Tabel[Coloana]) funcționează perfect în formule Dynamic Array și se extind automat.

FILTER poate returna și coloane specifice, nu tot tabelul?

Da: =FILTER(A2:D100; D2:D100>0) returnează toate coloanele. Dacă vrei doar coloanele 1 și 4: =CHOOSECOLS(FILTER(A2:D100; D2:D100>0); 1; 4).

Dynamic Arrays funcționează cu XLOOKUP sau alte funcții noi?

Absolut. Combinațiile sunt foarte puternice — de exemplu =XLOOKUP(FILTER(...); ...) sau =SORT(XLOOKUP(...)). Funcțiile noi Excel sunt proiectate să lucreze împreună.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *