BUSCARX Devolver Múltiples Columnas

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á cómo devolver múltiples columnas utilizando BUSCARX en Excel. Si su versión de Excel no soporta BUSCARX, lea cómo devolver múltiples columnas usando BUSCARV en su lugar.

buscarx devolver multiples columnas

 

 

BUSCARX Devuelve Columnas Consecutivas

Una ventaja de la función BUSCARX es que puede devolver varias columnas consecutivas a la vez. Para ello, introduzca el rango de columnas consecutivas en la matriz de retorno, y devolverá todas las columnas.

=BUSCARX(F3;B3:B7;C3:D7)

buscarx devolver columnas consecutivas

 

Observe que aquí nuestra matriz de retorno es de dos columnas (C y D), y por lo tanto se devuelven 2 columnas.

BUSCARX-FILTRAR Devuelve Columnas No Consecutivas

Aunque la función BUSCARX puede devolver varias columnas consecutivas, no puede devolver columnas no adyacentes. Para devolver columnas no adyacentes, podemos utilizar la función FILTRAR.

=BUSCARX(F3;C3:C7;FILTRAR(B3:D7;{1,0,1}))

funciones buscarx filtrar

 

Repasemos la fórmula:

Función FILTRAR

La función FILTRAR se utiliza habitualmente para filtrar filas, pero también puede utilizarse para filtrar columnas. Para ello, introducimos una matriz horizontal de unos(1) (VERDADERO) y ceros(0) (FALSO) con el mismo número de columnas de la matriz de entrada (1er argumento). Las columnas que coinciden con ceros(0) se filtran mientras que las columnas que coinciden con 1s se devuelven.

=FILTRAR(B3:D7;{1,0,1})

funciones buscarx filtrar desglose paso1

 

Función BUSCARX

La salida de la función FILTRAR se utiliza como matriz de retorno de nuestro BUSCARX.

=BUSCARX(F3;C3:C7;H3:I7)

funciones buscarx filtrar desglose paso2

 

Combinando todas las funciones se obtiene nuestra fórmula original:

=BUSCARX(F3;C3:C7;FILTRAR(B3:D7;{1,0,1}))

BUSCARX-FILTRAR-CONTAR.SI – Devuelve las columnas no adyacentes

En lugar de seleccionar manualmente las columnas a filtrar, podemos utilizar la función CONTAR.SI para determinar automáticamente las columnas que se devolverán y filtrarán.

=BUSCARX(F3;C3:C7;FILTRAR(B3:D7;CONTAR.SI(G2:H2;B2:D2)))

funciones buscarx filtrar contarsi

 

Repasemos la fórmula:

Función CONTAR.SI

Primero, utilicemos la función CONTAR.SI para contar la instancia de cada cabecera de origen (por ejemplo, B2:D2) de las cabeceras de salida (por ejemplo, M2:N2).

=CONTAR.SI(M2:N2;B2:D2)

funciones buscarx filtrar contarsi desglose paso1

 

Función FILTRAR

El resultado del array de la función CONTAR.SI se utiliza entonces como condición de filtrado para filtrar las columnas.

=FILTRAR(B3:D7;H3:J3)

funciones buscarx filtrar contarsi desglose paso2

 

Función BUSCARX

Por último, podemos utilizar el resultado de la función FILTRAR en la función BUSCARX para devolver las columnas que queremos.

=BUSCARX(F3;C3:C7;K3:L7)

funciones buscarx filtrar contarsi desglose final

 

Combinando todas las funciones se obtiene nuestra fórmula original

=BUSCARX(F3;C3:C7;FILTRAR(B3:D7;CONTAR.SI(G2:H2;B2:D2)))

BUSCARX-ELEGIR Devuelve columnas en distinto orden

La fórmula BUSCARX-FILTRAR-CONTAR.SI puede devolver columnas no adyacentes, pero ¿qué pasa si queremos devolver alguna columna en un orden diferente? Para resolver esto, vamos a utilizar la función ELEGIR.

=BUSCARX(F3;B3:B7;ELEGIR({2,1};C3:C7;D3:D7))

funciones buscarx elegir

Repasemos la fórmula:

Función ELEGIR

En primer lugar, utilizamos la función ELEGIR para unir las columnas en un orden especificado en una matriz.

=ELEGIR({2,1};C3:C7;D3:D7)

funciones buscarx elegir desglose paso1

Nota: Introducimos las columnas que queremos por separado en la función ELEGIR(por ejemplo, C3:C7, D3:D7), y las ordenamos utilizando el índice_num (primer argumento).

Función BUSCARX

El array resultante de la Función ELEGIR se utiliza entonces como array de retorno.

=BUSCARX(F3;B3:B7;H3:I7)

funciones buscarx elegir desglose final

 

Combinando todas las funciones se obtiene nuestra fórmula original:

=BUSCARX(F3;B3:B7;ELEGIR({2,1};C3:C7;D3:D7))

BUSCARX-CHOOSECOLS Devuelve las columnas en diferente orden

La fórmula BUSCARX-ELEGIR se vuelve larga y tediosa si tenemos muchas columnas que devolver. Por suerte, hay una nueva función de matriz (actualmente en la versión BETA de Excel 365) que es más conveniente que la función ELEGIR- Función CHOOSECOLS.

=BUSCARX(F3,B3:B7,CHOOSECOLS(B3:D7,3,2))

xlookup choosecols Veamos la fórmula:

Función CHOOSECOLS

A diferencia de la Función ELEGIR donde unimos las columnas en un orden especificado, la Función CHOOSECOLS devuelve las columnas que seleccionamos en el orden que especificamos.

=CHOOSECOLS(B3:D7,3,2)

choosecols function

Nota: Los números que especificamos en los argumentos col_num (empezando por el argumento) son los números relativos de las columnas del array dado (por ejemplo, B3:D7).

Función BUSCARX

Finalmente, podemos utilizar la función BUSCARX con el resultado de la función CHOOSECOLS.

=BUSCARX(F3,B3:B7,H3:I7)

choosecols xalookup function

Combinando todas las funciones se obtiene nuestra fórmula original:

=BUSCARX(F3,B3:B7,CHOOSECOLS(B3:D7,3,2))

BUSCARX-CHOOSECOLS-COINCIDIR Devuelve las columnas en diferente orden

En lugar de seleccionar manualmente las columnas y su orden, podemos utilizar la función COINCIDIR para determinar automáticamente las columnas y su orden que requiere la tarea.

=BUSCARX(F3,B3:B7,CHOOSECOLS(B3:D7,COINCIDIR(G2:H2,B2:D2,0))

xlookup choosecols match Repasemos la fórmula:

Función COINCIDIR

En primer lugar, utilizamos la función COINCIDIR para determinar las posiciones relativas de las columnas de cada cabecera de salida a partir de las cabeceras de origen.

=COINCIDIR(L2:M2,B2:D2,0)

match function

Función CHOOSECOLS

Ahora que tenemos las posiciones de las columnas seleccionadas, podemos utilizar la función CHOOSECOLS para devolver las columnas seleccionadas en un array.

=CHOOSECOLS(B3:D7,H3:I3)

xlookup choosecols function

Función BUSCARX

El último paso es alimentar el resultado de la función CHOOSECOLS al array de retorno de la función BUSCARX.

=BUSCARX(F3,B3:B7,J3:K7)

xlookup choosecols match final

Combinando todas las funciones se obtiene nuestra fórmula original:

=BUSCARX(F3,B3:B7,CHOOSECOLS(B3:D7,COINCIDIR(G2:H2,B2:D2,0))

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