Convertir columna/fila a matriz en Excel: funciones WRAPCOLS y WRAPROWS

En el fascinante mundo de las hojas de cálculo de Excel, a veces nos encontramos con la necesidad de convertir una columna o fila en una matriz. Pero, ¿cómo podemos lograr este proceso de manera rápida y sencilla? ¡No te preocupes! En este artículo te mostraremos dos funciones imprescindibles: WRAPCOLS y WRAPROWS. Estas funciones te permitirán convertir de forma eficiente una columna o fila en una matriz en Excel. ¡Sigue leyendo para descubrir cómo dominar esta útil habilidad y agilizar tu trabajo en Excel!

La forma más rápida de transformar una columna o fila de valores en una matriz bidimensional es utilizando la función WRAPCOLS o WRAPROWS.

Desde los primeros días de Excel, ha sido muy bueno calculando y analizando números. Pero manipular matrices ha sido tradicionalmente un desafío. La introducción de matrices dinámicas facilitó mucho el uso de fórmulas matriciales. Y ahora, Microsoft está lanzando un conjunto de nuevas funciones de matrices dinámicas para manipular y remodelar matrices. Este tutorial le enseñará cómo utilizar dos de estas funciones, WRAPCOLS y WRAPROWS, para transformar una columna o fila en una matriz 2D en poco tiempo. Convertir columna/fila a matriz en Excel: funciones WRAPCOLS y WRAPROWS

Función ENVOLTURAS de Excel

La función WRAPCOLS en Excel transforma una fila o columna de valores en una matriz bidimensional según el número especificado de valores por fila.

La sintaxis tiene los siguientes argumentos:

WRAPCOLS(vector, wrap_count, [pad_with])

Dónde:

  • vector (obligatorio): el rango o matriz unidimensional de origen.
  • recuento_envoltura (obligatorio): el número máximo de valores por columna.
  • pad_con (opcional): el valor que se rellenará con la última columna si no hay elementos suficientes para completarla. Si se omite, los valores faltantes se completarán con #N/A (predeterminado).

Por ejemplo, para cambiar el rango B5:B24 a una matriz bidimensional con 5 valores por columna, la fórmula es:

=WRAPROWS(B5:B24, 5)

Ingresas la fórmula en cualquier celda y automáticamente se extiende a tantas celdas como sea necesario. En la salida WRAPCOLS, los valores se organizan verticalmente, de arriba a abajo, según la recuento_envoltura valor. Una vez alcanzado el recuento, se inicia una nueva columna. Convertir columna/fila a matriz en Excel: funciones WRAPCOLS y WRAPROWS

Función ENVOLTURAS de Excel

La función WRAPROWS en Excel convierte una fila o columna de valores en una matriz bidimensional según la cantidad de valores por fila que especifique.

La sintaxis es la siguiente:

WRAPROWS(vector, wrap_count, [pad_with])

Dónde:

  • vector (obligatorio): el rango o matriz unidimensional de origen.
  • recuento_envoltura (obligatorio): el número máximo de valores por fila.
  • pad_con (opcional): el valor que se rellenará con la última fila si no hay elementos suficientes para completarla. El valor predeterminado es #N/A.

Por ejemplo, para transformar el rango B5:B24 en una matriz 2D que tiene 5 valores en cada fila, la fórmula es:

=WRAPROWS(B5:B24, 5)

Ingresa la fórmula en la celda superior izquierda del rango de derrame y completa todas las demás celdas automáticamente. La función WRAPROWS organiza los valores horizontalmente, de izquierda a derecha, según la recuento_envoltura valor. Después de llegar al conteo, comienza una nueva fila. Convertir columna/fila a matriz en Excel: funciones WRAPCOLS y WRAPROWS

Disponibilidad de WRAPCOLS y WRAPROWS

Ambas funciones solo están disponibles en Excel para Microsoft 365 (Windows y Mac) y Excel para la web.

En versiones anteriores, puede utilizar fórmulas tradicionales más complejas para realizar transformaciones de columna a matriz y de fila a matriz. Más adelante en este tutorial, discutiremos las soluciones alternativas en detalle.

