Función TOROW de Excel para transformar rango ou matriz en fila

  • Comparte Isto
Michael Brown

Unha forma rápida de converter un rango de celas nunha única fila coa axuda da función TOROW .

Microsoft Excel 365 introduciu varias funcións novas para realizar diversas manipulacións con matrices. Con TOROW, pode realizar transformacións de rango a fila en pouco tempo. Aquí tes unha lista de tarefas que pode realizar esta nova función:

    Función TOROW de Excel

    A función TOROW en Excel úsase para converter unha matriz ou rango de celas en unha fila.

    A función leva un total de tres argumentos, dos cales só é necesario o primeiro.

    TOROW(matriz, [ignorar], [escanear_por_columna])

    Onde:

    Matriz (obrigatorio): unha matriz ou intervalo para transformar nunha única fila.

    Ignorar (opcional): determina se ignorar os espazos en branco ou/e erros. Pode tomar un destes valores:

    • 0 ou omitido (predeterminado) - manter todos os valores
    • 1 - ignorar os espazos en branco
    • 2 - ignorar os erros
    • 3 - ignora os espazos en branco e os erros

    Scan_by_column (opcional) - define como analizar a matriz:

    • FALSO ou omitido (predeterminado) - escanear a matriz horizontalmente por fila.
    • VERDADEIRO - escanear a matriz verticalmente por columna.

    Consellos:

    • Para transformar unha matriz nunha única columna, utilice a función TOCOL.
    • Para realizar a transformación inversa de fila a matriz, use a función WRAPCOLS para envolver en columnas ou a función WRAPROWS para envolvermatriz en filas.
    • Para converter filas en columnas, use a función TRANSPOSE.

    Dispoñibilidade de TOROW

    TOROW é unha función nova, que só se admite en Excel para Microsoft 365 (para Windows e Mac) e Excel para a web.

    Fórmula TOROW básica en Excel

    Para facer unha transformación sinxela de rango a fila, use a fórmula TOROW na súa forma básica. Para iso, cómpre definir só o primeiro argumento ( matriz ).

    Por exemplo, para converter unha matriz bidimensional formada por 3 columnas e 3 filas nunha única fila, o a fórmula é:

    =TOROW(A3:C6)

    Introduces a fórmula nunha soa cela (A10 no noso caso) e vertese automaticamente en tantas celas como sexa necesario para conter todos os resultados. En termos de Excel, o intervalo de saída rodeado por un bordo azul fino chámase intervalo de derrame.

    Como funciona esta fórmula:

    En primeiro lugar, un intervalo de celas subministrado transfórmase nunha matriz bidimensional. Observe as columnas delimitadas por comas e as filas separadas por punto e coma:

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

    Despois, a función TOROW le a matriz de esquerda a dereita e convértea nunha matriz horizontal unidimensional:

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

    O resultado vai á cela A10, desde a cal se derrama na cela veciña á dereita.

    Transforma intervalo en fila ignorando os espazos en branco e os erros

    Por defecto, a función TOROW mantén todos os valores da matriz de orixe, incluídas as celas baleiras eerros. Na saída aparecen valores cero no lugar das celas en branco, o que pode resultar bastante confuso.

    Para excluír espazos en branco , configure o argumento ignorar en 1:

    =TOROW(A3:C5, 1)

    Para ignorar erros , configure o argumento ignorar en 2:

    =TOROW(A3:C5, 2)

    Para omitir ambos, en branco e erros , use 3 para o argumento ignorar :

    =TOROW(A3:C5, 3)

    A imaxe de abaixo mostra os tres escenarios en acción:

    Ler matriz horizontal ou verticalmente

    Co comportamento predeterminado, a función TOROW procesa a matriz horizontalmente de esquerda a dereita. Para analizar os valores por columna de arriba a abaixo, establece o 3.º argumento ( scan_by_column ) como VERDADEIRO ou 1.

    Por exemplo, para ler o intervalo de orixe por fila, a fórmula en E3 é:

    =TOROW(A3:C5)

    Para escanear o intervalo por columna, a fórmula de E8 é:

    =TOROW(A3:C5, ,TRUE)

    En ambos casos, as matrices resultantes son o mesmo tamaño, pero os valores están dispostos nunha orde diferente.

    Combinar varios intervalos nunha soa fila

    Para combinar varios intervalos non adxacentes nunha soa fila, primeiro apílaos horizontal ou verticalmente nunha única matriz coa axuda de HSTACK ou VSTACK, respectivamente e, a continuación, use a función TOROW para converter a matriz combinada nunha fila.

    En función da súa lóxica empresarial, realizará a tarefa unha das seguintes fórmulas.

    Apilar matrices horizontalmente e convertela mediante fila

    Co primeirointervalo en A3:C4 e o segundo intervalo en A8:C9, a fórmula seguinte apilará os dous intervalos horizontalmente nunha única matriz e, a continuación, transformarao nunha fila que lea os valores de esquerda a dereita. O resultado está en E3 na imaxe de abaixo.

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

    Apila matrices horizontalmente e convertelas por columna

    Para ler a matriz apilada verticalmente de arriba a abaixo, estableces o terceiro argumento de TOROW como VERDADEIRO como se mostra en E5 na seguinte imaxe:

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

    Apila matrices verticalmente e converte por fila

    Para engadir cada unha matriz posterior á parte inferior da matriz anterior e ler a matriz combinada horizontalmente, a fórmula en E12 é:

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

    Apilar matrices verticalmente e convertela por columna

    Para engadir cada matriz posterior á parte inferior da anterior e escanear a matriz combinada verticalmente, a fórmula é:

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

    Para comprender mellor a lóxica, observe a orde diferente dos valores en as matrices resultantes:

    Extraer valores únicos dun rango nunha fila

    A partir de Microsoft Excel 2016, temos unha función marabillosa, chamada UNIQUE, que pode obter facilmente valores únicos dunha soa columna ou fila. Non obstante, non pode xestionar matrices de varias columnas. Para superar esta limitación, use as funcións UNIQUE e TOROW xuntos.

    Por exemplo, para extraer todos os diferentes valores (distintos) do intervalo A2:C7 e colocar os resultados nunha fila, oa fórmula é:

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

    Como TOROW devolve unha matriz horizontal unidimensional, establecemos o segundo argumento ( by_col ) de ÚNICO en TRUE para comparar as columnas con cada unha. outro.

    No caso de querer ordenar os resultados en orde alfabética, envolve a fórmula anterior na función ORDENAR:

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

    Do mesmo xeito que con UNIQUE, o by_col O argumento de SORT tamén se establece en TRUE.

    Alternativa TOROW para Excel 365 - 2010

    Nas versións de Excel onde a función TOROW non está dispoñible, pode transformar un intervalo nunha única fila mediante unha combinación de algunhas funcións diferentes que funcionan en versións máis antigas. Estas solucións son máis complexas, pero funcionan.

    Para analizar o intervalo horizontalmente, a fórmula xenérica é:

    ÍNDICE( intervalo , QUOCIENT(COLUMNA (A1)-1, COLUMNS( intervalo ))+1, MOD(COLUMN(A1)-1, COLUMNS( intervalo ))+1)

    Para escanear o intervalo verticalmente, a fórmula xenérica é :

    ÍNDICE( intervalo , MOD(COLUÑA(A1)-1, COLUMNAS( intervalo ))+1, COCIENTE(COLUMNA (A1)-1, COLUMNAS( rango ))+1)

    Para o noso conxunto de datos de mostra en A3:C5, as fórmulas toman esta forma:

    Para analizar o intervalo por 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)

    Esta fórmula é unha alternativa á función TOROW co 3º argumento definido como FALSO ou omitido:

    =TOROW(A3:C5)

    Para analizar o intervalo mediante 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)

    Esta fórmula é equivalente á función TOROW co 3º argumento establecido enVERDADEIRO:

    =TOROW(A3:C5, ,TRUE)

    Teña en conta que, a diferenza da función TOROW de matriz dinámica, estas fórmulas tradicionais deben introducirse en cada cela onde quere que aparezan os resultados. No noso caso, a primeira fórmula (por fila) vai a E3 e cópiase a través de M3. A segunda fórmula (por columna) aterra en E8 e arrástrase a través de M8.

    Para que as fórmulas se copien correctamente, bloqueamos o intervalo mediante referencias absolutas ($A$3:$C$5). Tamén funcionará un intervalo con nome.

    Se copiaches as fórmulas a máis celas das necesarias, un #REF! o erro aparecerá nas celas "extra". Para solucionar isto, envolve a túa fórmula na función IFERROR do seguinte xeito:

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

    Como funcionan estas fórmulas

    A continuación móstrase un desglose detallado da primeira fórmula que ordena os valores por 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)

    No corazón da fórmula, usamos a función INDEX para obter o valor dunha cela en función da súa posición relativa na intervalo.

    O número de fila calcúlase mediante esta fórmula:

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

    A idea é producir unha secuencia numérica repetida como 1,1 ,1,2,2,2,3,3,3, … onde cada número se repite tantas veces como columnas haxa no intervalo de orixe. E así é como facemos isto:

    QUOCIENT devolve a parte enteira dunha división.

    Para numerador , usamos COLUMN(A1)-1, que devolve unha serie número de 0 na primeira cela onde se introduce a fórmula ata n (número total de valores no intervalomenos 1) na última cela onde se introduciu a fórmula. Neste exemplo, temos 0 en E2 e 8 en M3.

    Para denominador , usamos COLUMNAS($A$3:$C$5)). Isto devolve un número constante igual ao número de columnas do seu intervalo (3 no noso caso).

    Como resultado, a función QUOCIENT devolve 0 nas 3 primeiras celas (E3:G3), ás que se engade 1, polo que o número de fila é 1.

    Para as 3 celas seguintes (H3:J3), QUOCIENT devolve 1 e +1 dá o número de fila 2. E así por diante.

    Para calcular o número de columna , constrúe unha secuencia numérica adecuada mediante a función MOD:

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

    Como hai 3 columnas no noso rango, a secuencia debe parecer : 1,2,3,1,2,3,...

    A función MOD devolve o resto despois da división.

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

    convértese en

    MOD(1-1, 3)+1)

    e devolve 1.

    En F3, MOD(COLUÑA(B1)-1, COLUMNAS($A$3:$C$5))+

    convértese en

    MOD(2-1, 3)+1)

    e devolve 2.

    Unha vez establecidos os números de fila e columna, INDEX obtén facilmente o valor na intersección desa fila e columna.

    En E3, INDEX($A$3 :$C$5, 1, 1) devolve un valor da 1a fila e da 1a columna do intervalo referenciado, é dicir, da cela A3.

    En F3, INDEX($A$3:$C$5, 1, 2) devolve un valor da 1a fila e da 2a columna, é dicir, da cela B3.

    E así sucesivamente.

    A segunda fórmula que explora o intervalo por columna funciona nunxeito semellante. A diferenza é que usamos MOD para calcular o número de fila e QUOCIENT para descubrir o número de columna.

    A función TOROW non funciona

    Se a función TOROW produce un erro, é o máis probable é que sexa un destes motivos:

    #NAME? erro

    Na maioría das funcións de Excel, un #NAME? O erro é unha indicación clara de que o nome da función está mal escrito. Con TOROW, tamén pode significar que a función non está dispoñible no teu Excel. Se a súa versión de Excel non é 365, proba a usar unha alternativa TOROW.

    Erro #NUM

    Un erro #NUM indica que a matriz devolta non pode caber nunha fila. A maioría das veces ocorre cando fai referencia a columnas e/ou filas enteiras en lugar dun intervalo menor.

    Erro #SPILL

    Na maioría dos casos, un erro #SPILL suxire que a fila onde introduciches a fórmula non ten suficientes celas en branco para verter os resultados. Se as celas veciñas están baleiras visualmente, asegúrese de que non hai espazos nin outros caracteres non imprimibles nelas. Para obter máis información, consulte Que significa o erro #SPILL en Excel.

    Así se usa a función TOROW en Excel para converter unha matriz ou rango bidimensional nunha única fila. Grazas por ler e espero verte no noso blog a próxima semana!

    Practica para descargar

    Función TOROW de Excel - exemplos de fórmulas (ficheiro .xlsx)

    Michael Brown é un entusiasta da tecnoloxía dedicada á súa paixón por simplificar procesos complexos mediante ferramentas de software. Con máis dunha década de experiencia na industria tecnolóxica, perfeccionou as súas habilidades en Microsoft Excel e Outlook, así como en Follas de cálculo e Documentos de Google. O blog de Michael está dedicado a compartir o seu coñecemento e experiencia con outros, proporcionando consellos e titoriais fáciles de seguir para mellorar a produtividade e a eficiencia. Tanto se es un profesional experimentado como un principiante, o blog de Michael ofrece valiosas ideas e consellos prácticos para sacar o máximo proveito destas ferramentas de software esenciais.