Imagen: 200dgr/Shutterstock

Las funciones de búsqueda de Microsoft Excel son poderosas pero a menudo se malinterpretan porque tienen algunos comportamientos que parecen un poco contrarios a lo que esperan los usuarios. Utiliza estas funciones cuando desea encontrar valores basados ​​en el valor de una celda coincidente. Gracias a la nueva función de matriz dinámica XLOOKUP(), ahora tiene más poder y menos confusión. En este artículo, compararemos BUSCARX() con BUSCARV() para que pueda ver cómo se destaca XBUSCAR() y comenzar a usarlo de inmediato.

VER: 83 trucos de Excel que todo usuario debe dominar (República Tecnológica)

Estoy usando Microsoft 365 en un sistema Windows 10 de 64 bits. Esta nueva característica está disponible en Microsoft 365 y Excel 2021, y Excel para la web. Para su comodidad, puede descargar el archivo de demostración .xlsx. Este artículo asume que tiene conocimientos básicos de Excel, pero incluso un principiante debería poder seguir las instrucciones para tener éxito.

Índice
  • Acerca de BUSCARX() en Excel
  • Una comparación rápida de BUSCARX() y BUSCARV()
  • Manténganse al tanto
  • Acerca de BUSCARX() en Excel

    XLOOKUP() es una de las muchas nuevas funciones de matrices dinámicas. Si alguna vez ha escrito una expresión usando Ctrl+Shift+Enter, ya sabe cómo funcionaba Excel con matrices dinámicas. Gracias a la nueva función de matriz dinámica, este tipo de expresiones son mucho más fáciles de crear y administrar porque puede ingresar la expresión como lo haría normalmente, con una simple entrada. Los resultados se derraman en las celdas a continuación, completando tanto como sea necesario para completar los cálculos de la expresión. Esto se llama el rango de volcado. Si ve un error de desbordamiento, el rango necesario para cumplir con la función no está disponible. Esto significa que puede usar una función para devolver varias columnas (o filas) de valores resultantes.

    XLOOKUP() devuelve datos en una tabla o rango por fila. Es posible que desee devolver el precio de un producto o el número de teléfono de un cliente. Usando XLOOKUP(), puede recuperar rápidamente información basada en un término de búsqueda en una celda coincidente.

    Estas son algunas de las actualizaciones de XLOOKUP:

    • XLOOKUP() admite búsquedas verticales y horizontales.
    • XLOOKUP() busca a la izquierda y a la derecha, así que no más reordenación de columnas.
    • XLOOKUP() admite referencias relativas para que pueda insertar y eliminar columnas (o filas) y la función se actualizará en consecuencia.
    • XLOOKUP() tiene como valor predeterminado una coincidencia exacta, que es el valor predeterminado preferido; Las funciones de búsqueda más antiguas muestran por defecto la coincidencia más cercana.
    • El nuevo modo de coincidencia de XLOOKUP() permite búsquedas más flexibles.

    VER: Windows 11: Consejos sobre instalación, seguridad y más (PDF gratuito) (República Tecnológica)

    Ahora veamos la sintaxis de esta función:

    BUSCARX(buscar_valor, buscar_matriz, devolver_matriz, [if_not_found], [match_mode], [search_mode])

    Los tres primeros argumentos son obligatorios:

    • valor_buscado: el término de búsqueda.
    • lookup_array: el rango de búsqueda (o datos de origen).
    • return_array: la matriz de retorno (o resultados).
    • if_not_found: texto devuelto cuando no se encuentra una coincidencia válida. Si se omite, la función devuelve #N/A.
    • match_mode: especifica el tipo de coincidencia. Ver Tabla A para valores apropiados y explicaciones.
    • search_mode: especifica el modo de búsqueda. Ver Tabla B para valores apropiados y explicaciones.

    Tabla A

    EvaluarExplicación
    0Encuentra una coincidencia exacta; devuelve #N/A si no se encuentra ninguno. Este es el valor predeterminado para el argumento.
    -1Encuentra una coincidencia exacta; devuelve el siguiente elemento más pequeño si no se encuentra ninguna coincidencia.
    1Encuentra una coincidencia exacta; devuelve el siguiente elemento superior si no se encuentra ninguna coincidencia.
    2Permitir coincidencias con comodines: *, ? y ~.

    Tabla B

    EvaluarExplicación
    1Inicie la búsqueda con el primer elemento. Este es el valor predeterminado para este argumento.
    -1Iniciar la búsqueda con el último elemento.
    2La búsqueda requiere que lookup_array se ordene en orden ascendente. Si no, la función devuelve resultados no válidos, no un error.
    -2La búsqueda requiere que lookup_array se ordene en orden descendente. Si no, la función devuelve resultados no válidos, no un error.

    Es mucha información, pero la mayor parte es similar a las antiguas funciones de búsqueda. Ahora pasemos a algunos ejemplos.

    Una comparación rápida de BUSCARX() y BUSCARV()

    BUSCARX() se puede usar para devolver un valor único, similar a BUSCARV(), pero usa argumentos diferentes. Comparemos las dos funciones usando el conjunto de datos en Figura A. Específicamente, devolveremos la ID y la fecha del empleado utilizando el valor del empleado como término de búsqueda (K1).

    Figura A

    Primero repasemos las funciones de identificación:

    K3:=BUSCARV($K$1,Tabla1[[Personnel]:[ID]],2)

    K4: BUSCARX($K$1,Tabla1[Personnel],Tabla 1[ID])

    Ambas funciones utilizan el valor de K1, Luke, como término de búsqueda. Lo más importante a mencionar es que la función BUSCARV() en K3 devuelve el valor incorrecto, mientras que la función BUSCARX() en K4 devuelve el valor correcto. BUSCARV() requiere un conjunto de datos ordenados, pero no BUSCARLEX(). XLOOKUP() devuelve el primer valor que coincide: la configuración predeterminada.

    Las funciones de L3 y L4 intentan devolver la fecha según el valor de búsqueda, Luke, usando las funciones

    L3:=BUSCARV($K$1,Tabla1[[Personnel]:[ID]],-1)

    L4: BUSCARX($K$1,Tabla1[Personnel],Tabla 1[Date])

    Probablemente esperaba el valor de error en L3 porque BUSCARV() no admite una búsqueda a la izquierda del valor de búsqueda; la función simplemente no entiende el argumento, -1. XLOOKUP() hace esto, y en lugar de usar un valor negativo, se está refiriendo a la columna real y nuevamente a la función no le importa que el conjunto de datos no esté ordenado. En este ejemplo simple, la clasificación de los datos no importaría, pero a veces necesita trabajar con el orden de los conjuntos de datos, por lo que este nuevo comportamiento es una gran actualización.

    Manténganse al tanto

    En este punto, puede comenzar a usar XLOOKUP() en lugar de las antiguas funciones de búsqueda, si lo desea. Tienes suficiente información para empezar. No se preocupe por reemplazar las antiguas funciones de búsqueda; Es poco probable que Microsoft recomiende en contra de ellos en un futuro próximo.

    En mi próximo artículo, usaremos funciones avanzadas para usar varios criterios con BUSCARX(). También aprenderemos a devolver varias columnas con una función BUSCARX().