Funcția Excel TOROW pentru a transforma intervalul sau matricea în rând

  • Imparte Asta
Michael Brown

O modalitate rapidă de a transforma un interval de celule într-un singur rând cu ajutorul funcției TOROW funcție.

Microsoft Excel 365 a introdus mai multe funcții noi pentru a efectua diverse manipulări cu array-uri. Cu TOROW, puteți efectua transformări de la interval la rând în cel mai scurt timp. Iată o listă de sarcini pe care le poate îndeplini această nouă funcție:

    Funcția Excel TOROW

    Funcția TOROW din Excel este utilizată pentru a converti o matrice sau un interval de celule într-un singur rând.

    Funcția primește în total trei argumente, dintre care numai primul este necesar.

    TOROW(array, [ignore], [scan_by_column])

    Unde:

    Array (obligatoriu) - o matrice sau un interval care trebuie transformat într-un singur rând.

    Ignoră (opțional) - determină dacă se ignoră spațiile goale și/sau erorile. Poate lua una dintre aceste valori:

    • 0 sau omis (implicit) - păstrează toate valorile
    • 1 - ignorați spațiile libere
    • 2 - ignorați erorile
    • 3 - ignorați spațiile libere și erorile

    Scan_by_columna (opțional) - definește modul de scanare a matricei:

    • FALSE sau omis (implicită) - scanează matricea orizontal pe rând.
    • TRUE - scanează matricea pe verticală pe coloană.

    Sfaturi:

    • Pentru a transforma o matrice într-o singură coloană, utilizați funcția TOCOL.
    • Pentru a efectua transformarea inversă de la rând la matrice, utilizați fie funcția WRAPCOLS pentru a transforma în coloane, fie funcția WRAPROWS pentru a transforma matricea în rânduri.
    • Pentru a transforma rândurile în coloane, utilizați funcția TRANSPOSE.

    Disponibilitatea TOROW

    TOROW este o funcție nouă, care este acceptată numai în Excel pentru Microsoft 365 (pentru Windows și Mac) și Excel pentru web.

    Formula de bază TOROW în Excel

    Pentru a efectua o transformare simplă de la interval la rând, utilizați formula TOROW în forma sa de bază. Pentru aceasta, trebuie să definiți doar primul argument ( array ).

    De exemplu, pentru a transforma o matrice bidimensională formată din 3 coloane și 3 rânduri într-un singur rând, formula este:

    =TOROW(A3:C6)

    Introduceți formula într-o singură celulă (A10 în cazul nostru), iar aceasta se revarsă automat în câte celule sunt necesare pentru a conține toate rezultatele. În termeni Excel, intervalul de ieșire înconjurat de o margine albastră subțire se numește interval de revărsare.

    Cum funcționează această formulă:

    În primul rând, un interval de celule furnizat este transformat într-o matrice bidimensională. Observați coloanele delimitate prin virgulă și rândurile separate prin punct și virgulă:

    {"Apple","Banana","Cherry";1,2,3;4,5,6;7,8,9}

    Apoi, funcția TOROW citește matricea de la stânga la dreapta și o convertește într-o matrice orizontală unidimensională:

    {"Apple","Banana","Cherry",1,2,3,4,5,6,7,8,9}

    Rezultatul se duce în celula A10, de unde se varsă în celula vecină din dreapta.

    Transformă intervalul în rând, ignorând spațiile libere și erorile

    În mod implicit, funcția TOROW păstrează toate valorile din tabloul sursă, inclusiv celulele goale și erorile. În rezultatul de ieșire, valorile zero apar în locul celulelor goale, ceea ce poate fi destul de derutant.

    La exclude spațiile libere , setați ignorați la 1:

    =TOROW(A3:C5, 1)

    La ignorați erorile , setați ignorați argument la 2:

    =TOROW(A3:C5, 2)

    Pentru a sări peste ambele, spații libere și erori , utilizați 3 pentru ignorați argument:

    =TOROW(A3:C5, 3)

    Imaginea de mai jos prezintă toate cele trei scenarii în acțiune:

    Citirea matricei pe orizontală sau pe verticală

    Cu comportamentul implicit, funcția TOROW procesează matricea pe orizontală, de la stânga la dreapta. Pentru a scana valorile pe coloană, de sus în jos, se setează cel de-al treilea argument ( scan_by_columna ) la TRUE sau 1.

    De exemplu, pentru a citi intervalul sursă pe rând, formula din E3 este:

    =TOROW(A3:C5)

    Pentru a scana intervalul pe coloane, formula din E8 este:

    =TOROW(A3:C5, ,TRUE)

    În ambele cazuri, array-urile rezultate au aceeași dimensiune, dar valorile sunt aranjate într-o ordine diferită.

    Îmbinarea mai multor intervale într-un singur rând

    Pentru a combina mai multe intervale neadiacente într-un singur rând, mai întâi le stivuiți pe orizontală sau pe verticală într-o singură matrice cu ajutorul funcției HSTACK sau VSTACK, respectiv, utilizați funcția TOROW pentru a converti matricea combinată într-un rând.

    În funcție de logica dvs. de afaceri, una dintre următoarele formule va îndeplini această sarcină.

    Stivuiți array-urile pe orizontală și convertiți-le pe rând

    Cu primul interval în A3:C4 și al doilea interval în A8:C9, formula de mai jos va stivui cele două intervale pe orizontală într-o singură matrice și apoi o va transforma într-un rând care citește valorile de la stânga la dreapta. Rezultatul este în E3 în imaginea de mai jos.

    =TOROW(HSTACK(A3:C4, A8:C9))

    Stivuiți array-urile pe orizontală și convertiți pe coloane

    Pentru a citi matricea stivuită pe verticală, de sus în jos, setați al treilea argument al TOROW la TRUE, așa cum se arată în E5 din imaginea de mai jos:

    =TOROW(HSTACK(A3:C4, A8:C9), ,TRUE)

    Stivuiți array-urile pe verticală și convertiți-le pe rând

    Pentru a adăuga fiecare tablou următor la baza tabloului anterior și a citi tabloul combinat pe orizontală, formula din E12 este:

    =TOROW(VSTACK(A3:C4, A8:C9))

    Stivuiți array-urile pe verticală și convertiți pe coloană

    Pentru a adăuga fiecare tablou următor la baza celui precedent și pentru a scana tabloul combinat pe verticală, formula este:

    =TOROW(VSTACK(A3:C4, A8:C9), ,TRUE)

    Pentru a înțelege mai bine logica, observați ordinea diferită a valorilor din array-urile rezultate:

    Extragerea valorilor unice dintr-un interval într-un rând

    Începând cu Microsoft Excel 2016, avem o funcție minunată, numită UNIQUE, care poate obține cu ușurință valori unice dintr-o singură coloană sau rând. Cu toate acestea, nu poate gestiona array-uri cu mai multe coloane. Pentru a depăși această limitare, utilizați funcțiile UNIQUE și TOROW împreună.

    De exemplu, pentru a extrage toate valorile diferite (distincte) din intervalul A2:C7 și a plasa rezultatele într-un singur rând, formula este:

    =UNIQUE(TOROW(A2:C7), TRUE)

    Deoarece TOROW returnează o matrice orizontală unidimensională, vom seta al doilea ( by_col ) al argumentului UNIQUE la TRUE pentru a compara coloanele între ele.

    În cazul în care doriți ca rezultatele să fie aranjate în ordine alfabetică, includeți formula de mai sus în funcția SORT:

    =SORT(UNIQUE(UNIC(TOROW(A2:C7), TRUE), , ,TRUE )

    La fel ca și în cazul UNIQUE, funcția by_col din SORT este, de asemenea, setat la TRUE.

    Alternativa TOROW pentru Excel 365 - 2010

    În versiunile Excel în care funcția TOROW nu este disponibilă, puteți transforma un interval într-un singur rând utilizând o combinație de câteva funcții diferite care funcționează în versiunile mai vechi. Aceste soluții sunt mai complexe, dar funcționează.

    Pentru a scana intervalul pe orizontală, formula generică este:

    INDEX( gama , COEFICIENT(COLOANA (A1)-1, COLOANE( gama ))+1, MOD(COLOANĂ(A1)-1, COLOANE( gama ))+1)

    Pentru a scana intervalul pe verticală, formula generică este:

    INDEX( gama , MOD(COLOANĂ(A1)-1, COLOANE( gama ))+1, COEFICIENT(COLOANA (A1)-1, COLOANE( gama ))+1)

    Pentru eșantionul nostru de date din A3:C5, formulele au această formă:

    Pentru a scana intervalul pe rând:

    =INDEX($A$3:$C$5, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1)

    Această formulă este o alternativă la funcția TOROW cu al treilea argument setat la FALSE sau omis:

    =TOROW(A3:C5)

    Pentru a scana intervalul în funcție de coloană:

    =INDEX($A$3:$C$5, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1)

    Această formulă este echivalentă cu funcția TOROW cu al treilea argument setat la TRUE:

    =TOROW(A3:C5, ,TRUE)

    Rețineți că, spre deosebire de funcția TOROW din matricea dinamică, aceste formule tradiționale trebuie introduse în fiecare celulă în care doriți ca rezultatele să apară. În cazul nostru, prima formulă (pe rând) ajunge în E3 și este copiată prin M3. A doua formulă (pe coloană) ajunge în E8 și este trasă prin M8.

    Pentru ca formulele să fie copiate corect, vom bloca intervalul folosind referințe absolute ($A$3:$C$5). Un interval numit va fi de asemenea suficient.

    Dacă ați copiat formulele în mai multe celule decât este necesar, o eroare #REF! va apărea în celulele "suplimentare". Pentru a remedia acest lucru, includeți formula în funcția IFERROR astfel:

    =IFERROR(INDEX($A$3:$C$5, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1), "")

    Cum funcționează aceste formule

    Mai jos este prezentată o detaliere a primei formule care aranjează valorile pe rând:

    =INDEX($A$3:$C$5, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1)

    În centrul formulei, folosim funcția INDEX pentru a obține valoarea unei celule pe baza poziției sale relative în interval.

    The numărul rândului se calculează cu formula următoare:

    COEFICIENT(COLOANA(A1)-1, COLOANELE($A$3:$C$5))+1

    Ideea este de a produce o secvență de numere care se repetă, cum ar fi 1,1,1,1,2,2,2,2,2,3,3,3,3, ... în care fiecare număr se repetă de atâtea ori câte coloane există în intervalul sursă. Și iată cum facem acest lucru:

    QUOTIENT returnează partea întreagă a unei diviziuni.

    Pentru numărător , folosim COLUMN(A1)-1, care returnează un număr de serie de la 0 în prima celulă în care este introdusă formula până la n (numărul total de valori din interval minus 1) în ultima celulă în care a fost introdusă formula. În acest exemplu, avem 0 în E2 și 8 în M3.

    Pentru numitor , folosim COLUMNS($A$3:$C$5)). Aceasta returnează un număr constant egal cu numărul de coloane din intervalul dvs. (3 în cazul nostru).

    Ca urmare, funcția QUOTIENT returnează 0 în primele 3 celule (E3:G3), la care adăugăm 1, astfel încât numărul rândului este 1.

    Pentru următoarele 3 celule (H3:J3), QUOTIENT returnează 1, iar +1 dă numărul rândului 2. Și așa mai departe.

    Pentru a calcula numărul coloanei , construiți o secvență de numere corespunzătoare utilizând funcția MOD:

    MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1

    Deoarece există 3 coloane în intervalul nostru, secvența trebuie să arate astfel: 1,2,3,1,2,3,...

    Funcția MOD returnează restul după împărțire.

    În E3, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+

    devine

    MOD(1-1, 3)+1)

    și returnează 1.

    În F3, MOD(COLUMN(B1)-1, COLUMNS($A$3:$C$5))+

    devine

    MOD(2-1, 3)+1)

    și returnează 2.

    Odată stabilite numerele de rând și de coloană, INDEX extrage cu ușurință valoarea de la intersecția dintre rând și coloană.

    În E3, INDEX($A$3:$C$5, 1, 1) returnează o valoare din primul rând și prima coloană a intervalului la care se face referire, adică din celula A3.

    În F3, INDEX($A$3:$C$5, 1, 2) returnează o valoare din primul rând și a doua coloană, adică din celula B3.

    Și așa mai departe.

    A doua formulă, care scanează intervalul pe coloane, funcționează în mod similar. Diferența este că folosim MOD pentru a calcula numărul rândului și QUOTIENT pentru a afla numărul coloanei.

    Funcția TOROW nu funcționează

    Dacă funcția TOROW generează o eroare, cel mai probabil este vorba de unul dintre aceste motive:

    #NAME? eroare

    În cazul majorității funcțiilor Excel, o eroare #NAME? este o indicație clară că numele funcției este scris greșit. În cazul TOROW, poate însemna, de asemenea, că funcția nu este disponibilă în Excel. Dacă versiunea Excel nu este 365, încercați să utilizați o alternativă TOROW.

    #NUM eroare

    O eroare #NUM indică faptul că matricea returnată nu se poate încadra într-un rând. Cel mai adesea, acest lucru se întâmplă atunci când se face referire la coloane și/sau rânduri întregi în loc de un interval mai mic.

    Eroare #SPILL

    În cele mai multe cazuri, o eroare #SPILL sugerează că rândul în care ați introdus formula nu are suficiente celule goale în care să se verse rezultatele. Dacă celulele vecine sunt goale din punct de vedere vizual, asigurați-vă că nu există spații sau alte caractere care nu se scriu în ele. Pentru mai multe informații, consultați Ce înseamnă eroarea #SPILL în Excel.

    Iată cum se utilizează funcția TOROW în Excel pentru a converti o matrice sau un interval bidimensional într-un singur rând. Vă mulțumesc pentru lectură și sper să ne vedem pe blog săptămâna viitoare!

    Caietul de practică pentru descărcare

    Excel Funcția TOROW - exemple de formule (fișier .xlsx)

    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.