Consejo. Para realizar una operación inversa, es decir, cambiar una matriz 2D a una sola columna o fila, use la función TOCOL o TOROW, respectivamente.

Cómo convertir columna/fila a rango en Excel – ejemplos

Ahora que comprende el uso básico, echemos un vistazo más de cerca a algunos casos más específicos.

Establecer el número máximo de valores por columna o fila

Dependiendo de la estructura de sus datos originales, puede que le resulte adecuado reorganizarlos en columnas (WRAPCOLS) o filas (WRAPROWS). Cualquiera que sea la función que utilice, es la recuento_envoltura argumento que determina el número máximo de valores en cada columna/fila.

Por ejemplo, para transformar el rango B4:B23 en una matriz 2D, de modo que cada columna tenga un máximo de 10 valores, use esta fórmula:

=WRAPCOLS(B4:B23, 10)

Para reorganizar el mismo rango por fila, de modo que cada fila tenga un máximo de 4 valores, la fórmula es:

=WRAPROWS(B4:B23, 4)

La siguiente imagen muestra cómo se ve esto: Convertir columna/fila a matriz en Excel: funciones WRAPCOLS y WRAPROWS

Rellenar los valores faltantes en la matriz resultante

En caso de que no haya valores suficientes para llenar todas las columnas/filas del rango resultante, WRAPROWS y WRAPCOLS devolverán errores #N/A para mantener la estructura de la matriz 2D.

Para cambiar el comportamiento predeterminado, puede proporcionar un valor personalizado para el opcional pad_con argumento.

Por ejemplo, para transformar el rango B4:B21 en una matriz 2D con un máximo de 5 valores de ancho y rellenar la última fila con guiones si no hay suficientes datos para llenarla, use esta fórmula:

=WRAPROWS(B4:B21, 5, "-")

Para reemplazar los valores faltantes con cadenas de longitud cero (espacios en blanco), la fórmula es:

=WRAPROWS(B4:B21, 5, "")

Compare los resultados con el comportamiento predeterminado (fórmula en D5) donde pad_con se omite: Convertir columna/fila a matriz en Excel: funciones WRAPCOLS y WRAPROWS

Fusionar varias filas en un rango 2D

Para combinar algunas filas separadas en una única matriz 2D, primero apile las filas horizontalmente usando la función HSTACK y luego ajuste los valores usando WRAPROWS o WRAPCOLS.

Por ejemplo, para fusionar los valores de 3 filas (B5:J5, B7:G7 y B9:F9) y agruparlos en columnas, cada una de las cuales contiene 10 valores, la fórmula es:

=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)

Para combinar valores de varias filas en un rango 2D donde cada fila contiene 5 valores, la fórmula toma esta forma:

=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5) Convertir columna/fila a matriz en Excel: funciones WRAPCOLS y WRAPROWS

Combine varias columnas en una matriz 2D

Para fusionar varias columnas en un rango 2D, primero las apila verticalmente usando la función VSTACK y luego ajusta los valores en filas (WRAPROWS) o columnas (WRAPCOLS).

Por ejemplo, para combinar los valores de 3 columnas (B5:J5, B7:G7 y B9:F9) en un rango 2D donde cada columna contiene 10 valores, la fórmula es:

=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)

Para combinar las mismas columnas en un rango 2D donde cada fila contiene 5 valores, use esta fórmula:

=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5) Convertir columna/fila a matriz en Excel: funciones WRAPCOLS y WRAPROWS

Envolver y ordenar la matriz

En una situación en la que el rango de origen tenga valores en orden aleatorio mientras desea ordenar la salida, proceda de esta manera:

  1. Ordene la matriz inicial de la forma que desee utilizando la función ORDENAR.
  2. Suministre la matriz ordenada a WRAPCOLS o WRAPROWS.

Por ejemplo, para envolver el rango B4:B23 en filas, 4 valores en cada una, y ordenar el rango resultante de la A a la Z, construye una fórmula como esta:

=WRAPROWS(SORT(B4:B23), 4)

Para agrupar el mismo rango en columnas, 10 valores en cada una, y ordenar la salida alfabéticamente, la fórmula es:

