Matrici, funcții și formule dinamice Excel

  • Imparte Asta
Michael Brown

Datorită actualizării revoluționare a motorului de calcul din Excel 365, formulele array devin foarte simple și ușor de înțeles pentru toată lumea, nu doar pentru super utilizatori. Tutorialul explică conceptul noilor array-uri dinamice din Excel și arată cum acestea pot face ca foile de lucru să fie mai eficiente și mult mai ușor de configurat.

Formulele de matrice Excel au fost întotdeauna considerate o prerogativă a guru și a experților în formule. Dacă cineva spune "Acest lucru se poate face cu o formulă de matrice", reacția imediată a multor utilizatori este "Oh, nu există o altă cale?".

Introducerea array-urilor dinamice este o schimbare mult așteptată și binevenită. Datorită capacității lor de a lucra cu valori multiple într-un mod simplu, fără trucuri și ciudățenii, formulele array-urilor dinamice sunt ceva ce fiecare utilizator Excel poate înțelege și se poate bucura de crearea lor.

    Matrici dinamice Excel

    Array-uri dinamice sunt matrici redimensionabile care calculează automat și returnează valori în mai multe celule pe baza unei formule introduse într-o singură celulă.

    De-a lungul celor peste 30 de ani de istorie, Microsoft Excel a suferit multe schimbări, dar un lucru a rămas constant - o formulă, o celulă. Chiar și în cazul formulelor de matrice tradiționale, era necesar să introduceți o formulă în fiecare celulă în care doriți să apară un rezultat. Cu matricele dinamice, această regulă nu mai este valabilă. Acum, orice formulă care returnează o matrice de valori se revarsă automat în veciniicelule, fără a fi nevoie să apăsați Ctrl + Shift + Enter sau să faceți alte mișcări. Cu alte cuvinte, operarea cu array-uri dinamice devine la fel de ușoară ca și cum ați lucra cu o singură celulă.

    Permiteți-mi să ilustrez conceptul cu un exemplu foarte simplu. Să presupunem că trebuie să înmulțițiți două grupuri de numere, de exemplu, pentru a calcula procente diferite.

    În versiunile pre-dinamice ale Excel, formula de mai jos ar funcționa numai pentru prima celulă, cu excepția cazului în care o introduceți în mai multe celule și apăsați Ctrl + Shift + Enter pentru a o transforma în mod explicit într-o formulă de matrice:

    =A3:A5*B2:D2

    Acum, vedeți ce se întâmplă atunci când aceeași formulă este utilizată în Excel 365. O introduceți într-o singură celulă (B3 în cazul nostru), apăsați tasta Enter... și întreaga rază se umple cu rezultatele dintr-o dată:

    Umplerea mai multor celule cu o singură formulă se numește vărsare , iar intervalul de celule populat se numește interval de deversare.

    Un lucru important de reținut este că recenta actualizare nu este doar un nou mod de a gestiona array-urile în Excel. De fapt, aceasta este o schimbare revoluționară pentru întregul motor de calcul. Cu array-urile dinamice, o mulțime de funcții noi au fost adăugate la Biblioteca de funcții Excel, iar cele existente au început să funcționeze mai rapid și mai eficient. În cele din urmă, noile array-uri dinamice ar trebui să completeze completînlocuiesc formulele de matrice de modă veche care sunt introduse cu comanda rapidă Ctrl + Shift + Enter.

    Disponibilitatea array-urilor dinamice Excel

    Tabelele dinamice au fost introduse în cadrul conferinței Microsoft Ignite din 2018 și au fost lansate pentru abonații Office 365 în ianuarie 2020. În prezent, acestea sunt disponibile în Abonamente Microsoft 365 și Excel 2021.

    În aceste versiuni sunt acceptate matricele dinamice:

    • Excel 365 pentru Windows
    • Excel 365 pentru Mac
    • Excel 2021
    • Excel 2021 pentru Mac
    • Excel pentru iPad
    • Excel pentru iPhone
    • Excel pentru tablete Android
    • Excel pentru telefoane Android
    • Excel pentru web

    Funcții de matrice dinamică Excel

    Ca parte a noii funcționalități, în Excel 365 au fost introduse 6 funcții noi care gestionează nativ array-uri și care produc date de ieșire într-un interval de celule. Ieșirea este întotdeauna dinamică - atunci când are loc orice modificare în datele sursă, rezultatele se actualizează automat. De aici și numele grupului - funcții de matrice dinamice .

    Aceste noi funcții fac față cu ușurință unei serii de sarcini considerate în mod tradițional ca fiind greu de rezolvat. De exemplu, ele pot elimina duplicatele, pot extrage și număra valorile unice, pot filtra spațiile goale, pot genera numere întregi și numere zecimale aleatorii, pot sorta în ordine crescătoare sau descrescătoare și multe altele.

    Mai jos veți găsi o scurtă descriere a ceea ce face fiecare funcție, precum și linkuri către tutoriale detaliate:

    1. UNIC - extrage elemente unice dintr-o serie de celule.
    2. FILTRARE - filtrează datele în funcție de criteriile pe care le definiți.
    3. SORT - sortează un interval de celule după o coloană specificată.
    4. SORTBY - ordonează un interval de celule în funcție de un alt interval sau matrice.
    5. RANDARRAY - generează o matrice de numere aleatoare.
    6. SEQUENCE - generează o listă de numere secvențiale.
    7. TEXTSPLIT - împarte șirurile de caractere după un delimitator specificat pe coloane și/sau rânduri.
    8. TOCOL - convertește o matrice sau un interval într-o singură coloană.
    9. TOROW - transformă un interval sau o matrice într-un singur rând.
    10. WRAPCOLS - convertește un rând sau o coloană într-o matrice 2D pe baza numărului specificat de valori pe rând.
    11. WRAPROWS - reconfigurează un rând sau o coloană într-o matrice 2D pe baza numărului specificat de valori pe coloană.
    12. TAKE - extrage un număr specificat de rânduri și/sau coloane contigue de la începutul sau de la sfârșitul unei matrice.

    În plus, există doi înlocuitori moderni ai popularelor funcții Excel, care nu fac parte oficial din grup, dar care valorifică toate avantajele tablourilor dinamice:

    XLOOKUP - este un succesor mai puternic al VLOOKUP, HLOOKUP și LOOKUP, care poate efectua căutări atât în coloane, cât și în rânduri și poate returna mai multe valori.

    XMATCH - este un succesor mai versatil al funcției MATCH, care poate efectua căutări verticale și orizontale și poate returna o poziție relativă a elementului specificat.

    Formule de matrice dinamică Excel

    În versiunile moderne ale Excel, comportamentul matricei dinamice este profund integrat și devine nativ pentru toate funcțiile , chiar și cele care nu au fost concepute inițial pentru a lucra cu array-uri. Pentru a simplifica, pentru orice formulă care returnează mai mult de o valoare, Excel creează automat un interval redimensionabil în care sunt emise rezultatele. Datorită acestei abilități, funcțiile existente pot face acum magie!

    Exemplele de mai jos arată noile formule de matrice dinamică în acțiune, precum și efectul matricei dinamice asupra funcțiilor existente.

    Exemplul 1. Noua funcție de matrice dinamică

    Acest exemplu demonstrează cât de mult mai rapid și mai simplu se poate realiza o soluție cu ajutorul funcțiilor de matrice dinamică Excel.

    Pentru a extrage o listă de valori unice dintr-o coloană, în mod tradițional ați utiliza o formulă CSE complexă, cum ar fi aceasta. În Excel dinamic, tot ce aveți nevoie este o formulă UNIQUE în forma sa de bază:

    =UNIQUE(B2:B10)

    Introduceți formula în orice celulă goală și apăsați Enter. Excel extrage imediat toate valorile diferite din listă și le scoate într-un interval de celule începând de la celula în care ați introdus formula (D2 în cazul nostru). Când datele sursă se modifică, rezultatele sunt recalculate și actualizate automat.

    Exemplul 2. Combinarea mai multor funcții de matrice dinamică într-o singură formulă

    Dacă nu există nicio modalitate de a îndeplini o sarcină cu o singură funcție, înlănțuiți câteva! De exemplu, pentru a filtra datele pe baza unei condiții și a aranja rezultatele în ordine alfabetică, înfășurați funcția SORT în jurul funcției FILTER astfel:

    =SORT(FILTER(A2:C13, B2:B13=F1, "Fără rezultate")))

    Unde A2:C13 sunt datele sursă, B2:B13 sunt valorile de verificat, iar F1 este criteriul.

    Exemplul 3. Utilizarea noilor funcții de matrice dinamice împreună cu cele existente

    Deoarece noul motor de calcul implementat în Excel 365 poate transforma cu ușurință formulele convenționale în matrici, nimic nu vă împiedică să combinați funcțiile noi și cele vechi.

    De exemplu, pentru a număra câte valori unice există într-un anumit interval, puteți include funcția UNIQUE a tabloului dinamic în vechea COUNTA:

    =COUNTA(UNIQUE(B2:B10))

    Exemplul 4. Funcțiile existente acceptă matricele dinamice

    Dacă furnizați un interval de celule funcției TRIM într-o versiune mai veche, cum ar fi Excel 2016 sau Excel 2019, aceasta va returna un singur rezultat pentru prima celulă:

    =TRIM(A2:A6)

    În Excel dinamic, aceeași formulă procesează toate celulele și returnează mai multe rezultate, după cum se arată mai jos:

    Exemplul 5. Formula VLOOKUP pentru a returna mai multe valori

    După cum știe toată lumea, funcția VLOOKUP este concepută pentru a returna o singură valoare pe baza indicelui de coloană pe care îl specificați. Cu toate acestea, în Excel 365, puteți furniza o matrice de numere de coloane pentru a returna rezultate din mai multe coloane:

    =VLOOKUP(F1, A2:C6, {1,2,3}, FALSE)

    Exemplul 6. Formula TRANSPOSE simplificată

    În versiunile anterioare ale Excel, sintaxa funcției TRANSPOSE nu lăsa loc de greșeli. Pentru a roti datele din foaia de calcul, trebuia să numărați coloanele și rândurile originale, să selectați același număr de celule goale, dar să schimbați orientarea (o operațiune halucinantă în foi de calcul uriașe!), să tastați o formulă TRANSPOSE în intervalul selectat și să apăsați Ctrl + Shift + Enter pentru a o completa corect. Uf!

    În Excel dinamic, trebuie doar să introduceți formula în cea mai din stânga celulă a intervalului de ieșire și să apăsați Enter:

    =TRANSPUNE(A1:B6)

    Gata!

    Domeniu de deversare - o formulă, mai multe celule

    The gama de deversare este un interval de celule care conține valorile returnate de o formulă de matrice dinamică.

    Atunci când este selectată orice celulă din intervalul de deversare, apare marginea albastră pentru a arăta că tot ceea ce se află în interiorul ei este calculat de formula din celula din stânga sus. Dacă ștergeți formula din prima celulă, toate rezultatele vor dispărea.

    Intervalul de vărsare este un lucru cu adevărat grozav care ușurează foarte mult viața utilizatorilor Excel. Anterior, cu formulele de matrice CSE, trebuia să ghicim în câte celule să le copiem. Acum, trebuie doar să introduceți formula în prima celulă și să lăsați Excel să se ocupe de restul.

    Notă. Dacă alte date blochează intervalul de deversare, apare o eroare #SPILL. Odată ce datele care obstrucționează sunt eliminate, eroarea va dispărea.

    Pentru mai multe informații, vă rugăm să consultați Excel spill range.

    Referință pentru intervalul de deversare (simbol #)

    Pentru a vă referi la intervalul de vărsare, puneți un simbol hash tag sau un simbol de lire sterline (#) după adresa celulei din stânga-sus a intervalului.

    De exemplu, pentru a afla câte numere aleatoare sunt generate de formula RANDARRAY în A2, furnizați referința intervalului de vărsare la funcția COUNTA:

    =COUNTA(A2#)

    Pentru a aduna valorile din intervalul de vărsare, utilizați:

    =SUM(A2#)

    Sfaturi:

    • Pentru a vă referi rapid la un interval de deversare, selectați pur și simplu toate celulele din interiorul casetei albastre cu ajutorul mouse-ului, iar Excel va crea un ref. de deversare pentru dvs.
    • Spre deosebire de o referință de interval obișnuită, referința de interval de deversare este dinamică și reacționează automat la redimensionarea intervalului.
    • Pentru mai multe detalii, vă rugăm să consultați Operatorul domeniului de deversare.

      Intersecția implicită și caracterul @

      În matricea dinamică Excel, există încă o modificare semnificativă în limbajul formulelor - introducerea caracterului @, cunoscut sub numele de operator implicit de intersecție .

      În Microsoft Excel, intersecție implicită este un comportament de formulă care reduce mai multe valori la o singură valoare. În vechiul Excel, o celulă nu putea conține decât o singură valoare, deci acesta era comportamentul implicit și nu era nevoie de un operator special pentru aceasta.

      În noul Excel, toate formulele sunt considerate implicit formule de tip array. Operatorul de intersecție implicită este utilizat pentru a preveni comportamentul de tip array dacă nu doriți acest lucru într-o anumită formulă. Cu alte cuvinte, dacă doriți ca formula să returneze o singură valoare, puneți @ înaintea numelui funcției și aceasta se va comporta ca o formulă non-array în Excel tradițional.

      Pentru a vedea cum funcționează în practică, vă rugăm să aruncați o privire la captura de ecran de mai jos.

      În C2, există o formulă de matrice dinamică care împrăștie rezultatele în mai multe celule:

      =UNIQUE(A2:A9)

      În E2, funcția este prefixată cu caracterul @ care invocă intersecția implicită. Ca rezultat, se returnează doar prima valoare unică:

      =@UNIQUE(A2:A9)

      Pentru mai multe informații, consultați Intersecția implicită în Excel.

      Avantajele tablourilor dinamice Excel

      Fără îndoială, array-urile dinamice sunt una dintre cele mai bune îmbunătățiri Excel din ultimii ani. Ca orice caracteristică nouă, au puncte tari și puncte slabe. Din fericire pentru noi, punctele tari ale noilor formule de array dinamic Excel sunt copleșitoare!

      Simplu și mai puternic

      Matricele dinamice fac posibilă crearea unor formule mai puternice într-un mod mult mai simplu. Iată câteva exemple:

      • Extrageți valori unice: formule tradiționale
      • Numărați valorile unice și distincte: formule tradiționale
      • Sortarea coloanelor în ordine alfabetică: formule tradiționale

      Nativ pentru toate formulele

      În Excel dinamic, nu trebuie să vă deranjați care funcții acceptă array-uri și care nu. Dacă o formulă poate returna mai multe valori, o va face în mod implicit. Acest lucru se aplică, de asemenea, operațiilor aritmetice și funcțiilor moștenite, după cum se demonstrează în acest exemplu.

      Funcții de matrice dinamice imbricate

      Pentru a găsi soluții pentru sarcini mai complexe, aveți libertatea de a combina noile funcții de matrice dinamică Excel sau de a le utiliza împreună cu cele vechi, așa cum se arată aici și aici.

      Referințele relative și absolute sunt mai puțin importante

      Datorită abordării "o formulă, mai multe valori", nu este nevoie să blocați intervalele cu semnul $, deoarece, din punct de vedere tehnic, formula se află într-o singură celulă. Așadar, în mare parte, nu contează dacă se utilizează referințe absolute, relative sau mixte de celule (ceea ce a fost întotdeauna o sursă de confuzie pentru utilizatorii neexperimentați) - o formulă de matrice dinamică va produce oricum rezultate corecte!

      Limitări ale rețelelor dinamice

      Noile matrici dinamice sunt minunate, dar, ca în cazul oricărei funcții noi, există câteva avertismente și considerații de care trebuie să țineți cont.

      Rezultatele nu pot fi sortate în mod obișnuit

      Intervalul de vărsăminte returnat de o formulă de matrice dinamică nu poate fi sortat utilizând funcția de sortare a Excel. Orice astfel de încercare va avea ca rezultat afișarea mesajului " Nu puteți modifica o parte a unui array " eroare. Pentru a aranja rezultatele de la cel mai mic la cel mai mare sau invers, înfășurați formula curentă în funcția SORT. De exemplu, iată cum puteți filtra și sorta la un moment dat.

      Nu se poate șterge nicio valoare din intervalul de vărsare

      Niciuna dintre valorile dintr-un interval de vărsare nu poate fi ștearsă din același motiv: nu se poate modifica o parte a unui array. Acest comportament este așteptat și logic. Formulele tradiționale de array CSE funcționează, de asemenea, în acest mod.

      Nu sunt acceptate în tabelele Excel

      Această caracteristică (sau eroare?) este destul de neașteptată. Formulele de matrice dinamică nu funcționează din tabelele Excel, ci doar în intervale obișnuite. Dacă încercați să convertiți un interval de tip spill într-un tabel, Excel va face acest lucru. Dar în loc de rezultate, veți vedea doar o eroare #SPILL!

      Nu lucrați cu Excel Power Query

      Rezultatele formulelor de matrice dinamice nu pot fi încărcate în Power Query. De exemplu, dacă încercați să unificați două sau mai multe intervale de versete folosind Power Query, acest lucru nu va funcționa.

      Matrici dinamice vs. formulele tradiționale de matrice CSE

      Odată cu introducerea tablourilor dinamice, putem vorbi despre două tipuri de Excel:

      1. Excel dinamic care suportă în totalitate matricele, funcțiile și formulele dinamice. În prezent, sunt disponibile doar Excel 365 și Excel 2021.
      2. Excel moștenit , cunoscut și ca Excel tradițional sau pre-dinamic, în care sunt acceptate doar formulele de matrice Ctrl + Shift + Enter. Este vorba despre Excel 2019, Excel 2016, Excel 2013 și versiunile anterioare.

      Este de la sine înțeles că matricele dinamice sunt superioare formulelor de matrice CSE din toate punctele de vedere. Deși formulele de matrice tradiționale sunt păstrate din motive de compatibilitate, de acum înainte se recomandă utilizarea celor noi.

      Iată care sunt cele mai importante diferențe:

      • O formulă de matrice dinamică este introdusă într-o celulă și completată cu o apăsare obișnuită a tastei Enter. Pentru a completa o formulă de matrice de modă veche, trebuie să apăsați Ctrl + Shift + Enter .
      • Noile formule de matrice se revarsă automat în mai multe celule. Formulele CSE trebuie copiate într-un interval de celule pentru a returna rezultate multiple.
      • Rezultatul formulelor de matrice dinamice se redimensionează automat pe măsură ce datele din intervalul sursă se modifică. Formulele CSE trunchiază rezultatul dacă zona de returnare este prea mică și returnează erori în celule suplimentare dacă zona de returnare este prea mare.
      • O formulă de matrice dinamică poate fi editată cu ușurință într-o singură celulă. Pentru a modifica o formulă CSE, trebuie să selectați și să editați întregul interval.
      • Nu este posibil să ștergeți și să inserați rânduri într-un interval de formule CSE - trebuie să ștergeți mai întâi toate formulele existente. Cu array-urile dinamice, inserarea sau ștergerea rândurilor nu reprezintă o problemă.

      Compatibilitate retroactivă: array-uri dinamice în Excel vechi

      Atunci când deschideți un registru de lucru care conține o formulă de matrice dinamică în Excel vechi, aceasta este convertită automat într-o formulă de matrice convențională inclusă în {între paranteze curbe}. Când deschideți din nou foaia de lucru în Excel nou, parantezele curbe vor fi eliminate.

      În Excel tradițional, noile funcții de matrice dinamică și referințele la intervalul de împrăștiere sunt prefixate cu _xlfn pentru a indica faptul că această funcționalitate nu este acceptată. Semnul de ref. interval de împrăștiere (#) este înlocuit cu funcția ANCHORARRAY.

      De exemplu, iată cum apare o formulă UNIQUE în Excel 2013 :

      Cele mai multe formule de matrice dinamice (dar nu toate!) vor continua să afișeze rezultatele lor în Excel vechi până când le veți face modificări. Editarea unei formule o întrerupe imediat și afișează una sau mai multe valori de eroare #NAME?

      Formulele de matrice dinamică Excel nu funcționează

      În funcție de funcție, pot apărea diferite erori dacă utilizați o sintaxă incorectă sau argumente invalide. Mai jos sunt prezentate cele mai frecvente 3 erori pe care le puteți întâlni cu orice formulă de matrice dinamică.

      #SPILL! eroare

      Atunci când o matrice dinamică returnează mai multe rezultate, dar ceva blochează intervalul de deversare, apare o eroare #SPILL!

      Pentru a remedia eroarea, trebuie doar să ștergeți sau să eliminați toate celulele din intervalul de deversare care nu sunt complet goale. Pentru a identifica rapid toate celulele care stau în cale, faceți clic pe indicatorul de eroare, apoi faceți clic pe Selectați celulele care obstrucționează .

      În afară de un interval de deversare nevid, această eroare poate fi cauzată de alte câteva motive. Pentru mai multe informații, consultați:

      • Eroare Excel #SPILL - cauze și remedieri
      • Cum să remediați eroarea #SPILL! cu VLOOKUP, INDEX MATCH, SUMIF

      #REF! eroare

      Din cauza suportului limitat pentru referințe externe între registrele de lucru, matricele dinamice necesită ca ambele fișiere să fie deschise. Dacă registrul de lucru sursă este închis, se afișează o eroare #REF!

      #NAME? eroare

      Apare o eroare #NAME? dacă încercați să utilizați o funcție de matrice dinamică într-o versiune mai veche de Excel. Vă rugăm să rețineți că noile funcții sunt disponibile numai în Excel 365 și Excel 2021.

      Dacă această eroare apare în versiunile Excel acceptate, verificați de două ori numele funcției din celula cu probleme. Sunt șanse ca acesta să fie scris greșit :)

      Iată cum se utilizează array-urile dinamice în Excel. Sperăm că vă va plăcea această nouă funcționalitate fantastică! Oricum, vă mulțumesc pentru lectură și sper să ne vedem pe blog săptămâna viitoare!

    Michael Brown este un pasionat de tehnologie dedicat, cu o pasiune pentru simplificarea proceselor complexe folosind instrumente software. Cu mai mult de un deceniu de experiență în industria tehnologiei, el și-a perfecționat abilitățile în Microsoft Excel și Outlook, precum și în Google Sheets și Docs. Blogul lui Michael este dedicat împărtășirii cunoștințelor și experienței sale cu alții, oferind sfaturi și tutoriale ușor de urmat pentru îmbunătățirea productivității și eficienței. Indiferent dacă sunteți un profesionist experimentat sau un începător, blogul lui Michael oferă informații valoroase și sfaturi practice pentru a profita la maximum de aceste instrumente software esențiale.