Salt la conținutul principal
Asistență
Conectare
Reguli și exemple pentru formulele matrice

Reguli și exemple pentru formulele matrice

O formulă matrice este o formulă care poate efectua mai multe calcule pentru unul sau mai multe elemente dintr-o matrice. Gândiți-vă la o matrice ca la un rând sau o coloană de valori sau la o combinație de rânduri și coloane de valori. Formulele matrice pot returna rezultate multiple sau un singur rezultat.

Începând cu actualizarea din septembrie 2018 pentru Microsoft 365, orice formulă care poate returna mai multe rezultate le va vărsa automat fie în jos, fie în celulele învecinate. Această modificare în comportament este însoțită, de asemenea, de mai multe noi funcții matrice dinamice. Formulele matrice dinamice, indiferent dacă utilizează funcții existente sau funcții matrice dinamice, trebuie să fie introduse într-o singură celulă, apoi confirmate apăsând Enter. Anterior, formulele matrice moștenite necesită mai întâi selectarea întregii zone de ieșire, apoi confirmarea formulei cu Ctrl+Shift+Enter. Acestea sunt denumite de obicei formule CSE.

Aveți posibilitatea să utilizați formule matrice pentru a efectua activități complexe, cum ar fi:

  • Creați rapid seturi de date eșantion.

  • Contorul numărului de caractere dintr-o zonă de celule.

  • Însumare doar numere care îndeplinesc anumite condiții, cum ar fi cele mai scăzute valori dintr-un interval de valori sau numerele care se încadrează între un limite superioare și inferioare.

  • Însumarea a fiecărei a N-a valori dintr-un interval valoric.

Următoarele exemple vă arată cum să creați formule matrice cu mai multe celule și cu o singură celulă. Acolo unde este posibil, am inclus exemple cu unele dintre funcțiile matrice dinamice, precum și cu formulele matrice existente introduse ca matrice dinamice și moștenite.

Descărcați exemplele noastre

Descărcați un registru de lucru eșantion cu toate exemplele de formule matrice din acest articol.

Acest exercițiu vă arată cum să utilizați formulele matrice cu mai multe celule și cu o singură celulă pentru a calcula un set de cifre de vânzări. Primul set de pași utilizează o formulă cu mai multe celule pentru a calcula un set de subtotaluri. Al doilea set utilizează o formulă cu o singură celulă pentru a calcula un total general.

  • Formulele matrice cu celule multiple

    Funcția matrice cu mai multe celule din celula H10 =F10:F19*G10:G19 pentru a calcula numărul de mașini vândute după prețul unitar

  • Aici calculăm vânzările totale pentru mașinile de tip coupes și sedan pentru fiecare vânzător introducând =F10:F19*G10:G19 în celula H10.

    Când apăsați pe Enter,veți vedea rezultatele se vărsează în jos la celulele H10:H19. Observați că zona vărsată este evidențiată cu o bordură atunci când selectați orice celulă din zona vărsată. Este posibil să observați, de asemenea, că formulele din celulele H10:H19 sunt estompate. Ele sunt doar pentru referință, așadar, dacă doriți să ajustați formula, va trebui să selectați celula H10, unde se afla formula coordonatoare.

  • Formulă matrice cu o singură celulă

    Formula matrice cu o singură celulă pentru a calcula un total general cu =SUM(F10:F19*G10:G19)

    În celula H20 din registrul de lucru exemplu, tastați sau copiați și lipiți =SUM(F10:F19*G10:G19), apoi apăsați pe Enter.

    În acest caz, Excel înmulțesc valorile din matrice (zona de celule F10 până la G19), apoi utilizează funcția SUM pentru a aduna totalurile. Rezultatul este un total general de 1.590.000 în vânzări.

    Acest exemplu arată cât de puternic este acest tip de formulă. De exemplu, să presupunem că aveți 1.000 de rânduri de date. Aveți posibilitatea să însumați datele parțial sau total creând o formulă matrice într-o singură celulă în loc să glisați formula în jos prin cele 1000 de rânduri. De asemenea, observați că formula cu o singură celulă din celula H20 este independentă de formula cu mai multe celule (formula din celulele H10 până la H19). Acesta este un alt avantaj al utilizării formulelor matrice: flexibilitatea. Puteți modifica celelalte formule din coloana H fără a afecta formula din H20. De asemenea, poate fi o practică bună să aveți totaluri independente ca acesta, deoarece vă ajută să validați acuratețea rezultatelor.

  • De asemenea, formulele matrice dinamice oferă următoarele avantaje:

    • Consistență    Dacă faceți clic pe oricare dintre celulele de la H10 în jos, vedeți aceeași formulă. Această consistență poate contribui la o mai mare acuratețe.

    • Siguranță    Nu se poate suprascrie o componentă a unei formule matrice cu mai multe celule. De exemplu, faceți clic pe celula H11 și apăsați Delete. Excel va modifica rezultatul matricei. Pentru a o schimba, trebuie să selectați celula din stânga sus din matrice sau celula H10.

    • Dimensiune redusă a fișierelor    Deseori, aveți posibilitatea să utilizați o singură formulă matrice în loc de mai multe formule intermediare. De exemplu, exemplul cu vânzările de mașini utilizează o formulă matrice pentru a calcula rezultatele în coloana E. Dacă ați fi utilizat formule standard, cum ar fi =F10*G10, F11*G11, F12*G12 etc., ați fi utilizat 11 formule diferite pentru a calcula aceleași rezultate. Nu este important, dar ce se întâmplă însă dacă aveți mii de rânduri în total? Atunci poate fi foarte important.

    • Eficiență    Funcțiile matrice pot fi o modalitate eficientă de a construi formule complexe. Formula matrice =SUM(F10:F19*G10:G19) este la fel ca aceasta: =SUM(F10*G10,F11*G11,F12*G12,F13*G13,F14*G14,F15*G15,F16*G16,F17*G17,F18*G18,F19*G19).

    • Vărsare    Formulele matrice dinamice se vor vărsa automat în zona de ieșire. Dacă datele sursă se află într-Excel tabel nou, formulele matrice dinamice se vor redimensiona automat pe măsură ce adăugați sau eliminați date.

    • #SPILL! eroare    Matricele dinamice au introdus #SPILL!, ceea ce indică faptul că zona vărsată dorită este blocată din anumite motive. Atunci când rezolvați blocarea, formula se va vărsa automat.

Constantele matrice sunt o componentă a formulelor matrice. Creați constante matrice introducând o listă de elemente, apoi încadrând manual lista cu acolade ({ }), astfel:

={1;2;3;4;5} sau ={"Ianuarie","Februarie","Martie"}

Dacă separați elementele folosind virgule (pentru setările regionale în engleză) sau bare oblice inverse (\) pentru setările regionale în română, creați o matrice orizontală (un rând). Dacă separați elementele utilizând semnul punct și virgulă, creați o matrice verticală (o coloană). Pentru a crea o matrice bidimensională, delimitarea elementelor din fiecare rând cu virgule și delimitarea fiecărui rând prin punct și virgulă.

În următoarele proceduri veți exersa crearea constantelor orizontale, verticale și bidimensionale. Vom arăta exemple utilizând funcția SEQUENCE pentru a genera automat constante matrice, precum și constante matrice introduse manual.

  • Crearea unei constante orizontale

    Utilizați registrul de lucru din exemplele anterioare sau creați un registru de lucru nou. Selectați orice celulă goală și introduceți =SEQUENCE(1,5). Funcția SEQUENCE construiește o matrice de 1 rând și 5 coloane, la fel ca ={1;2;3;4;5}. Se afișează următorul rezultat:

    Creați o constantă matrice orizontală cu =SEQUENCE(1;5) sau ={1;2;3;4;5}

  • Crearea unei constante verticale

    Selectați orice celulă necompletată cu spațiu dedesubt, apoi introduceți =SEQUENCE(5)sau ={1;2;3;4;5}. Se afișează următorul rezultat:

    Creați o constantă matrice verticală cu =SEQUENCE(5) sau ={1;2;3;4;5}

  • Crearea unei constante bidimensionale

    Selectați orice celulă necompletată cu spațiu la dreapta și sub aceasta și introduceți =SEQUENCE(3,4). Veți vedea următorul rezultat:

    Creați o constantă matrice de 3 rânduri și 4 coloane cu =SEQUENCE(3,4)

    De asemenea, puteți introduce: sau ={1;2;3;4;5;6;7;8;9;10;11;12}, dar veți dori să fiți atent unde le puneți punct și virgulă.

    După cum puteți vedea, opțiunea SEQUENCE oferă avantaje semnificative loc de introducerea manuală a valorilor constantei matrice. În principal, vă economisesc timp, dar, de asemenea, vă ajută să reduceți erorile din introducerea manuală. De asemenea, este mai ușor de citit, mai ales deoarece punct și virgula poate fi greu de diferențiat de separatorii virgulă.