=WRAPCOLS(SORT(B4:B23), 10)

Los resultados son los siguientes: Convertir columna/fila a matriz en Excel: funciones WRAPCOLS y WRAPROWS

Consejo. Para organizar los valores en la matriz resultante en orden descendienteestablezca el tercer argumento (Orden de clasificación) de la función ORDENAR a -1.

Alternativa WRAPCOLS para Excel 365 – 2010

En versiones anteriores de Excel donde no se admite la función WRAPCOLS, puede crear su propia fórmula para ajustar los valores de una matriz unidimensional en columnas. Esto se puede hacer usando 5 funciones diferentes juntas.

Alternativa de WRAPCOLS para convertir una fila en un rango 2D:

SI ERROR (SI (FILA (A1)>norte«», ÍNDICE(rango_fila, FILA(A1) + (COLUMNA(A1)-1)*norte)), «»)

Alternativa de WRAPCOLS para convertir una columna en un rango 2D:

SI ERROR (SI (FILA (A1)>norte«», ÍNDICE(rango_columnaFILA(A1) + (COLUMNA(A1)-1)*norte)), «»)

Dónde norte es el número máximo de valores por columna.

En la imagen siguiente, utilizamos la siguiente fórmula para convertir un rango de una fila (D4:J4) en una matriz de tres filas.

=IFERROR(IF(ROW(A1)>3, "", INDEX($D$4:$J$4, , ROW(A1) + (COLUMN(A1)-1)*3)), "")

Y esta fórmula cambia un rango de una columna (B4:B20) en una matriz de cinco filas:

=IFERROR(IF(ROW(A1)>5, "", INDEX($B$4:$B$20, ROW(A1) + (COLUMN(A1)-1)*5)), "")

Las soluciones anteriores emulan las fórmulas análogas de WRAPCOLS y producen los mismos resultados:

=WRAPCOLS(D4:J4, 3, "")

y

=WRAPCOLS(B4:B20, 5, "")

Tenga en cuenta que, a diferencia de la función WRAPCOLS de matriz dinámica, las fórmulas tradicionales siguen el enfoque de una fórmula, una celda. Entonces, nuestra primera fórmula se ingresa en D8 y se copia 3 filas hacia abajo y 3 columnas a la derecha. La segunda fórmula se ingresa en D14 y se copia 5 filas hacia abajo y 4 columnas a la derecha. Convertir columna/fila a matriz en Excel: funciones WRAPCOLS y WRAPROWS

Cómo funcionan estas fórmulas

En el centro de ambas fórmulas, utilizamos la función ÍNDICE que devuelve un valor de la matriz proporcionada en función de un número de fila y columna:

ÍNDICE(matriz, núm_fila, [column_num])

Como estamos tratando con una matriz de una fila, podemos omitir el número_fila argumento, por lo que el valor predeterminado es 1. El truco consiste en tener número_columna Se calcula automáticamente para cada celda donde se copia la fórmula. Y así es como hacemos esto:

ROW(A1)+(COLUMN(A1)-1)*3)

La función FILA devuelve el número de fila de la referencia A1, que es 1.

La función COLUMNA devuelve el número de columna de la referencia A1, que también es 1. Restar 1 lo convierte en cero. Y multiplicar 0 por 3 da 0.

Luego, sumas 1 devuelto por FILA y 0 devuelto por COLUMNA y obtienes 1 como resultado.

De esta manera, la fórmula ÍNDICE en la celda superior izquierda del rango de destino (D8) sufre esta transformación:

INDEX($D$4:$J$4, ,ROW(A1) + (COLUMN(A1)-1)*3))

cambios a

INDEX($D$4:$J$4, ,1)

y devuelve el valor de la primera columna de la matriz especificada, que es «Manzanas» en D4.

Cuando la fórmula se copia en la celda D9, las referencias relativas de celda cambian según la posición relativa de filas y columnas, mientras que la referencia de rango absoluto permanece sin cambios:

INDEX($D$4:$J$4,, ROW(A2)+(COLUMN(A2)-1)*3))

