Cómo encontrar la enésima ocurrencia en Excel

Anonim

Con BUSCARV siempre obtenemos la primera coincidencia. Lo mismo ocurre con la función COINCIDIR ÍNDICE. Entonces, ¿cómo hacemos BUSCARV en segundo lugar o tercero o enésimo? En este artículo, aprenderemos cómo obtener la enésima aparición de un valor en el rango.

Fórmula genérica

{= PEQUEÑO (SI (rango = valor,HILERA(distancia)-HILERA(first_cell_in_range)+1),norte)}

Nota: esta es una fórmula de matriz. Debe ingresarlo con CTRL + MAYÚS + ENTRAR.

Distancia: el rango en el que desea buscar nortela posición de valor.

Valor: el valor de lo que estás buscando norteth posición en eldistancia.

First_cell_in_range: la primera celda en eldistancia. Si el rango es A2: A10, la primera celda del rango es A2.

norte: los ocurrencia número de valores.

Veamos un ejemplo para aclarar las cosas.

Ejemplo: encontrar la segunda coincidencia en Excel
Así que aquí tengo esta lista de nombres en el rango de Excel A2: A10. He nombrado este rango como nombres. Ahora quiero obtener la posición de la segunda aparición de "Rony" en nombres.

En la imagen de arriba, podemos ver que está en la séptima posición en el rango A2: A10 (nombres). Ahora necesitamos obtener su posición usando una fórmula de Excel.
Aplique la fórmula genérica anterior en C2 para buscar la segunda aparición de Rony en la lista.

{= PEQUEÑO (SI (nombres = "Rony" ,HILERA(nombres)-HILERA(A2)+1),2)}

Introdúzcalo con CTRL + MAYÚS + ENTRAR…

Y tenemos una respuesta. Muestra 7, lo cual es correcto. Si cambia el valor de n a 3, dará 8. Si cambia el valor de n mayor que la ocurrencia del valor en el rango, devolverá el error #NUM.

¿Como funciona?
Bueno, es bastante fácil. Veamos cada parte una por una.

SI(nombres = "Rony" ,HILERA(nombres)-HILERA(A2)+1) :
En IF, names = "Rony" devuelve una matriz de VERDADERO y FALSO. VERDADERO siempre que una celda esté dentro del rango nombres (A2: A10) coincide con "Rony". {VERDADERO; FALSO; FALSO; FALSO; FALSO; FALSO; VERDADERO; VERDADERO; FALSO}.

Siguiente FILA (nombres)-HILERA(A2)+1:

HILERA(nombres): aquí la función FILA devuelve el número de fila de cada celda en los nombres. {2; 3; 4; 5; 6; 7; 8; 9; 10}.

HILERA(nombres)-HILERA(A2)Luego restamos el número de fila de A2 de cada valor en la matriz dada. Esto nos da una matriz de números de serie a partir de 0. {0; 1; 2; 3; 4; 5; 6; 7; 8}.

HILERA(nombres)-HILERA(A2)+1: Para obtener números de serie a partir de 1, agregamos 1 a cada valor en esta matriz. Esto nos da el número de serie a partir de 1. {1; 2; 3; 4; 5; 6; 7; 8; 9}.

Ahora tenemos SI ({VERDADERO; FALSO; FALSO; FALSO; FALSO; FALSO; VERDADERO; VERDADERO; FALSO}, {1; 2; 3; 4; 5; 6; 7; 8; 9}). Esto resuelve {1; FALSO; FALSO; FALSO; FALSO; FALSO; 7; 8; FALSO}.

Ahora tenemos la fórmula resuelta a PEQUEÑA ({1; FALSO; FALSO; FALSO; FALSO; FALSO;7;8;FALSO},2). Ahora PEQUEÑO devuelve el segundo valor más pequeño del rango, que es 7.

¿Cómo lo usamos?
Llega la pregunta: ¿cuál es el beneficio de obtener un índice bruto de la enésima coincidencia? Sería más útil si pudiera recuperar información relacionada del valor n. Bueno, eso también se puede hacer. Si queremos obtener el valor del valor de la enésima coincidencia de la celda adyacente en el rango nombres (A2: A10).

{= ÍNDICE (B2: B10, PEQUEÑO (SI (nombres = "Rony" ,HILERA(nombres)-HILERA(A2)+1),2))}

Así que sí, chicos, así es como pueden obtener la enésima coincidencia en un rango. Espero haber sido lo suficientemente explicativo. Si tiene alguna duda con respecto a este artículo o cualquier otro tema relacionado con Excel / VBA, escriba en la sección de comentarios a continuación.

Cómo obtener el número de fila secuencial en Excel

Vlookup Top 5 valores con valores duplicados usando INDEX-MATCH en Excel

VLOOKUP Varios valores

Utilice ÍNDICE y COINCIDIR para buscar valor

Valor de búsqueda con varios criterios

Articulos populares:

La función BUSCARV en Excel

CONTAR.SI en Excel 2016

Cómo usar la función SUMIF en Excel