Iată un exemplu care utilizează constante matrice ca parte a unei formule mai mari. În registrul de lucru eșantion, accesați Constantă într-o foaie de lucru de formule sau creați o foaie de lucru nouă.

În celula D9, am introdus =SEQUENCE(1;5;3;1),dar puteați introduce și 3, 4, 5, 6 și 7 în celulele A9:H9. Nu este nimic special la acea selecție de numere. Am ales altceva decât 1-5 pentru diferimentare.

În celula E11, introduceți =SUM(D9:H9*SEQUENCE(1;5))sau =SUM(D9:H9*{1;2;3;4;5}). Formulele returnează 85.

Utilizați constante matrice în formule. În acest exemplu, am utilizat =SUM(D9:H(*SEQUENCE(1,5))

Funcția SEQUENCE construiește echivalentul constantei matrice {1;2;3;4;5}. Deoarece Excel efectuează mai întâi operațiuni cu expresiile dintre paranteze, următoarele două elemente care intră în joc sunt valorile celulelor din D9:H9 și operatorul de înmulțire (*). În acest moment, formula înmulțește valorile din matricea stocată cu valorile corespunzătoare din constantă. Este echivalentul formulei:

=SUM(D9*1;E9*2;F9*3;G9*4;H9*5)sau =SUM(3*1;4*2;5*3;6*4;7*5)

În fine, funcția SUM adună valorile și returnează 85.

Pentru a evita utilizarea matricei stocate și a păstra operațiunea în memorie în întregime, înlocuiți-o cu altă constantă matrice:

=SUM(SEQUENCE(1;5;3;1)*SEQUENCE(1;5))sau =SUM({3;4;5;6;7}*{1;2;3;4;5})

Elemente care se pot utiliza în constantele matrice

  • Constantele matrice pot conține numere, text, valori logice (cum ar fi TRUE și FALSE) și valori eroare cum ar fi #N/A. Aveți posibilitatea să utilizați numere în formate întregi, zecimale și științifice. Dacă includeți text, trebuie să îl încercuiți între ghilimele ("text").

  • Constantele matrice nu pot conține matrice suplimentare, formule sau funcții. Cu alte cuvinte, pot conține numai text sau numere separate prin bare oblice inverse sau punct și virgulă. Excel afișează un mesaj de avertisment când introduceți o formulă ca {1\2\A1:D4} sau {1\2\SUM(Q2:Z8)}. De asemenea, valorile numerice nu pot conține semnul procent, semnul dolar, bare oblice inverse sau paranteze.

Una dintre cele mai bune modalități de a utiliza constantele matrice este denumirea acestora. Constantele denumite pot fi mai ușor de utilizat și pot face formulele matrice mai ușor de înțeles de către alte persoane. Pentru a denumi o constantă matrice și a o utiliza într-o formulă, procedați astfel:

Accesați Formule și >definite >Definire nume. În caseta Nume, tastați Trimestru1. În caseta Se referă la:, introduceți următoarea constantă (nu uitați să introduceți acoladele):

={"Ianuarie"\"Februarie"\"Martie"}

Caseta de dialog ar trebui să arate acum astfel:

Adăugarea unei constante matrice denumite din Formule > definite > Nume > Nou

Faceți clic pe OK, apoi selectați orice rând cu trei celule necompletate și introduceți =Trimestru1.

Se afișează următorul rezultat:

Utilizați o constantă matrice denumită într-o formulă, cum ar fi =Trimestru1, unde Trimestrul1 a fost definit ca ={"Ianuarie","Februarie","Martie"}

Dacă doriți ca rezultatele să se vărseze pe verticală în loc de orizontală, puteți utiliza =TRANSPOSE(Trimestrul1).

Dacă doriți să afișați o listă de 12 luni, cum ar fi să o utilizați atunci când construiți o declarație financiară, puteți să vă bazați pe anul curent pe baza anului curent cu funcția SEQUENCE. Partea îngrijită a acestei funcții este că, chiar dacă se afișează numai luna, în spatele acesteia se află o dată validă pe care o puteți utiliza în alte calcule. Veți găsi aceste exemple în constanta matrice denumită și în foile de lucru Set de date eșantion rapid din registrul de lucru exemplu.

=TEXT(DATE(YEAR(TODAY()),SEQUENCE(1,12),1),"mmm")

Utilizați o combinație de funcții TEXT, DATE, YEAR, TODAY și SEQUENCE pentru a construi o listă dinamică de 12 luni

Aceasta utilizează funcția DATE pentru a crea o dată bazată pe anul curent, SEQUENCE creează o constantă matrice de la 1 la 12 pentru ianuarie până la decembrie, apoi funcția TEXT efectuează conversia formatului de afișare în "mmm" (Ian, Feb, Mar etc.). Dacă preferați să afișați numele complet al lunii, cum ar fi ianuarie, utilizați "mmmm".

Când utilizați o constantă denumită ca formulă matrice, nu uitați să introduceți semnul egal, ca în =Trimestru1, nu doar în Trimestru1. Dacă nu faceți acest lucru, Excel interpretează matricea ca șir text și formula nu va funcționa așa cum vă așteptați. În fine, rețineți că puteți utiliza combinații de funcții, text și numere. Totul depinde de creativitatea pe care doriți să o obțineți.

Următoarele exemple demonstrează câteva dintre modurile în care se pot utiliza constantele matrice în formulele matrice. Unele dintre exemple utilizează funcția TRANSPOSE pentru a efectua conversia rândurilor în coloane și invers.

  • Multiple each item in an array

    Introduceți =SEQUENCE(1;12)*2sau ={1;2;3;4;5;6;7;8;9;10;11;12}*2

    Puteți, de asemenea, săîmpărțiți cu( / ), săadunațicu ( + ) și să scădeți cu (-).

  • Ridicați la pătrat elementele dintr-o matrice

    Introduceți =SEQUENCE(1;12)^2sau ={1;2;3;4;5;6;7;8;9;10;11;12}^2

  • Găsirea rădăcinii pătrate a elementelor pătrate dintr-o matrice

    Enter =SQRT(SEQUENCE(1;12)^2)sau =SQRT({1;2;3;4;5;6;7;8;9;10;11;12}^2)

  • Transpunerea unui rând unidimensional

    Introduceți =TRANSPOSE(SEQUENCE(1,5))sau =TRANSPOSE({1;2;3;4;5})

    Chiar dacă ați introdus o constantă matrice orizontală, funcția TRANSPOSE efectuează conversia constantei matrice într-o coloană.

  • Transpunerea unei coloane unidimensionale

    Introduceți =TRANSPOSE(SEQUENCE(5,1))sau =TRANSPOSE({1;2;3;4;5})

    Chiar dacă ați introdus o constantă matrice verticală, funcția TRANSPOSE efectuează conversia constantei într-un rând.

  • Transpunerea unei constante bidimensionale

    Introduceți =TRANSPOSE(SEQUENCE(3;4))sau =TRANSPOSE({1;2;3;4;5;6;7;8;9;10;11;12})

    Funcția TRANSPOSE efectuează conversia fiecărui rând într-o serie de coloane.

Această secțiune oferă exemple de formule matrice simple.

  • Crearea unei matrice din valori existente

    Următorul exemplu arată cum se utilizează formulele matrice pentru a crea o matrice nouă dintr-o matrice existentă.

    Introduceți =SEQUENCE(3;6;10;10)sau ={10;20;30;40;50;60;70;80;90;100;110;120;130;140;150.160.170.180}

    Asigurați-vă că tastați { (acolladă de deschidere) înainte de a tasta 10 și } (acolladă finală) după ce tastați 180, deoarece creați o matrice de numere.

    În continuare, introduceți =D9#sau =D9:I11 într-o celulă necompletată. Apare o matrice de celule 3 x 6 cu aceleași valori pe care le vedeți și în D9:D11. Semnul # se numește operatorde zonă vărsată și este un mod Excel a face referire la întreaga zonă matrice în loc să fie necesar să îl tastați.

    Utilizați operatorul zonă vărsată (#) pentru a face referire la o matrice existentă

  • Crearea unei constante matrice din valori existente

    Puteți să luați rezultatele unei formule matrice vărsate și să le convertiți în părțile sale componente. Selectați celula D9, apoi apăsați F2 pentru a comuta la modul de editare. În continuare, apăsați F9 pentru a efectua conversia referințelor de celule la valori, valori care Excel apoi se transformă într-o constantă matrice. Când apăsați pe Enter,formula =D9#, ar trebui să fie ={10,20,30;40,50,60;70,80,90}.

  • Contorizarea caracterelor dintr-o zonă de celule

    Următorul exemplu vă arată cum să contorflați numărul de caractere dintr-o zonă de celule. Aici sunt incluse și spațiile.

    Contorarea numărului total de caractere dintr-o zonă și a altor matrice pentru lucrul cu șiruri text

    =SUM(LEN(C9:C13))

    În acest caz, funcția LEN returnează lungimea fiecărui șir text din fiecare dintre celulele din zonă. Funcția SUM adună apoi acele valori și afișează rezultatul (66). Dacă trebuie să obțineți un număr mediu de caractere, puteți utiliza:

    =AVERAGE(LEN(C9:C13))

  • Conținutul celor mai lungi celule din zona C9:C13

    =INDEX(C9:C13,MATCH(MAX(LEN(C9:C13)),LEN(C9:C13),0),1)

    Această formulă funcționează numai când o zonă de date conține o singură coloană de celule.

    Să examinăm formula, începând de la elementele interioare și mergând spre exterior. Funcția LEN returnează lungimea fiecăruia dintre elementele din zona de celule D2:D6. Funcția MAX calculează cea mai mare valoare dintre aceste elemente, care corespunde cu cel mai lung șir text, care se află în celula D3.

    Aici lucrurile devin mai complicate. Funcția MATCH calculează deplasarea (poziția relativă) celulei care conține cel mai lung șir text. Pentru a face aceasta, are nevoie de trei argumente: o valoare de căutare, o matrice de căutare și un tip de matrice. Funcția MATCH caută în matricea de căutare pentru a găsi valoarea de căutare dorită. În acest caz, valoarea de căutare este cel mai lung șir text:

    MAX(LEN(C9:C13)

    iar acel șir se află în această matrice:

    LEN(C9:C13)

    Argumentul tipului de potrivire în acest caz este 0. Tipul de potrivire poate fi o valoare 1, 0 sau -1.

    • 1 - returnează cea mai mare valoare mai mică sau egală cu valul de căutare

    • 0 - returnează prima valoare care este exact egală cu valoarea de căutare

    • -1 - returnează cea mai mică valoare care este mai mare sau egală cu valoarea de căutare specificată

    • Dacă omiteți tipul de potrivire, Excel stabilește valoarea 1.

    În fine, funcția INDEX preia aceste argumente: o matrice și un număr de rând sau coloană din acea matrice. Zona de celule C9:C13 oferă matricea, funcția MATCH oferă adresa celulei, iar argumentul final (1) specifică faptul că valoarea provine din prima coloană a matricei.

    Dacă vreți să obțineți conținutul cel mai mic șir text, înlocuiți MAX din exemplul de mai sus cu MIN.

  • Găsirea celor mai mici n valori dintr-o zonă

    Acest exemplu vă arată cum să găsiți cele mai mici trei valori dintr-o zonă de celule, unde a fost creată o matrice de date eșantion în celulele B9:B18 cu: =INT(RANDARRAY(10,1)*100). Rețineți că RANDARRAY este o funcție volatile, deci veți obține un nou set de numere aleatoare de fiecare dată când Excel calculează.

    Excel formulă matrice pentru a găsi a N-a cea mai mică valoare: =SMALL(B9#,SEQUENCE(D9))

    Introduceți =SMALL(B9#,SEQUENCE(D9), =SMALL(B9:B18,{1;2;3})

    Această formulă utilizează o constantă matrice pentru a evalua funcția SMALL de trei ori și a returna cei mai mici 3 membri din matricea conținută în celulele B9:B18, unde 3 este o valoare variabilă în celula D9. Pentru a găsi mai multe valori, puteți să măriți valoarea din funcția SEQUENCE sau să adăugați mai multe argumente la constantă. De asemenea, aveți posibilitatea să utilizați funcții suplimentare cu această formulă, cum ar fi SUM sau AVERAGE. De exemplu:

    =SUM(SMALL(B9#,SEQUENCE(D9))

    =AVERAGE(SMALL(B9#,SEQUENCE(D9))

  • Găsirea celor mai mari n valori dintr-o zonă

    Pentru a găsi cele mai mari valori dintr-o zonă, puteți să înlocuiți funcția SMALL cu funcția LARGE. În plus, următorul exemplu utilizează funcțiile ROW și INDIRECT.

    Introduceți =LARGE(B9#,ROW(INDIRECT("1:3")))sau =LARGE(B9:B18,ROW(INDIRECT("1:3")))

    Acum, poate fi util să cunoașteți câteva lucruri despre funcțiile ROW și INDIRECT. Aveți posibilitatea să utilizați funcția ROW pentru a crea o matrice de numere întregi consecutive. De exemplu, selectați un gol și introduceți:

    =ROW(1:10)

    Formula creează o coloană de 10 numere întregi consecutive. Pentru a vedea o posibilă problemă, introduceți un rând deasupra rândului care conține formula matrice (adică deasupra rândului 1). Excel ajustează referințele de rând, iar formula generează acum numere întregi de la 2 la 11. Pentru a remedia problema, adăugați funcția INDIRECT la formulă:

    =ROW(INDIRECT("1:10"))

    Funcția INDIRECT utilizează șiruri text ca argumente (motiv pentru care zona 1:10 este înconjurată de ghilimele). Excel nu ajustează valorile text atunci când introduceți rânduri sau mutați formula matrice. Drept urmare, funcția ROW generează întotdeauna matricea de numere întregi dorită. Puteți utiliza la fel de ușor și SEQUENCE:

    =SEQUENCE(10)

    Să examinăm formula utilizată anterior : =LARGE(B9#,ROW(INDIRECT("1:3"))) - începând de la parantezele interioare și lucrând în exterior: Funcția INDIRECT returnează un set de valori text, în acest caz valorile de la 1 la 3. Funcția ROW generează la rândul său o matrice cu trei celule de coloane. Funcția LARGE utilizează valorile din zona de celule B9:B18 și este evaluată de trei ori, o dată pentru fiecare referință returnată de funcția ROW. Dacă doriți să găsiți mai multe valori, adăugați o zonă de celule mai mare la funcția INDIRECT. La fel ca în cazul exemplelor SMALL, aveți posibilitatea să utilizați această formulă cu alte funcții, cum ar fi SUM și AVERAGE.

  • Însumarea unei zone care conține valori eroare

    Funcția SUM din Excel nu funcționează atunci când încercați să însumați o zonă care conține o valoare de eroare, cum ar fi #VALUE! sau #N/A. Acest exemplu vă arată cum să însumați valorile dintr-o zonă denumită Date, care conține erori:

    Utilizați matrice pentru a vă ocupa de erori. De exemplu, =SUM(IF(ISERROR(Date);"";Date) va însuma zona denumită Date, chiar dacă aceasta include erori, cum ar fi #VALUE! sau #NA!.

  • =SUM(IF(ISERROR(Date);"";Date))

    Formula creează o matrice nouă, care conține valorile inițiale minus valorile eroare. Începând de la funcțiile din interior și mergând înspre exterior, funcția ISERROR caută în zona de celule (Date) pentru a găsi erori. Funcția IF returnează o anumită valoare dacă o condiție pe care o specificați este evaluată ca adevărată și altă valoare dacă este evaluată ca fiind falsă. În acest caz, returnează șiruri goale ("") pentru toate valorile eroare, deoarece acestea sunt evaluate ca o condiție adevărată, și returnează restul valorilor din zona de celule (Date), deoarece sunt evaluate ca false, adică nu conțin valori eroare. Funcția SUM calculează apoi totalul pentru matricea filtrată.

  • Contorizarea numărului de valori eroare dintr-o zonă

    Acest exemplu este ca formula anterioară, dar returnează numărul de valori eroare dintr-o zonă denumită Date, în loc să le filtreze:

    =SUM(IF(ISERROR(Date);1;0))

    Această formulă creează o matrice care conține valoare 1 pentru celulele care conțin erori și valoarea 0 pentru celulele care nu conțin erori. Aveți posibilitatea să simplificați formula și să obțineți același rezultat eliminând al treilea argument pentru funcția IF, astfel:

    =SUM(IF(ISERROR(Date);1))

    Dacă nu specificați argumentul, funcția IF returnează FALSE dacă o celulă nu conține o valoare de eroare. Aveți posibilitatea să simplificați formula și mai mult:

    =SUM(IF(ISERROR(Date)*1))

    Această versiune funcționează deoarece TRUE*1=1 și FALSE*1=0.

Poate fi necesar să însumați valorile pe baza unor condiții.

Aveți posibilitatea să utilizați matrice pentru a calcula pe baza anumitor condiții. =SUM(IF(Vânzări>0;Vânzări)) va însuma toate valorile mai mari decât 0 dintr-o zonă denumită Vânzări.

De exemplu, această formulă matrice însumează numai numerele întregi pozitive dintr-o zonă denumită Vânzări, care reprezintă celulele E9:E24 din exemplul de mai sus:

=SUM(IF(Vânzări>0;Vânzări))

Funcția IF creează o matrice de valori pozitive și false. Funcția SUM ignoră practic valorile false, deoarece 0+0=0. Zona de celule pe care o utilizați în această formulă poate consta în orice număr de rânduri și coloane.

De asemenea, aveți posibilitatea să însumați valorile care respectă mai multe condiții. De exemplu, această formulă matrice calculează valorile mai mari decât 0 și (AND) mai mici decât 2500:

=SUM((Vânzări>0)*(Vânzări<2500)*(Vânzări))

Rețineți că această formulă va returna o eroare dacă zona conține una sau mai multe celule non-numerice.

De asemenea, aveți posibilitatea să creați formule matrice care utilizează un tip de condiție OR (SAU). De exemplu, puteți însuma valorile mai mari decât 0 sau mai mici de 2500:

=SUM(IF((Vânzări>0)+(Vânzări<2500),Vânzări))

Nu aveți posibilitatea să utilizați funcțiile AND și OR în formulele matrice în mod direct, deoarece acele funcții returnează un singur rezultat, TRUE sau FALSE, iar funcțiile matrice necesită matrici de rezultate. Aveți posibilitatea să rezolvați problema utilizând elementele logice din formula anterioară. Cu alte cuvinte, efectuați operațiuni matematice, cum ar fi adunarea sau înmulțirea valorilor care îndeplinesc condiția OR (SAU) sau AND (ȘI).

Acest exemplu arată cum să eliminați valorile zero dintr-o zonă atunci când trebuie să calculați o medie a valorilor din acea zonă. Formula utilizează o zonă de date denumită Vânzări:

=AVERAGE(IF(Vânzări<>0;Vânzări))

Funcția IF creează o matrice de valori care nu sunt egale cu 0 și transmite acele valori la funcția AVERAGE.

Această formulă matrice compară valorile din două zone de celule denumite DateleMele și DateleDeleMele și returnează numărul de diferențe dintre cele două. Dacă conținutul celor două zone este identic, formula returnează 0. Pentru a utiliza această formulă, intervalele de celule trebuie să fie de aceeași dimensiune și de aceeași dimensiune. De exemplu, dacă DateleMele reprezintă o zonă de 3 rânduri pe 5 coloane, DateleDele trebuie să aibă și 3 rânduri pe 5 coloane:

=SUM(IF(DateleMele=DateleTale;0;1))

Formula creează o matrice nouă de aceeași dimensiune ca zonele pe care le comparați. Funcția IF completează matricea cu valoarea 0 și valoarea 1 (0 pentru nepotriviri și 1 pentru celule identice). Funcția SUM returnează suma valorilor din matrice.

Formula poate fi simplificată astfel:

=SUM(1*(DateleMele<>DateleDele))

La fel ca formula care contorizează valorile eroare dintr-o zonă de date, această formulă funcționează deoarece TRUE*1=1 și FALSE*1=0.

Această formulă matrice returnează numărul de rând al valorii maxime dintr-o zonă cu o singură coloană denumită Date:

=MIN(IF(Date=MAX(Date);ROW(Date);""))

Funcția IF creează o matrice nouă, care corespunde cu zona denumită Date. Dacă o celulă corespondentă conține valoarea maximă din zonă, matricea conține numărul de rând. Altfel, matricea conține un șir gol (""). Funcția MIN utilizează matricea nouă ca al doilea argument și returnează cea mai mică valoare, care corespunde cu numărul de rând al valorii maxime din Date. Dacă zona denumită Date conține valori maxime identice, formula returnează rândul primei valori.

Dacă doriți să returnați adresa efectivă a celulei în care se află valoarea maximă, utilizați această formulă:

=ADDRESS(MIN(IF(Date=MAX(Date);ROW(Date);""));COLUMN(Date))

Veți găsi exemple similare în registrul de lucru eșantion în foaia de lucru Diferențele dintre seturile de date.

Acest exercițiu vă arată cum să utilizați formulele matrice cu mai multe celule și cu o singură celulă pentru a calcula un set de cifre de vânzări. Primul set de pași utilizează o formulă cu mai multe celule pentru a calcula un set de subtotaluri. Al doilea set utilizează o formulă cu o singură celulă pentru a calcula un total general.

  • Formulele matrice cu celule multiple

Copiați tot tabelul de mai jos și lipiți-l în celula A1 dintr-o foaie de lucru necompletată.

Vânzător

Tip mașină

Număr vândut

Preț unitar

Total vânzări

Preda

Sedan

5

33000

Coupe

4

37000

Dumitriu

Sedan

6

24000

Coupe

8

21000

Lupu

Sedan

3

29000

Coupe

1

31000

Roman

Sedan

9

24000

Coupe

5

37000

Petculescu

Sedan

6

33000

Coupe

8

31000

Formulă (Total general)

Total general

'=SUM(C2:C11*D2:D11)

=SUM(C2:C11*D2:D11)

  1. Pentru a vedea vânzările totale pentru coupele și sedanuri pentru fiecare vânzător, selectați celulele E2:E11, introduceți formula =C2:C11*D2:D11, apoi apăsați Ctrl+Shift+Enter.

  2. Pentru a vedea totalul general al tuturor vânzărilor, selectați celula F11, introduceți formula =SUM(C2:C11*D2:D11), apoi apăsați Ctrl+Shift+Enter.

Când apăsați Ctrl+Shift+Enter,Excel încadrează formula cu acolame ({ }) și inserează o instanță a formulei în fiecare celulă din zona selectată. Acest lucru se întâmplă foarte rapid, deci ce vedeți în coloana E va fi cantitatea totală de vânzări pentru fiecare tip de mașină pentru fiecare vânzător. Dacă selectați E2, apoi selectați E3, E4 și așa mai departe, veți vedea că se afișează aceeași formulă: {=C2:C11*D2:D11}

Totalurile din coloana E sunt calculate de o formulă matrice

  • Crearea unei formule matrice cu o singură celulă

În celula D13 din registrul de lucru, tastați următoarea formulă, apoi apăsați Ctrl+Shift+Enter:

=SUM(C2:C11*D2:D11)

În acest caz, Excel înmulțesc valorile din matrice (zona de celule C2 până la D11), apoi utilizează funcția SUMpentru a aduna totalurile. Rezultatul este un total general de 1.590.000 în vânzări. Acest exemplu arată cât de puternic este acest tip de formulă. De exemplu, să presupunem că aveți 1.000 de rânduri de date. Aveți posibilitatea să însumați datele parțial sau total creând o formulă matrice într-o singură celulă în loc să glisați formula în jos prin cele 1000 de rânduri.

De asemenea, observați că formula cu o singură celulă din celula D13 este independentă de formula cu mai multe celule (formula din celulele E2 până la E11). Acesta este un alt avantaj al utilizării formulelor matrice: flexibilitatea. Puteți să modificați formulele din coloana E sau să ștergeți acea coloană cu totul, fără a afecta formula din D13.

De asemenea, formulele matrice oferă și următoarele avantaje:

  • Consistență    Dacă faceți clic pe oricare dintre celulele de la E2 în jos, vedeți aceeași formulă. Această consistență poate contribui la o mai mare acuratețe.

  • Siguranță    Nu se poate suprascrie o componentă a unei formule matrice cu mai multe celule. De exemplu, faceți clic pe celula E3 și apăsați Delete. Trebuie fie să selectați întreaga zonă de celule (E2 până la E11) și să modificați formula pentru întreaga matrice, fie să lăsați matricea neschimbată. Ca măsură adăugată de siguranță, trebuie să apăsați Ctrl+Shift+Enter pentru a confirma orice modificare a formulei.

  • Dimensiune redusă a fișierelor    Deseori, aveți posibilitatea să utilizați o singură formulă matrice în loc de mai multe formule intermediare. De exemplu, registrul de lucru utilizează o formulă matrice pentru a calcula rezultatele în coloana E. Dacă ați fi utilizat formule standard (cum ar fi =C2*D2, C3*D3, C4*D4…), ați fi utilizat 11 formule diferite pentru a calcula aceleași rezultate.

În general, formulele matrice utilizează sintaxa standard de formule. Toate încep cu semnul egal (=) și se pot utiliza majoritatea funcțiilor predefinite Excel. Diferența esențială este că, atunci când utilizați o formulă matrice, apăsați Ctrl+Shift+Enter pentru a introduce formula. Când faceți acest lucru, Excel încadrează formula între acolade; dacă tastați acoladele manual, formula se va transforma într-un șir text și nu va funcționa.

Funcțiile matrice pot fi o modalitate eficientă de a construi formule complexe. Formula matrice =SUM(C2:C11*D2:D11) este la fel ca aceasta: =SUM(C2*D2;C3*D3;C4*D4;C5*D5;C6*D6;C7*D7;C8*D8;C9*D9;C10*D10;C11*D11).

Important: Apăsați Ctrl+Shift+Enter oricând trebuie să introduceți o formulă matrice. Aceasta se aplică atât pentru formulele cu o singură celulă, cât și pentru cele cu mai multe celule.

Oricând lucrați cu formule cu mai multe celule, rețineți, de asemenea:

  • Selectați zona de celule care vor conține rezultatele înainte să introduceți formula. Ați făcut acest lucru atunci când ați creat formula cu mai multe celule când ați selectat celulele de la E2 până la E11.

  • Nu aveți posibilitatea să modificați conținutul unei celule individuale dintr-o formulă matrice. Pentru a încerca acest lucru, selectați celula E3 din registrul de lucru și apăsați pe Delete. Excel afișează un mesaj care vă anunță că nu puteți modifica o parte a unei matrice.

  • Aveți posibilitatea să mutați sau să ștergeți o întreagă formulă matrice, dar nu aveți posibilitatea să mutați sau să ștergeți o parte din aceasta. Cu alte cuvinte, pentru a restrânge o formulă matrice, ștergeți mai întâi formula existentă, apoi luați-o de la început.

  • Pentru a șterge o formulă matrice, selectați întreaga zonă de formule (de exemplu, E2:E11), apoi apăsați Delete.

  • Nu aveți posibilitatea să inserați celule necompletate sau să ștergeți celule dintr-o formulă matrice cu mai multe celule.

Uneori, poate fi necesar să extindeți o formulă matrice. Selectați prima celulă din zona de matrice existentă și continuați până când ați selectat întreaga zonă la care doriți să extindeți formula. Apăsați F2 pentru a edita formula, apoi apăsați CTRL+SHIFT+ENTER pentru a confirma formula după ce ați ajustat zona de formule. Cheia este să selectați întreaga zonă, începând cu celula din stânga sus din matrice. Celula din stânga sus este cea care este editată.

Formulele matrice sunt foarte bune, dar au și câteva dezavantaje:

  • Este posibil să uitați uneori să apăsați Ctrl+Shift+Enter. Acest lucru li se poate întâmpla chiar și utilizatorilor cu o experiență îndelungată ai programului Excel. Nu uitați să apăsați această combinație de taste oricând introduceți sau editați o formulă matrice.

  • Este posibil ca alți utilizatori ai registrului de lucru să nu înțeleagă formulele dvs. De obicei, formulele matrice nu sunt explicate în foile de lucru. Așadar, dacă alte persoane trebuie să vă modifice registrele de lucru, evitați utilizarea formulelor matrice sau asigurați-vă că acele persoane știu ce sunt ele și cum să le modifice, dacă este necesar.

  • În funcție de viteza de procesare și de memoria computerului, formulele matrice de mari dimensiuni pot încetini calculele.

Constantele matrice sunt o componentă a formulelor matrice. Creați constante matrice introducând o listă de elemente, apoi încadrând manual lista cu acolade ({ }), astfel:

={1\2\3\4\5}

Până acum, știți că trebuie să apăsați Ctrl+Shift+Enter atunci când creați formule matrice. Deoarece constantele matrice sunt o componentă a formulelor matrice, încadrați constantele cu acolade, tastându-le manual. Apoi utilizați Ctrl+Shift+Enter pentru a introduce întreaga formulă.

Dacă separați elementele folosind virgule (pentru setările regionale în engleză) sau bare oblice inverse (\) pentru setările regionale în română, creați o matrice orizontală (un rând). Dacă separați elementele utilizând semnul punct și virgulă, creați o matrice verticală (o coloană). Pentru a crea o matrice bidimensională, delimitați elementele din fiecare rând folosind virgule și delimitați fiecare rând folosind punct și virgulă.

Iată o matrice într-un singur rând: {1;2;3;4}. Iată o matrice într-o singură coloană: {1;2;3;4}. Iar aici se află o matrice cu două rânduri și patru coloane: {1\2\3\4;5\6\7\8}. În matricea cu două rânduri, primul rând este 1, 2, 3 și 4, al doilea rând este 5, 6, 7 și 8. Cele două rânduri, între 4 și 5 sunt separate printr-un semn punct și virgulă.

Ca și în cazul formulelor matrice, aveți posibilitatea să utilizați constante matrice cu majoritatea funcțiilor predefinite oferite de Excel. Următoarea secțiune arată cum se creează fiecare tip de constantă și cum se utilizează constantele cu funcțiile din Excel.

În următoarele proceduri veți exersa crearea constantelor orizontale, verticale și bidimensionale.

Crearea unei constante orizontale

  1. Într-o foaie de lucru necompletată, selectați celulele de la A1 la E1.

  2. În bara de formule, introduceți următoarea formulă, apoi apăsați Ctrl+Shift+Enter:

    ={1\2\3\4\5}

    În acest caz, trebuie tastați acoldele de deschidere și închidere ({ }), iar Excel va adăuga al doilea set pentru dvs.

    Se afișează următorul rezultat.

    Constantă matrice orizontală în formulă

Crearea unei constante verticale

  1. În registrul de lucru, selectați o coloană cu cinci celule.

  2. În bara de formule, introduceți următoarea formulă, apoi apăsați Ctrl+Shift+Enter:

    ={1;2;3;4;5}

    Se afișează următorul rezultat.

    Constantă matrice verticală în formula matrice

Crearea unei constante bidimensionale

  1. În registrul de lucru, selectați o zonă de celule de patru coloane lățime și trei rânduri lungime.

  2. În bara de formule, introduceți următoarea formulă, apoi apăsați Ctrl+Shift+Enter:

    ={1\2\3\4;5\6\7\8;9\10\11\12}

    Veți vedea următorul rezultat:

    Constantă matrice bidimensională în formula matrice

Utilizarea constantelor în formule

Iată un exemplu simplu care utilizează constante:

  1. În registrul de lucru eșantion, creați o foaie de lucru nouă.

  2. În celula A1, tastați 3, apoi tastați 4 în B1, 5 în C1, 6 în D1 și 7 în E1.

  3. În celula A3, tastați următoarea formulă, apoi apăsați Ctrl+Shift+Enter:

    =SUM(A1:E1*{1\2\3\4\5})

    Observați că Excel încadrează constanta cu alt set de acolade, deoarece ați introdus-o ca o formulă matrice.

    Formulă matrice cu constantă matrice

    Valoarea 85 apare în celula A3.

Următoarea secțiune explică modul în care funcționează formula.

Formula pe care tocmai ați utilizat-o conține mai multe părți.

Sintaxa formulei matrice cu constanta matrice

1. Funcție

2. Matrice stocată

3. Operator

4. Constantă matrice

Ultimul element dintre paranteze este constanta matrice: {1;2;3;4;5}. Rețineți că Excel nu încadrează constantele matrice cu acolame; de fapt, le tastați. Rețineți, de asemenea, că, după ce adăugați o constantă la o formulă matrice, apăsați Ctrl+Shift+Enter pentru a introduce formula.

Deoarece Excel efectuează mai întâi operațiuni cu expresiile dintre paranteze, următoarele două elemente care intră în joc sunt valorile stocate în registrul de lucru (A1:E1) și operatorul. În acest moment, formula înmulțește valorile din matricea stocată cu valorile corespunzătoare din constantă. Este echivalentul formulei:

=SUM(A1*1\B1*2\C1*3\D1*4\E1*5)

În fine, funcția SUM adună valorile și suma 85 apare în celula A3.

Pentru a evita utilizarea matricei stocate și a păstra operațiunea în memorie în întregime, înlocuiți matricea stocată cu altă constantă matrice:

=SUM({3\4\5\6\7}*{1\2\3\4\5})

Pentru a încerca acest lucru, copiați funcția, selectați o celulă necompletată din registrul de lucru, lipiți formula în bara de formule, apoi apăsați Ctrl+Shift+Enter. Vedeți același rezultat ca în exercițiul anterior, care a utilizat formula matrice:

=SUM(A1:E1*{1\2\3\4\5})

Constantele matrice pot conține numere, text, valori logice (cum ar fi TRUE și FALSE) și valori eroare ( cum ar fi #N/A). Aveți posibilitatea să utilizați numere în format întreg, zecimal și științific. Dacă adăugați text, trebuie să încadrați textul între ghilimele (").

Constantele matrice nu pot conține matrice suplimentare, formule sau funcții. Cu alte cuvinte, pot conține numai text sau numere separate prin bare oblice inverse sau punct și virgulă. Excel afișează un mesaj de avertisment când introduceți o formulă ca {1\2\A1:D4} sau {1\2\SUM(Q2:Z8)}. De asemenea, valorile numerice nu pot conține semnul procent, semnul dolar, bare oblice inverse sau paranteze.

Una dintre cele mai bune mod de a utiliza constantele matrice este denumirea acestora. Constantele denumite pot fi mai ușor de utilizat și pot face formulele matrice mai ușor de înțeles de către alte persoane. Pentru a denumi o constantă matrice și a o utiliza într-o formulă, procedați astfel:

  1. În fila Formule, în grupul Nume definite, faceți clic pe Definire nume.
    Se afișează caseta de dialog Definire nume.

  2. În caseta Nume, tastați Trimestru1.

  3. În caseta Se referă la:, introduceți următoarea constantă (nu uitați să introduceți acoladele):

    ={"Ianuarie"\"Februarie"\"Martie"}

    Conținutul casetei de dialog arată acum astfel:

    Caseta de dialog Editare nume cu formulă

  4. Faceți clic pe OK, apoi selectați un rând din trei celule necompletate.

  5. Tastați următoarea formulă, apoi apăsați Ctrl+Shift+Enter.

    =Trimestru1

    Se afișează următorul rezultat.

    Matrice denumită introdusă ca formulă

Când utilizați o constantă denumită ca formulă matrice, nu uitați să introduceți semnul egal. Dacă nu faceți acest lucru, Excel interpretează matricea ca șir text și formula nu va funcționa așa cum vă așteptați. În fine, rețineți că puteți utiliza combinații de text și numere.

Când constantele matrice nu funcționează, verificați dacă există următoarele probleme:

  • Este posibil ca unele elemente să nu fie separate cu caracterul corect, conform setărilor regionale. Dacă omiteți virgula sau punctul și virgula sau dacă plasați unul dintre aceste semne în mod greșit, este posibil să nu se fi creat corect constanta matrice sau să vedeți un mesaj de avertisment.

  • Este posibil să fi selectat o zonă de celule care nu se potrivește cu numărul de elemente din constantă. De exemplu, dacă selectați o coloană de șase celule pentru a o utiliza cu o constantă de cinci celule, va apărea valoarea de eroare #N/A în celula necompletată. În același mod, dacă selectați prea puține celule, Excel omite valorile care nu au o celulă corespondentă.

Următoarele exemple demonstrează câteva dintre modurile în care se pot utiliza constantele matrice în formulele matrice. Unele dintre exemple utilizează funcția TRANSPOSE pentru a efectua conversia rândurilor în coloane și invers.

Înmulțirea fiecărui element dintr-o matrice

  1. Creați o foaie de lucru nouă și apoi selectați o zonă de celule necompletate de patru coloane lățime și trei rânduri înălțime.

  2. Tastați următoarea formulă, apoi apăsați Ctrl+Shift+Enter:

    ={1\2\3\4;5\6\7\8;9\10\11\12}*2

Ridicați la pătrat elementele dintr-o matrice

  1. Selectați o zonă de celule necompletate de patru coloane lățime și trei rânduri înălțime.

  2. Tastați următoarea formulă matrice, apoi apăsați Ctrl+Shift+Enter:

    ={1\2\3\4;5\6\7\8;9\10\11\12}*{1\2\3\4;5\6\7\8;9\10\11\12}

    Ca alternativă, introduceți această formulă matrice, care utilizează operatorul caret (^):

    ={1\2\3\4;5\6\7\8;9\10\11\12}^2

Transpunerea unui rând unidimensional

  1. Selectați o coloană de cinci celule necompletate.

  2. Tastați următoarea formulă, apoi apăsați Ctrl+Shift+Enter:

    =TRANSPOSE({1\2\3\4\5})

    Chiar dacă ați introdus o constantă matrice orizontală, funcția TRANSPOSE efectuează conversia constantei matrice într-o coloană.

Transpunerea unei coloane unidimensionale

  1. Selectați un rând de cinci celule necompletate.

  2. Introduceți următoarea formulă, apoi apăsați Ctrl+Shift+Enter:

    =TRANSPOSE({1;2;3;4;5})

Chiar dacă ați introdus o constantă matrice verticală, funcția TRANSPOSE efectuează conversia constantei într-un rând.

Transpunerea unei constante bidimensionale

  1. Selectați o zonă de celule de trei coloane lățime și patru rânduri înălțime.

  2. Introduceți următoarea constantă, apoi apăsați Ctrl+Shift+Enter:

    =TRANSPOSE({1\2\3\4;5\6\7\8;9\10\11\12})

    Funcția TRANSPOSE efectuează conversia fiecărui rând într-o serie de coloane.

Această secțiune oferă exemple de formule matrice simple.

Crearea matricelor și a constantelor matrice din valori existente

Următorul exemplu arată cum se utilizează formulele matrice pentru a crea legături între zonele de celule din diferitele foi de lucru. De asemenea, vă arată cum să creați o constantă matrice din același set de valori.

Crearea unei matrice din valori existente

  1. Într-o foaie de lucru din Excel, selectați celulele C8:E10 și introduceți această formulă:

    ={10\20\30;40\50\60;70\80\90}

    Asigurați-vă că tastați { (acoladă deschisă) înainte de a tasta 10 și } (acoladă închisă) după ce tastați 90, deoarece creați o matrice de numere.

  2. Apăsați Ctrl+Shift+Enter, care introduce această matrice de numere în zona de celule C8:E10, utilizând o formulă matrice. Pe foaia de lucru, C8- E10 ar trebui să arate astfel:

    10

    20

    30

    40

    50

    60

    70

    80

    90

  3. Selectați zona de celule C1 până la E3.

  4. Introduceți următoarea formulă în bara de formule, apoi apăsați Ctrl+Shift+Enter:

    =C8:E10

    O matrice de celule 3x3 apare în celulele de la C1 la E3, cu aceleași valori pe care le vedeți în celulele de la C8 la E10.

Crearea unei constante matrice din valori existente

  1. Cu celulele C1:C3 selectate, apăsați F2 pentru a comuta la modul de editare. 

  2. Apăsați F9 pentru a efectua conversia referințelor de celule în valori. Excel efectuează conversia valorilor într-o constantă matrice. Acum formula ar trebui să fie ={10,20,30;40,50,60;70,80,90}.

  3. Apăsați Ctrl+Shift+Enter pentru a introduce constanta matrice ca formulă matrice.

Contorizarea caracterelor dintr-o zonă de celule

Următorul exemplu vă arată cum să contorizați numărul de caractere, inclusiv spațiile, dintr-o zonă de celule.

  1. Copiați tot tabelul și lipiți-l într-o foaie de lucru în celula A1.

    Date

    Acesta este

    un interval de celule care

    luate împreună

    formează

    o singură propoziție.

    Total caractere în A2:A6

    =SUM(LEN(A2:A6))

    Conținutul celei mai lungi celule (A3)

    =INDEX(A2:A6;MATCH(MAX(LEN(A2:A6));LEN(A2:A6);0);1)

  2. Selectați celula A8, apoi apăsați Ctrl+Shift+Enter pentru a vedea numărul total de caractere din celulele A2:A6 (66).

  3. Selectați celula A10, apoi apăsați Ctrl+Shift+Enter pentru a vedea conținutul celor mai lungi dintre celulele A2:A6 (celula A3).

Formula următoare utilizată în celula A8 contorizează numărul total de caractere (66) din celulele de la A2 la A6.

=SUM(LEN(A2:A6))

În acest caz, funcția LEN returnează lungimea fiecărui șir text din fiecare celulă din zonă. Funcția SUM adună apoi acele valori și afișează rezultatul (66).

Găsirea celor mai mici n valori dintr-o zonă

Acest exemplu vă arată cum să găsiți cele mai mici trei valori dintr-o zonă de celule.

  1. Introduceți unele numere aleatoare în celulele A1:A11.

  2. Selectați celulele C1 până la C3. Acest set de celule va conține rezultatele returnate de formula matrice.

  3. Introduceți următoarea formulă, apoi apăsați Ctrl+Shift+Enter:

    =SMALL(A1:A11,{1;2;3})

Această formulă utilizează o constantă matrice pentru a evalua funcția SMALL de trei ori și a returna cea mai mică valoare (1), a doua cea mai mică valoare (2) și a treia cea mai mică valoare (3) din matricea conținută în celulele A1:A10 Pentru a găsi mai multe valori, adăugați mai multe argumente la constantă. De asemenea, aveți posibilitatea să utilizați funcții suplimentare cu această formulă, cum ar fi SUM sau AVERAGE. De exemplu:

=SUM(SMALL(A1:A10,{1,2,3})

=AVERAGE(SMALL(A1:A10,{1,2,3})

Găsirea celor mai mari n valori dintr-o zonă

Pentru a găsi cele mai mari valori dintr-o zonă, puteți să înlocuiți funcția SMALL cu funcția LARGE. În plus, următorul exemplu utilizează funcțiile ROW și INDIRECT.

  1. Selectați celulele D1 până la D3.

  2. În bara de formule, introduceți această formulă, apoi apăsați Ctrl+Shift+Enter:

    =LARGE(A1:A10;ROW(INDIRECT("1:3")))

Acum, poate fi util să cunoașteți câteva lucruri despre funcțiile ROW și INDIRECT. Aveți posibilitatea să utilizați funcția ROW pentru a crea o matrice de numere întregi consecutive. De exemplu, selectați o coloană necompletată de 10 celule în registrul de lucru exemplu, introduceți această formulă matrice, apoi apăsați Ctrl+Shift+Enter:

=ROW(1:10)

Formula creează o coloană de 10 numere întregi consecutive. Pentru a vedea o posibilă problemă, introduceți un rând deasupra rândului care conține formula matrice (adică deasupra rândului 1). Excel reglează referința de rând, iar formula generează numere întregi de la 2 la 11. Pentru a remedia problema, adăugați funcția INDIRECT la formulă:

=ROW(INDIRECT("1:10"))

Funcția INDIRECT utilizează șiruri text ca argumente (motiv pentru care zona 1:10 este încadrată de ghilimele duble). Excel nu ajustează valorile text atunci când introduceți rânduri sau mutați formula matrice. Drept urmare, funcția ROW generează întotdeauna matricea de numere întregi dorită.

Să vedem formula utilizată anterior - =LARGE(A5:A14,ROW(INDIRECT("1:3"))) - începând de la parantezele interioare și lucrând spre exterior: Funcția INDIRECT returnează un set de valori text, în acest caz valorile de la 1 la 3. Funcția ROW generează la rândul său o matrice cu trei celule cu coloane. Funcția LARGE utilizează valorile din zona de celule A5:A14 și este evaluată de trei ori, o dată pentru fiecare referință returnată de funcția ROW. Valorile 3200, 2700 și 2000 sunt returnate matricei cu trei celule. Dacă doriți să găsiți mai multe valori, adăugați o zonă de celule mai mare la funcția INDIRECT.

Ca și în cazul exemplelor anterioare, aveți posibilitatea să utilizați această formulă cu alte funcții, cum ar fi SUM și AVERAGE.

Găsirea celui mai lung șir text dintr-o zonă de celule

Reveniți la exemplul anterior cu șirul text, introduceți următoarea formulă într-o celulă necompletată și apăsați Ctrl+Shift+Enter:

=INDEX(A2:A6;MATCH(MAX(LEN(A2:A6));LEN(A2:A6);0);1)

Apare textul cu zona de celule care apare.

Să examinăm formula, începând de la elementele interioare și mergând spre exterior. Funcția LEN returnează lungimea fiecăruia dintre elementele din zona de celule A2:A6. Funcția MAX calculează cea mai mare valoare dintre aceste elemente, care corespunde cu cel mai lung șir text, care se află în celula A3.

Aici lucrurile devin mai complicate. Funcția MATCH calculează deplasarea (poziția relativă) celulei care conține cel mai lung șir text. Pentru a face aceasta, are nevoie de trei argumente: o valoare de căutare, o matrice de căutare și un tip de matrice. Funcția MATCH caută în matricea de căutare pentru a găsi valoarea de căutare dorită. În acest caz, valoarea de căutare este cel mai lung șir text:

(MAX(LEN(A2:A6))

iar acel șir se află în această matrice:

LEN(A2:A6)

Argumentul tipului de potrivire este 0. Tipul de potrivire poate fi valoarea 1, 0 sau -1. Dacă specificați 1, MATCH returnează cea mai mare valoare care este mai mică sau egală cu valoarea de căutare. Dacă specificați 0, MATCH returnează prima valoare care este exact egală cu valoarea de căutare. Dacă specificați -1, MATCH găsește cea mai mică valoare care este mai mare sau egală cu valoarea de căutare specificată. Dacă omiteți tipul de potrivire, Excel stabilește valoarea 1.

În fine, funcția INDEX preia aceste argumente: o matrice și un număr de rând sau coloană din acea matrice. Zona de celule A2:A6 oferă matricea, funcția MATCH oferă adresa celulei, iar argumentul final (1) specifică faptul că valoarea provine din prima coloană a matricei.

Această secțiune oferă exemple de formule matrice complexe.

Însumarea unei zone care conține valori eroare

Funcția SUM din Excel nu funcționează când încercați să însumați o zonă care conține o valoare de eroare, cum ar fi #N/A. Acest exemplu vă arată cum să însumați valorile dintr-o zonă denumită Date, care conține erori.

=SUM(IF(ISERROR(Date);"";Date))

Formula creează o matrice nouă, care conține valorile inițiale minus valorile eroare. Începând de la funcțiile din interior și mergând înspre exterior, funcția ISERROR caută în zona de celule (Date) pentru a găsi erori. Funcția IF returnează o anumită valoare dacă o condiție pe care o specificați este evaluată ca adevărată și altă valoare dacă este evaluată ca fiind falsă. În acest caz, returnează șiruri goale ("") pentru toate valorile eroare, deoarece acestea sunt evaluate ca o condiție adevărată, și returnează restul valorilor din zona de celule (Date), deoarece sunt evaluate ca false, adică nu conțin valori eroare. Funcția SUM calculează apoi totalul pentru matricea filtrată.

Contorizarea numărului de valori eroare dintr-o zonă

Acest exemplu este similar cu formula anterioară, dar returnează numărul de valori eroare dintr-o zonă denumită Date, în loc să le filtreze:

=SUM(IF(ISERROR(Date);1;0))

Această formulă creează o matrice care conține valoare 1 pentru celulele care conțin erori și valoarea 0 pentru celulele care nu conțin erori. Aveți posibilitatea să simplificați formula și să obțineți același rezultat eliminând al treilea argument pentru funcția IF, astfel:

=SUM(IF(ISERROR(Date);1))

Dacă nu specificați argumentul, funcția IF returnează FALSE dacă o celulă nu conține o valoare de eroare. Aveți posibilitatea să simplificați formula și mai mult:

=SUM(IF(ISERROR(Date)*1))

Această versiune funcționează deoarece TRUE*1=1 și FALSE*1=0.

Însumarea valorilor pe baza condițiilor

Poate fi necesar să însumați valorile pe baza unor condiții. De exemplu, această formulă matrice însumează numai numerele întregi pozitive dintr-o zonă denumită Vânzări:

=SUM(IF(Vânzări>0;Vânzări))

Funcția IF creează o matrice de valori pozitive și valori false. Funcția SUM ignoră practic valorile false, deoarece 0+0=0. Zona de celule pe care o utilizați în această formulă poate consta în orice număr de rânduri și coloane.

De asemenea, aveți posibilitatea să însumați valorile care respectă mai multe condiții. De exemplu, această formulă matrice calculează valorile mai mari decât 0 și mai mici sau egale cu 5:

=SUM((Vânzări>0)*(Vânzări<=5)*(Vânzări))

Rețineți că această formulă va returna o eroare dacă zona conține una sau mai multe celule non-numerice.

De asemenea, aveți posibilitatea să creați formule matrice care utilizează un tip de condiție OR (SAU). De exemplu, aveți posibilitatea să însumați valorile mai mici de 5 și mai mari de 15:

=SUM(IF((Vânzări<5)+(Vânzări>15);Vânzări))

Funcția IF găsește toate valorile mai mici decât 5 și mai mari decât 15, apoi transmite acele valori la funcția SUM.

Nu aveți posibilitatea să utilizați funcțiile AND și OR în formulele matrice în mod direct, deoarece acele funcții returnează un singur rezultat, TRUE sau FALSE, iar funcțiile matrice necesită matrici de rezultate. Aveți posibilitatea să rezolvați problema utilizând elementele logice din formula anterioară. Cu alte cuvinte, efectuați operațiuni matematice, cum ar fi adunarea sau înmulțirea, pentru valori care respectă condiția OR (SAU) sau AND (ȘI).

Calculul unei medii care exclude zerourile

Acest exemplu arată cum să eliminați valorile zero dintr-o zonă atunci când trebuie să calculați o medie a valorilor din acea zonă. Formula utilizează o zonă de date denumită Vânzări:

=AVERAGE(IF(Vânzări<>0;Vânzări))

Funcția IF creează o matrice de valori care nu sunt egale cu 0 și transmite acele valori la funcția AVERAGE.

Contorizarea numărului de diferențe dintre două zone de celule

Această formulă matrice compară valorile din două zone de celule denumite DateleMele și DateleDeleMele și returnează numărul de diferențe dintre cele două. Dacă conținutul celor două zone este identic, formula returnează 0. Pentru a utiliza această formulă, intervalele de celule trebuie să fie de aceeași dimensiune și de aceeași dimensiune (de exemplu, dacă DateleMele reprezintă o zonă de 3 rânduri și 5 coloane, DateleDele trebuie, de asemenea, să aibă 3 rânduri pe 5 coloane):

=SUM(IF(DateleMele=DateleTale;0;1))

Formula creează o matrice nouă de aceeași dimensiune ca zonele pe care le comparați. Funcția IF completează matricea cu valoarea 0 și valoarea 1 (0 pentru nepotriviri și 1 pentru celule identice). Funcția SUM returnează suma valorilor din matrice.

Formula poate fi simplificată astfel:

=SUM(1*(DateleMele<>DateleDele))

La fel ca formula care contorizează valorile eroare dintr-o zonă de date, această formulă funcționează deoarece TRUE*1=1 și FALSE*1=0.

Găsirea locației valorii maxime dintr-o zonă

Această formulă matrice returnează numărul de rând al valorii maxime dintr-o zonă cu o singură coloană denumită Date:

=MIN(IF(Date=MAX(Date);ROW(Date);""))

Funcția IF creează o matrice nouă, care corespunde cu zona denumită Date. Dacă o celulă corespondentă conține valoarea maximă din zonă, matricea conține numărul de rând. Altfel, matricea conține un șir gol (""). Funcția MIN utilizează matricea nouă ca al doilea argument și returnează cea mai mică valoare, care corespunde cu numărul de rând al valorii maxime din Date. Dacă zona denumită Date conține valori maxime identice, formula returnează rândul primei valori.

Dacă doriți să returnați adresa efectivă a celulei în care se află valoarea maximă, utilizați această formulă:

=ADDRESS(MIN(IF(Date=MAX(Date);ROW(Date);""));COLUMN(Date))

Confirmare

Părți ale acestui articol se bazează pe o serie de coloane Excel Power User scrise de Colin Wilcox și adaptate din capitolele 14 și 15 din Excel 2002 Formulas, o carte scrisă de John Walkenico, un fost Excel MVP.

Aveți nevoie de ajutor suplimentar?

Puteți întreba întotdeauna un expert de la Excel Tech Community, puteți obține asistență de la comunitatea Answers sau puteți sugera o caracteristică nouă sau o îmbunătățire pe Excel UserVoice.

Consultați și

Matricele dinamice și comportamentul matricelor vărsate

Formule matrice dinamice versus formule matrice CSE moștenite

Funcția FILTER

Funcția RANDARRAY

Funcția SEQUENCE

Funcția SORT

Funcția SORTBY

Funcția UNIQUE

Erorile #SPILL! din Excel

Operator implicit de intersecție: @

Prezentare generală a formulelor

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele Office
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×