se convierte en:

INDEX($D$4:$J$4,, 2+(1-1)*3))

se convierte en:

INDEX($D$4:$J$4,, 2))

y devuelve el valor de la segunda columna de la matriz especificada, que es «Albaricoques» en E4.

La función SI verifica el número de fila y si es mayor que el número de filas que especificaste (3 en nuestro caso) devuelve una cadena vacía («»), de lo contrario el resultado de la función ÍNDICE:

IF(ROW(A1)>3, "", INDEX(…))

Finalmente, la función IFERROR corrige un #REF. Error que ocurre cuando la fórmula se copia en más celdas de las realmente necesarias.

La segunda fórmula que convierte una columna en un rango 2D funciona con la misma lógica. La diferencia es que usas la combinación FILA + COLUMNA para calcular el número_fila argumento a favor del ÍNDICE. El número_columna El parámetro no es necesario en este caso ya que solo hay una columna en la matriz de origen.

Alternativa WRAPROWS para Excel 365 – 2010

Para ajustar los valores de una matriz unidimensional en filas en Excel 2019 y versiones anteriores, puede utilizar las siguientes alternativas a la función WRAPROWS.

Transforma una fila en un rango 2D:

SI ERROR (SI (COLUMNA (A1)>norte«», ÍNDICE(rango_fila, COLUMNA(A1)+(FILA(A1)-1)*norte)), «»)

Cambiar una columna a rango 2D:

SI ERROR (SI (COLUMNA (A1)>norte«», ÍNDICE(rango_columnaCOLUMNA(A1)+(FILA(A1)-1)*norte)), «»)

Dónde norte es el número máximo de valores por fila.

En nuestro conjunto de datos de muestra, utilizamos la siguiente fórmula para convertir un rango de una fila (D4:J4) en un rango de tres columnas. La fórmula llega a la celda D8 y luego se copia en 3 columnas y 3 filas.

=IFERROR(IF(COLUMN(A1)>3, "", INDEX($D$4:$J$4, , COLUMN(A1)+(ROW(A1)-1)*3)), "")

Para remodelar un rango de 1 columna (B4:B20) en un rango de 5 columnas, ingrese la siguiente fórmula en D14 y arrástrela a lo largo de 5 columnas y 4 filas.

=IFERROR(IF(COLUMN(A1)>5, "", INDEX($B$4:$B$20, COLUMN(A1)+(ROW(A1)-1)*5)), "")

En Excel 365, se pueden lograr los mismos resultados con las fórmulas WRAPCOLS equivalentes:

=WRAPROWS(D4:J4, 3, "")

y

=WRAPROWS(B4:B20, 5, "") Convertir columna/fila a matriz en Excel: funciones WRAPCOLS y WRAPROWS

Cómo funcionan estas fórmulas

Básicamente, estas fórmulas funcionan como en el ejemplo anterior. La diferencia está en cómo se determina el número_fila y número_columna coordenadas para la función ÍNDICE:

INDEX($D$4:$J$4,, COLUMN(A1)+(ROW(A1)-1)*3))

Para obtener el número de columna de la celda superior izquierda en el rango de destino (D8), utilice esta expresión:

COLUMN(A1)+(ROW(A1)-1)*3)

que cambia a:

1+(1-1)*3

y da 1.

Como resultado, la siguiente fórmula devuelve el valor de la primera columna de la matriz especificada, que es «Manzanas»:

INDEX($D$4:$J$4,, 1)

Hasta ahora, el resultado es el mismo que en el ejemplo anterior. Pero veamos qué pasa en otras células…

En la celda D9, las referencias relativas de celda cambian de la siguiente manera:

INDEX($D$4:$J$4,, COLUMN(A2)+(ROW(A2)-1)*3))

Entonces la fórmula se transforma en:

INDEX($D$4:$J$4,, 1+(2-1)*3))

se convierte en:

INDEX($D$4:$J$4,, 4))

y devuelve el valor de la cuarta columna de la matriz especificada, que es «Cerezas» en G4.

La función SI verifica el número de columna y si es mayor que el número de columnas que especificó, devuelve una cadena vacía («»), de lo contrario el resultado de la función ÍNDICE:

