En este tutorial, analizaremos en profundidad la función de Excel 365 llamada CHOOSEROWS y sus usos prácticos.
Suponga que tiene una hoja de cálculo de Excel con cientos de filas de las que desea extraer filas específicas, digamos todas las filas pares o impares, las primeras 5 o las últimas 10 filas, etc. ¿Ya te molesta la idea de copiar y pegar datos manualmente o escribir código VBA para automatizar la tarea? ¡No te preocupes! Todo es mucho más sencillo de lo que parece. Simplemente use la nueva función de matriz dinámica CHOOSEROWS.
La función ELEGIR de Excel
La función CHOOSEROWS en Excel se usa para extraer las filas especificadas de una matriz o rango.
La sintaxis es la siguiente:
ELEGIR(matriz, fila_num1, [row_num2]…)
Dónde:
Matriz (obligatorio) – la matriz de origen.
Fila_num1 (obligatorio): un número entero que representa el índice numérico de la primera fila que se va a devolver.
Fila_num2… (opcional) – números de índice de filas adicionales para devolver.
Así es como funciona la función CHOOSEROWS en Excel 365:
La función CHOOSEROWS solo está disponible en Excel para Microsoft 365 (Windows y Mac) y Excel para la web. Consejo. Para obtener columnas específicas de un rango o matriz, use la función CHOOSECOLS.Disponibilidad de la función CHOOSEROWS
Cómo usar la función CHOOSEROWS en Excel
Para extraer filas específicas de una matriz dada, construya una fórmula CHOOSEROWS como esta:
- Para matrizpuede proporcionar un rango de celdas o una matriz de valores determinados por otra fórmula.
- Para núm_fila, proporcione un entero positivo o negativo que indique qué fila devolver. Un número positivo toma una fila correspondiente desde el principio de la matriz, un número negativo, desde el final de la matriz. Se pueden proporcionar múltiples números de fila individualmente en argumentos separados o en un solo argumento en forma de constante de matriz.
Como una función de matriz dinámica de Excel, CHOOSEROWS maneja las matrices de forma nativa. Ingrese la fórmula en la celda superior izquierda del rango de destino y se desbordará automáticamente en tantas columnas y filas como sea necesario. El resultado es una sola matriz dinámica, también conocida como intervalo de drenaje.
Por ejemplo, para obtener las filas 2, 4, 6, 8 y 10 en el rango A4:D13, la fórmula es:
=CHOOSEROWS(A4:D13, 2, 4, 6, 8, 10)
Alternativamente, puede usar una constante de matriz como {2,4,6,8,10} o {2;4;6;8;10} para especificar las filas deseadas:
=CHOOSEROWS(A4:D13, {2,4,6,8,10})
O
=CHOOSEROWS(A4:D13, {2;4;6;8;10})
Otra forma de proporcionar los números de fila es ingresarlos en celdas separadas y luego usar referencias de celdas individuales para múltiples núm_fila argumentos o una referencia de rango para un solo núm_fila argumento.
P.ej:
=CHOOSEROWS(A4:D13, F4, G4, H4)
=CHOOSEROWS(A4:D13, F4:H4)
Una ventaja de este enfoque es que le permite extraer cualquier otra fila simplemente cambiando los números en las celdas predefinidas sin editar la fórmula en sí.
A continuación, analizamos algunos ejemplos de fórmulas CHOOSEROWS para manejar casos de uso más específicos.
Devuelve filas desde el final de una matriz
Para obtener rápidamente las últimas N filas de un rango, proporcione números negativos para núm_fila argumentos Esto obligará a la función a contar las filas desde el final de la matriz.
Por ejemplo, para obtener las últimas 3 filas en el rango A4:D13, use esta fórmula:
=CHOOSEROWS(A4:D13, -3, -2, -1)
El resultado será una matriz de 3 filas donde las filas aparecen en el mismo orden que en el rango especificado.
Para devolver las últimas 3 filas en orden inverso de abajo hacia arriba, invierta el orden núm_fila argumentos como este:
=CHOOSEROWS(A4:D13, -1, -2, -3)
Extraiga cada dos filas de una matriz en Excel
Para obtener filas alternas en un rango dado, use CHOOSEROWS en combinación con varias otras funciones. La fórmula variará ligeramente dependiendo de si está extrayendo filas pares o impares.
Regresar filas impares como 1, 3, 5, … la fórmula toma la siguiente forma:
=CHOOSEROWS(A4:D13, SEQUENCE(ROUNDUP(ROWS(A4:D13)/2, 0), 1, 1, 2))
Regresar incluso líneas como 2, 4, 6,… la fórmula es la siguiente:
=CHOOSEROWS(A4:D13, SEQUENCE(ROUNDDOWN(ROWS(A4:D13)/2, 0), 1, 2, 2))
Cómo funciona esta fórmula:
Básicamente, la función CHOOSEROWS devuelve filas en función de una matriz de números secuenciales pares o impares generados por la función SEQUENCE. A continuación se muestra un desglose detallado de la fórmula.
Primero, determine cuántas filas devolver. Para hacer esto, use la función FILAS para obtener el número total de filas en la matriz de referencia, que divide por 2, luego redondea el cociente hacia arriba o hacia abajo al número entero usando ROUNDUP o ROUNDDOWN. Como este número se reenviará más tarde a FILA argumento de SEQUENCE, se requiere el redondeo para obtener un número entero si el rango de origen contiene un número impar de filas.
Dado que nuestro rango de origen tiene un número par de filas (10) que es exactamente divisible por 2, tanto ROUNDUP(10/2, 0) como ROUNDDOWN(10/2, 0) devuelven el mismo resultado, que es 5.
El número devuelto se pasa a la función SEQUENCE.
Para filas impares:
SEQUENCE(5, 1, 1, 2)
Para filas pares:
SEQUENCE(5, 1, 2, 2)
La fórmula de SECUENCIA anterior produce una matriz de números que consta de 5 filas y 1 columna, comenzando en 1 para filas impares (desde 2 para filas pares) e incrementado en 2.
Para las filas impares, obtenemos esta matriz:
{1;3;5;7;9}
Para filas pares, obtenemos esto:
{2;4;6;8;10}
La matriz generada va a fila_num1 CHOOSEROWS argumento y obtener el resultado deseado:
=CHOOSEROWS(A4:D13, {1;3;5;7;9})
Invertir el orden de las filas en una matriz
Para voltear una matriz verticalmente de arriba a abajo, también puede usar las funciones CHOOSEROWS y SEQUENCE juntas. P.ej:
=CHOOSEROWS(A4:D13, SEQUENCE(ROWS(A4:D13))*-1)
En esta fórmula, establecemos solo el primer argumento (FILA) de SEQUENCE, que es igual al número total de filas en la matriz ROWS(A4:D13) original. Argumentos omitidos (columnas, comenzar, Escenario) por defecto es 1. Como resultado, SEQUENCE produce una matriz de números secuenciales como 1, 2, 3, …, n, donde norte es la última fila en la matriz de origen. Para CHOOSEROWS para contar filas en la dirección de abajo hacia arriba, la secuencia generada se multiplica por -1, por lo que núm_fila argumento recibe una matriz de números negativos, como {-1;-2;-3;-4;-5;-6;-7;-8;-9;-10}.
Como resultado, el orden de los elementos en cada columna cambia de arriba a abajo:
Extraer filas de múltiples matrices
Para obtener filas específicas de dos o más rangos no contiguos, primero combínelos usando la función VSTACK, luego pase el rango combinado a CHOOSEROWS.
Por ejemplo, para extraer las dos primeras filas del rango A4:D8 y las dos últimas filas del rango A12:D16, use esta fórmula:
=CHOOSEROWS(VSTACK(A4:D8, A12:D16), 1, 2, -2, -1)
Obtenga filas basadas en una cadena que contiene números de fila
Este ejemplo muestra cómo devolver filas específicas extrayendo números de una cadena alfanumérica.
Suponga que tiene números separados por comas en la celda G3 que enumeran las filas de interés. Para extraer números de línea de una cadena, use la función TEXTSPLIT que puede dividir una cadena de texto con un delimitador específico (coma en nuestro caso):
=TEXTSPLIT(G3, ",")
El resultado es una matriz de valores de texto, como {«3″,»5″,»7″,»10»}. Para convertirlo en una matriz de números, realice cualquier operación matemática que no cambie los valores, digamos +0 o *1.
=TEXTSPLIT(G3, ",") *1
Esto produce la constante de matriz numérica {3,5,7,10} que necesita la función CHOOSEROWS, así que incruste la fórmula TEXTSPLIT en 2cuando argumento:
=CHOOSEROWS(A4:D13, TEXTSPLIT(G3, ",") *1)
Como resultado, todas las filas especificadas se devuelven como una única matriz:
La función CHOOSEROWS no funciona
Si la fórmula CHOOSEROWS da como resultado un error, lo más probable es que se deba a uno de estos motivos.
#¡VALOR! error
Aparece si el valor absoluto de cualquier núm_fila argumento es cero o mayor que el número total de filas en la matriz.
#¿NOMBRE? error
Ocurre si el nombre de la función está mal escrito o si la función no se admite en Excel. CHOOSEROWS actualmente solo está disponible en Excel 365 y Excel para la web. Para obtener más detalles, lea Cómo corregir el error #NOMBRE en Excel.
#SPIL! error
Ocurre cuando no hay suficientes celdas vacías para llenar los resultados. Para solucionarlo, simplemente despeje las celdas que obstruyen. Para obtener más información, consulte el Excel #DERRAME! error.
Así es como se usa la función CHOOSEROWS en Excel para devolver filas específicas de un rango o matriz. ¡Gracias por leer y espero verte en nuestro blog la próxima semana!
Libro de ejercicios para descargar.
Fórmula de Excel ELIGE – ejemplos (archivo .xlsx)