Funció Excel TOROW per transformar rang o matriu a fila

  • Comparteix Això
Michael Brown

Una manera ràpida de convertir un rang de cel·les en una sola fila amb l'ajuda de la funció TOROW .

Microsoft Excel 365 ha introduït diverses funcions noves per realitzar diverses manipulacions amb matrius. Amb TOROW, podeu realitzar transformacions d'interval a fila en molt poc temps. Aquí hi ha una llista de tasques que pot realitzar aquesta nova funció:

    Funció TOROW d'Excel

    La funció TOROW d'Excel s'utilitza per convertir una matriu o rang de cel·les en una fila.

    La funció pren un total de tres arguments, dels quals només cal el primer.

    TOROW(matriu, [ignorar], [escaneig_per_columna])

    On:

    Matriu (obligatori): una matriu o un interval per transformar en una sola fila.

    Ignora (opcional): determina si s'ignora els espais en blanc o/i errors. Pot prendre un d'aquests valors:

    • 0 o omès (per defecte) - mantenir tots els valors
    • 1 - ignorar els espais en blanc
    • 2 - ignorar els errors
    • 3: ignora els espais en blanc i els errors

    Scan_by_column (opcional) - defineix com escanejar la matriu:

    • FALSE o s'omet (per defecte) - escaneja la matriu horitzontalment per fila.
    • VERTADER - escaneja la matriu verticalment per columna.

    Consells:

    • Per transformar una matriu en una sola columna, utilitzeu la funció TOCOL.
    • Per preformar la transformació inversa de fila a matriu, utilitzeu la funció WRAPCOLS per embolicar en columnes o la funció WRAPROWS per embolicarmatriu en files.
    • Per convertir les files en columnes, utilitzeu la funció TRANSPOSE.

    Disponibilitat de TOROW

    TOROW és una funció nova, que només s'admet a Excel per a Microsoft 365 (per a Windows i Mac) i Excel per al web.

    Fórmula TOROW bàsica a Excel

    Per fer una transformació senzilla d'interval a fila, utilitzeu la fórmula TOROW en la seva forma bàsica. Per a això, només cal definir el primer argument ( array ).

    Per exemple, per convertir una matriu bidimensional que consta de 3 columnes i 3 files en una sola fila, el La fórmula és:

    =TOROW(A3:C6)

    Introduïu la fórmula en una sola cel·la (A10 en el nostre cas) i automàticament s'aboca a tantes cel·les com calgui per contenir tots els resultats. En termes d'Excel, l'interval de sortida envoltat per una vora blava fina s'anomena interval de vessament.

    Com funciona aquesta fórmula:

    Primer, un rang de cel·les subministrat es transforma en una matriu bidimensional. Tingueu en compte les columnes delimitades per comes i les files separades per punt i coma:

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

    Aleshores, la funció TOROW llegeix la matriu d'esquerra a dreta i la converteix en una matriu horitzontal unidimensional:

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

    El resultat va a la cel·la A10, des de la qual s'aboca a la cel·la veïna de la dreta.

    Transforma l'interval en fila ignorant els espais en blanc i els errors

    Per defecte, la funció TOROW manté tots els valors de la matriu font, incloses les cel·les buides ierrors. A la sortida, apareixen valors zero al lloc de les cel·les en blanc, cosa que pot ser força confús.

    Per excloure espais en blanc , establiu l'argument ignora a 1:

    =TOROW(A3:C5, 1)

    Per ignorar errors , establiu l'argument ignora a 2:

    =TOROW(A3:C5, 2)

    Per ometre tots dos, espais en blanc i errors , utilitzeu 3 per a l'argument ignore :

    =TOROW(A3:C5, 3)

    La imatge següent mostra els tres escenaris en acció:

    Llegir la matriu horitzontalment o verticalment

    Amb el comportament predeterminat, la funció TOROW processa la matriu horitzontalment d'esquerra a dreta. Per escanejar els valors per columna de dalt a baix, establiu el tercer argument ( scan_by_column ) com a TRUE o 1.

    Per exemple, per llegir l'interval font per fila, la fórmula de E3 és:

    =TOROW(A3:C5)

    Per escanejar l'interval per columna, la fórmula a E8 és:

    =TOROW(A3:C5, ,TRUE)

    En ambdós casos, les matrius resultants són la mateixa mida, però els valors estan ordenats en un ordre diferent.

    Combinar diversos rangs en una fila

    Per combinar diversos rangs no adjacents en una sola fila, primer els apileu horitzontalment o verticalment en una sola matriu amb l'ajuda de HSTACK o VSTACK, respectivament , i després utilitzeu la funció TOROW per convertir la matriu combinada en una fila.

    Depenent de la vostra lògica empresarial, una de les fórmules següents realitzarà la tasca.

    Apilar les matrius horitzontalment i convertir-les per fila

    Amb el primerrang en A3:C4 i el segon rang en A8:C9, la fórmula següent apilarà els dos rangs horitzontalment en una sola matriu i, a continuació, la transformarà en una fila que llegeix els valors d'esquerra a dreta. El resultat és a E3 a la imatge següent.

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

    Apilar les matrius horitzontalment i convertir-les per columna

    Per llegir la matriu apilada verticalment de dalt a baix, establiu el tercer argument de TOROW com a TRUE tal com es mostra a E5 a la imatge següent:

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

    Apilar matrius verticalment i convertir-los per fila

    Per afegir cadascuna matriu posterior a la part inferior de la matriu anterior i llegiu la matriu combinada horitzontalment, la fórmula a E12 és:

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

    Apilar matrius verticalment i convertir-les per columna

    Per afegir cada matriu posterior a la part inferior de l'anterior i escanejar la matriu combinada verticalment, la fórmula és:

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

    Per entendre millor la lògica, observeu el diferent ordre de valors a les matrius resultants:

    Extreu valors únics d'un rang a una fila

    A partir de Microsoft Excel 2016, tenim una funció meravellosa, anomenada ÚNIC, que pot obtenir fàcilment valors únics d'una sola columna. o fila. Tanmateix, no pot gestionar matrius de diverses columnes. Per superar aquesta limitació, utilitzeu conjuntament les funcions UNIQUE i TOROW.

    Per exemple, per extreure tots els diferents valors (diferents) del rang A2:C7 i col·locar els resultats en una fila, elLa fórmula és:

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

    Com que TOROW retorna una matriu horitzontal unidimensional, establim el segon argument ( per_col ) de ÚNIC a TRUE per comparar les columnes amb cadascuna. altre.

    En cas que vulgueu que els resultats estiguin ordenats en ordre alfabètic, embolcalleu la fórmula anterior a la funció SORT:

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

    Igual que amb UNIQUE, el by_col L'argument de SORT també s'estableix en TRUE.

    Alternativa TOROW per a Excel 365 - 2010

    En les versions d'Excel on la funció TOROW no està disponible, podeu transformar un interval en una sola fila mitjançant una combinació d'algunes funcions diferents que funcionen en versions anteriors. Aquestes solucions són més complexes, però funcionen.

    Per escanejar l'interval horitzontalment, la fórmula genèrica és:

    INDEX( interval , QUOTIENT(COLUMNA (A1)-1, COLUMNS( interval ))+1, MOD(COLUMN(A1)-1, COLUMNS( interval ))+1)

    Per escanejar l'interval verticalment, la fórmula genèrica és :

    ÍNDEX( interval , MOD(COLUMN(A1)-1, COLUMNS( interval ))+1, QUOCIENT(COLUMNA (A1)-1, COLUMNES( interval ))+1)

    Per al nostre conjunt de dades de mostra a A3:C5, les fórmules prenen aquesta forma:

    Per escanejar l'interval per fila:

    =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)

    Aquesta fórmula és una alternativa a la funció TOROW amb el tercer argument establert en FALSE o omès:

    =TOROW(A3:C5)

    Per escanejar l'interval mitjançant columna:

    =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)

    Aquesta fórmula és equivalent a la funció TOROW amb el tercer argument establert aTRUE:

    =TOROW(A3:C5, ,TRUE)

    Tingueu en compte que, a diferència de la funció TOROW de matriu dinàmica, aquestes fórmules tradicionals s'han d'introduir a cada cel·la on voleu que apareguin els resultats. En el nostre cas, la primera fórmula (per fila) va a E3 i es copia a través de M3. La segona fórmula (per columna) aterra a E8 i s'arrossega per M8.

    Perquè les fórmules es copien correctament, bloquegem l'interval mitjançant referències absolutes ($A$3:$C$5). També servirà un interval amb nom.

    Si heu copiat les fórmules a més cel·les de les necessàries, un #REF! l'error apareixerà a les cel·les "extra". Per solucionar-ho, emboliqueu la fórmula a la funció IFERROR com aquesta:

    =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), "")

    Com funcionen aquestes fórmules

    A continuació es mostra un desglossament detallat de la primera fórmula que ordena els valors per fila:

    =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)

    Al cor de la fórmula, utilitzem la funció INDEX per obtenir el valor d'una cel·la en funció de la seva posició relativa a la rang.

    El número de fila es calcula amb aquesta fórmula:

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

    La idea és produir una seqüència numèrica repetida com ara 1,1 ,1,2,2,2,3,3,3, … on cada número es repeteix tantes vegades com hi hagi columnes a l'interval font. I així és com ho fem:

    QUOCIENT retorna la part entera d'una divisió.

    Per a numerador , utilitzem COLUMN(A1)-1, que retorna una sèrie nombre des de 0 a la primera cel·la on s'introdueix la fórmula fins a n (nombre total de valors a l'intervalmenys 1) a l'última cel·la on s'ha introduït la fórmula. En aquest exemple, tenim 0 a E2 i 8 a M3.

    Per a denominador , utilitzem COLUMNS($A$3:$C$5)). Això retorna un nombre constant igual al nombre de columnes del vostre interval (3 en el nostre cas).

    Com a resultat, la funció QUOCIENT retorna 0 a les 3 primeres cel·les (E3:G3), a les quals afegeix 1, de manera que el número de fila és 1.

    Per a les 3 cel·les següents (H3:J3), QUOCIENT retorna 1 i +1 dóna el número de fila 2. I així successivament.

    Per calcular el número de columna , creeu una seqüència numèrica adequada mitjançant la funció MOD:

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

    Com que hi ha 3 columnes al nostre rang, la seqüència ha de semblar : 1,2,3,1,2,3,...

    La funció MOD retorna la resta després de la divisió.

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

    es converteix en

    MOD(1-1, 3)+1)

    i retorna 1.

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

    es converteix en

    MOD(2-1, 3)+1)

    i retorna 2.

    Un cop establerts els números de fila i columna, INDEX aconsegueix fàcilment el valor a la intersecció d'aquesta fila i columna.

    A E3, INDEX($A$3). :$C$5, 1, 1) retorna un valor de la 1a fila i la 1a columna de l'interval de referència, és a dir, de la cel·la A3.

    A F3, INDEX($A$3:$C$5, 1, 2) retorna un valor de la 1a fila i la 2a columna, és a dir, de la cel·la B3.

    I així successivament.

    La segona fórmula que explora l'interval per columna, funciona de maneramanera semblant. La diferència és que utilitzem MOD per calcular el número de fila i QUOCIENT per esbrinar el número de columna.

    La funció TOROW no funciona

    Si la funció TOROW provoca un error, és el més probable és que sigui un d'aquests motius:

    #NAME? error

    Amb la majoria de funcions d'Excel, un #NOM? error és una indicació clara que el nom de la funció està mal escrit. Amb TOROW, també pot significar que la funció no està disponible al vostre Excel. Si la vostra versió d'Excel és diferent de la 365, proveu d'utilitzar una alternativa TOROW.

    #NUM error

    Un error #NUM indica que la matriu retornada no encaixa en una fila. Molt sovint això passa quan feu referència a columnes i/o files senceres en lloc d'un interval més petit.

    #SPILL error

    En la majoria dels casos, un error #SPILL suggereix que la fila on que heu introduït la fórmula no té prou cel·les en blanc per abocar-hi els resultats. Si les cel·les veïnes estan visualment buides, assegureu-vos que no hi hagi espais ni altres caràcters que no s'imprimeixin. Per obtenir-ne més informació, vegeu Què significa l'error #SPILL a Excel.

    Així és com s'utilitza la funció TOROW a Excel per convertir una matriu o un interval bidimensional en una sola fila. Us agraeixo la lectura i espero veure-us al nostre bloc la setmana vinent!

    Quader de pràctiques per descarregar

    Funció Excel TOROW: exemples de fórmules (fitxer .xlsx)

    Michael Brown és un entusiasta de la tecnologia dedicat amb una passió per simplificar processos complexos mitjançant eines de programari. Amb més d'una dècada d'experiència en la indústria tecnològica, ha perfeccionat les seves habilitats en Microsoft Excel i Outlook, així com en Google Sheets i Docs. El bloc de Michael es dedica a compartir els seus coneixements i experiència amb altres persones, oferint consells i tutorials fàcils de seguir per millorar la productivitat i l'eficiència. Tant si sou un professional experimentat com si sou un principiant, el bloc de Michael ofereix valuoses idees i consells pràctics per treure el màxim profit d'aquestes eines de programari essencials.