IF(COLUMN(A1)>3, "", INDEX(…))

Como toque final, ¡IFERROR evita #REF! Evite que aparezcan errores en celdas «adicionales» si copia la fórmula en más celdas de las realmente necesarias.

La función WRAPCOLS o WRAPROWS no funciona

Si las funciones de «ajustar» no están disponibles en su Excel o generan un error, lo más probable es que se deba a uno de los motivos siguientes.

#¿NOMBRE? error

En Excel 365, ¿un #NOMBRE? Puede producirse un error debido a que escribió mal el nombre de la función. En otras versiones indica que las funciones no son compatibles. Como solución alternativa, puede utilizar alternativa WRAPCOLS o alternativa WRAPROWS.

#¡VALOR! error

Se produce un error #VALOR si el vector El argumento no es una matriz unidimensional.

#¡NÚMERO! error

Se produce un error #NUM si el recuento_envoltura El valor es 0 o un número negativo.

#¡DERRAMAR! error

La mayoría de las veces, un error #SPILL indica que no hay suficientes celdas en blanco para distribuir los resultados. Limpia las celdas vecinas y desaparecerá. Si el error persiste, consulte qué significa #SPILL en Excel y cómo solucionarlo.

Así es como se utilizan las funciones WRAPCOLS y WRAPROWS para convertir un rango unidimensional en una matriz bidimensional en Excel. ¡Te agradezco por leer y espero verte en nuestro blog la próxima semana!

Libro de práctica para descargar.

Funciones WRAPCOLS y WRAPROWS: ejemplos (archivo .xlsx)

Usted también podría estar interesado en

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded






Convertir columna/fila a matriz en Excel: funciones WRAPCOLS y WRAPROWS

Convertir columna/fila a matriz en Excel: funciones WRAPCOLS y WRAPROWS

En Excel, a menudo surge la necesidad de convertir una columna o fila de datos a una matriz. Esta conversión puede facilitar el análisis y la manipulación de datos en una hoja de cálculo. Afortunadamente, Excel ofrece funciones específicas para esta tarea, conocidas como WRAPCOLS y WRAPROWS.

¿Qué son las funciones WRAPCOLS y WRAPROWS?

Las funciones WRAPCOLS y WRAPROWS son fórmulas de Excel que permiten convertir una columna o fila de datos en una matriz bidimensional. Estas funciones son especialmente útiles cuando se necesita trabajar con rangos de datos más complejos o realizar operaciones matemáticas avanzadas.

¿Cómo funcionan las funciones WRAPCOLS y WRAPROWS?

La función WRAPCOLS toma una columna de datos como argumento y devuelve una matriz de una sola columna con cada celda convertida en una matriz unidimensional. Por otro lado, la función WRAPROWS toma una fila de datos como argumento y devuelve una matriz de una sola fila con cada celda convertida en una matriz unidimensional.

¿Cuál es la sintaxis de las funciones WRAPCOLS y WRAPROWS?

La sintaxis básica de la función WRAPCOLS es:

=WRAPCOLS(rango)

La sintaxis básica de la función WRAPROWS es:

=WRAPROWS(rango)

Donde rango es el rango de celdas que deseas convertir en una matriz.

¿Cuáles son las aplicaciones prácticas de las funciones WRAPCOLS y WRAPROWS?

Las funciones WRAPCOLS y WRAPROWS pueden utilizarse en diversas situaciones, como:

  1. Realizar operaciones matemáticas complejas con una columna o fila de datos
  2. Crear una matriz que pueda ser utilizada en otras fórmulas o funciones de Excel
  3. Facilitar el análisis y la visualización de datos

Conclusión

En resumen, las funciones WRAPCOLS y WRAPROWS son herramientas poderosas en Excel que permiten convertir columnas y filas de datos en matrices bidimensionales. Estas funciones son útiles para tareas avanzadas de análisis y manipulación de datos. Si deseas aprender más sobre estas funciones y sus aplicaciones, te recomendamos consultar los siguientes recursos:


Deja un comentario