BUSCARX Doble (Anidado) – Columnas Dinámicas – Excel
Descargar el Libro de Ejemplo
Este tutorial demostrará cómo realizar un BUSCARX doble (anidado) en Excel. Si no tiene acceso a BUSCARX, puede realizar un BUSCARV anidado.
En escenarios donde un criterio de una tarea de búsqueda depende de otra búsqueda, podemos utilizar el BUSCARX doble (anidado) para realizar las búsquedas anidadas. Hay al menos tres argumentos en BUSCARX en los que podemos introducir otro BUSCARX: el valor de búsqueda (1er argumento), la matriz de búsqueda (2do argumento) y la matriz de retorno (3er argumento). Vamos a explorar cada uno de los casos.
BUSCARX en valor_buscado
Podemos anidar un BUSCARX en el valor_buscado de otro BUSCARX.
=BUSCARX(BUSCARX(E3;C3:C5;B3:B5);B8:B10;C8:C10)
Esto se hace cuando el valor_buscado (por ejemplo, el ID Producto) depende de otro valor (por ejemplo, el Nombre Producto). Veamos la fórmula: Primero, necesitamos extraer el valor_buscado requerido para el BUSCARX principal:
=BUSCARX(E3;C3:C5;B3:B5)
El resultado del 1er BUSCARX se introduce en el BUSCARX principal para realizar una búsqueda en la 2da tabla:
=BUSCARX(F3;B8:B10;C8:C10)
La combinación de estos dos procesos de búsqueda da como resultado nuestra fórmula original:
=BUSCARX(BUSCARX(E3;C3:C5;B3:B5);B8:B10;C8:C10)
BUSCARX en la matriz_buscada
Alternativamente, podemos utilizar un BUSCARX anidado para devolver la matriz_buscada
=BUSCARX(G3;BUSCARX(F3;B2:C2;B3:C5);D3:D5)
Una propiedad importante de la función BUSCARX es que puede devolver una matriz de 1 dimensión (vertical u horizontal) si la matriz de retorno dada está en 2 dimensiones (es decir, tabla). En este caso, si la matriz de búsqueda es una lista vertical, la función BUSCARX devolverá una fila, y si la matriz de búsqueda es una lista horizontal, devolverá una columna. Desglosemos y visualicemos la fórmula: En primer lugar, tenemos que realizar una búsqueda en las cabeceras (por ejemplo, cabeceras de columna (o fila)) y devolver la columna (o fila) correspondiente:
=BUSCARX(G3;B2:C2;B3:C5)
Como la matriz_devuelta es 2D (por ejemplo, B3:C5) y la matriz_buscada es una lista horizontal (por ejemplo, B2:C2), el BUSCARX devolverá una fila (por ejemplo, C3:C5). El array de salida de este BUSCARX se introduce en el array de búsqueda de nuestro BUXCARX principal:
Poniendo todo esto junto resulta nuestra fórmula original:
=BUSCARX(G3;BUSCARX(F3;B2:C2;B3:C5);D3:D5)
BUSCARX en matriz_devuelta
Del mismo modo, podemos utilizar un BUSCARX anidado para devolver una matriz_devuelta dinámica.
=BUSCARX(G3;B3:B5;BUSCARX(H3;C2:E2;C3:E5))
Desglosemos y visualicemos la fórmula: Utilizamos las cabeceras de las columnas como matriz de búsqueda para el primer BUSCARX:
=BUSCARX(G3;C2:E2;C3:E5)
Al igual que en la sección anterior, el BUSCARX devolverá una fila una vez que encuentre una coincidencia en las cabeceras de las columnas. El array de salida resultante se utiliza como matriz_devuelta de nuestro BUSCARX principal:
=BUSCARX(I3;B3:B5;H3:H5)
Combinando estos dos resultados a nuestra fórmula original
=BUSCARX(G3;B3:B5;BUSCARX(H3;C2:E2;C3:E5))