BUSCARX Valores Duplicados

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on febrero 8, 2023
Descargar Libro de Ejemplo

Descargar el Libro de Ejemplo

Este tutorial demostrará como BUSCARX duplicar valores en Excel. Si su versión de Excel no soporta BUSCARX, lea cómo usar  BUSCARV para duplicar valores en su lugar.

buscarx valores duplicados

 

Búsqueda de valores duplicados

En Excel 365, buscar valores duplicados es más fácil gracias a la función FILTRAR. Primero demostraremos la función FILTRAR y luego cómo buscar valores duplicados con BUSCARX.

Con la función FILTRAR, sólo hay que introducir la matriz (por ejemplo, las notas) que queremos devolver y el rango de criterios (por ejemplo, el ID del estudiante) con los criterios (por ejemplo, 2021-A).

=FILTRAR(C3:C7;B3:B7=E2)

buscarx valores duplicados filtrar

 

También podemos anidar la función FILTRAR dentro de la función INDICE e introducir un número de fila (por ejemplo, F3) para devolver la enésima coincidencia que queramos en lugar de devolver todas las coincidencias.

=INDICE(FILTRAR(C3:C7;B3:B7=E3);F3)

buscarx valores duplicados indice filtrar

 

Los escenarios anteriores muestran la función FILTRAR como la solución más conveniente para ese tipo de problemas en Excel 365. Sin embargo, los escenarios de búsqueda que requieren una lista de valores de búsqueda a menudo se resuelven mejor a través de fórmulas BUSCARX porque podemos convertirlas en fórmulas de matriz dinámica, lo que las hace más flexibles que la Función FILTRAR.

Veamos primero la solución de matriz no dinámica para desglosar su funcionamiento antes de utilizar la matriz dinámica BUSCARX.

BUSCARX – Valores de búsqueda duplicados

Digamos que quieres buscar una lista de valores duplicados usando la función BUSCARX. Abajo, a la derecha, tenemos nuestros valores de búsqueda. A la izquierda tenemos la tabla de búsqueda. Queremos buscar cada valor duplicado y obtenerlo en filas separadas.

valores duplicados buscarx desglose paso1

 

Podemos utilizar la solución de fórmula de matriz no dinámica que se indica a continuación

=BUSCARX(F3&"-"&CONTAR.SI($F$3:F3;F3);$D$3:$D$7;$C$3:$C$7)

valores duplicados contarsi

 

Repasemos la fórmula:

ID único – CONTAR.SI

En primer lugar, unimos el ID original (por ejemplo, ID de estudiante) con la función CONTAR.SI para crear una lista de IDs únicos que distinguirá la primera entrada de un elemento de sus duplicados.

=B3&"-"&CONTAR.SI($B$3:B3;B3)

id unico

 

El bloqueo de una parte de la referencia del rango dentro de la función CONTAR.SI nos permite contar la aparición de un valor a medida que el rango se expande.

=CONTAR.SI($B$3:B3;B3)

contarsi n ocurrencia

 

Ahora, utilizamos el Operador & para unir la Función CONTAR.SI al ID original. También añadimos un separador (por ejemplo, «-«).

=B3&"-"&D3

contarsi n ocurrencia idunico

 

Combinando todo junto se obtiene nuestra fórmula de identificación única:

=B3&"-"&CONTAR.SI($B$3:B3;B3)

Valores de búsqueda duplicados – Enésima coincidencia

Al igual que con el ID original, también necesitamos crear una lista de IDs únicos para los valores de búsqueda. Aplicando el mismo método:

=G3&"-"&CONTAR.SI($G$3:G3;G3)

valores de busqueda duplicados

 

Función BUSCARX

Ahora, introducimos la nueva matriz de búsqueda y la lista de valores de búsqueda en la función BUSCARX:

=BUSCARX(H3;$E$3:$E$7;$C$3:$C$7)

valores de busqueda duplicados buscarx

 

BUSCARX – Valores de búsqueda duplicados (matriz dinámica)

En lugar de añadir nuevas columnas y copiar o arrastrar fórmulas, podemos convertir las fórmulas BUSCARX anteriores en una fórmula de matriz dinámica que pueda generar la misma salida. Así es como se ve:

=BUSCARX(E3:E7&"-"&CONTAR.SI(DESREF(E3;0;0;SECUENCIA(FILAS(E3:E7)));E3:E7);
         B3:B7&"-"&CONTAR.SI(DESREF(B3;0;0;SECUENCIA(FILAS(B3:B7)));B3:B7);
         C3:C7)

buscarx valores duplicados array dinámico

 

Repasemos la fórmula anterior: Al igual que con el método anterior, primero necesitamos crear una lista de IDs únicos utilizando la función CONTAR.SI. El reto sería cómo crear una fórmula de array que genere un array de referencias de rango (por ejemplo, B3, B3:B4, B3:B5 y así sucesivamente).

Fórmula DESREF-SECUENCIA-FILAS 

Podemos utilizar la combinación de las funciones DESREF, SECUENCIA y FILAS para devolver un array de referencias de rango. Empecemos con la lista del array de búsqueda (por ejemplo, B3:B7):

=DESREF(B3;0;0;SECUENCIA(FILAS(B3:B7))

Nota: La fórmula anterior no funcionará por sí sola. Excel no puede devolver una matriz de rangos o matrices, pero sí puede evaluarla como veremos más adelante.

Función FILAS

Primero, necesitamos determinar el número total de filas usando la función FILAS.

=FILAS(B3:B7)

array dinamico función filas

 

Función SEQUENCIA

A continuación, introducimos el resultado de la Función FILAS en la Función SECUENCIA para generar una lista de números de conteo, que también representa el número de celdas por rango en la matriz de rangos.

=SECUENCIA(C2)

array dinamico función secuencia

 

Fórmula DESREF de la matriz

A continuación, introducimos los resultados de la Función SECUENCIA en la altura (4to argumento) de la Función DESREF para construir los rangos.

=DESREF(B3;0;0;C3:C7)

array dinamico función desref

Como se mencionó anteriormente, esto no funcionará, pero así es como se supone que debe ser el array de rangos:

array dinamico función rangos

 

Empezamos con B3 y lo ampliamos para cada altura (por ejemplo, C3:C7).

Nota: DESREF es una función volátil, lo que significa que recalcula cada vez que hay un cambio en la hoja de cálculo aunque no esté relacionado con las entradas del propio DESREF.

Función CONTAR.SI de la matriz

Ahora que tenemos un array de rangos, lo introducimos en la función CONTAR.SI y devolvemos un array de enésimas ocurrencias.

=CONTAR.SI(DESREF(B3;0;0;C3:C7);B3:B7)

array dinamico función contarsi

Array ID Único

Por último, concatenamos la salida del array de la función CONTAR.SI con el array de búsqueda (por ejemplo, B3:B7) para generar el array de IDs únicos.

=B3:B7&"-"&F3:F7

array dinamico función idúnico

 

La combinación de todas las funciones da como resultado nuestra matriz de ID únicos Fórmula:

=B3:B7&"-"&CONTAR.SI(DESREF(B3;0;0;SECUENCIA(FILAS(B3:B7)));B3:B7)

También hacemos lo mismo con los valores de búsqueda:

=I3:I7&"-"&CONTAR.SI(DESREF(I3:I7;0;0;SECUENCIA(FILAS(I3:I7)));I3:I7)

array dinamico función nueva búsqueda

Combinando todo el resultado es nuestra fórmula original de la matriz:

=BUSCARX(E3:E7&"-"&CONTAR.SI(DESREF(E3;0;0;SECUENCIA(FILAS(E3:E7)));E3:E7);
         B3:B7&"-"&CONTAR.SI(DESREF(B3;0;0;SECUENCIA(FILAS(B3:B7)));B3:B7);
         C3:C7)

AI Formula Generator

Pruébelo Gratis

Excel Practice Worksheet

practice excel worksheet

Practice Excel functions and formulas with our 100% free practice worksheets!

  • Automatically Graded Exercises
  • Learn Excel, Inside Excel!

Free Download

Volver a la Lista de Fórmulas de Excel