Cómo devolver un valor a la izquierda de la columna de búsqueda de BUSCARV

Índice
  1. Descripción general
  2. FÓSFORO
  3. ÍNDICE
  4. Notas

Si alguna vez ha intentado devolver un valor que se encuentra físicamente a la izquierda de la columna de búsqueda, rápidamente se dará cuenta de que esta tarea es difícil de realizar con la función BUSCARV. Este es un momento perfecto para ir más allá de la función BUSCARV y explorar las funciones ÍNDICE y COINCIDIR.

Nota: dependiendo de tu versión de Excel, es posible que tengas BUSCAR XL como opción… más información aquí: https://www.excel-university.com/xlookup/

Descripción general

Considere la siguiente captura de pantalla.

20130829d

Estamos intentando completar la columna CustName del informe. Nos gustaría buscar el CustID en la tabla Clientes y devolver el CustName. El problema es que en el rango de búsqueda, la columna CustName se encuentra a la izquierda de la columna CustID. Es decir, la columna de retorno se encuentra a la izquierda de la columna de búsqueda. BUSCARV es para la derecha, no se puede ir a la izquierda.*

Y esto nos lleva a la razón por la que estamos aquí, para acostumbrarnos a usar la combinación ÍNDICE/COINCIDIR para devolver valores que se encuentran a la izquierda de la columna de búsqueda. Pero espera hay mas. Además de poder devolver valores a la izquierda, esta combinación no sufre otra limitación común de la función BUSCARV. Cuando el tercer argumento de BUSCARV se expresa como un valor entero estático, como 3, una columna insertada entre la columna de búsqueda y la columna de retorno interrumpirá la función. Dado que el tercer argumento se expresa como un número entero, no se adaptará a las inserciones de columnas cuando se inserte entre las columnas de búsqueda y retorno. La combinación INDEX/MATCH no sufre esta limitación. Dado que los argumentos son referencias de rango, Excel ajusta las fórmulas para dar cabida a las inserciones de columnas. Muy bien, basta de hablar, vamos a ello.

FÓSFORO

Veámoslos uno por uno. La función COINCIDIR devuelve la posición relativa de un elemento de la lista. Si le pidiéramos a Excel que COINCIDiera “Jun” en una lista de abreviaturas de meses, devolvería 6. “Abr” devolvería 4. Esta idea se ilustra en la siguiente captura de pantalla.

20130829a

La sintaxis de la función COINCIDIR es la siguiente:

=COINCIDIR(valor_buscado,matriz_buscada,[tipo_coincidencia])

Dónde :

  • valor_buscado es el valor que estamos tratando de encontrar
  • lookup_array es donde estamos buscando
  • [match_type] suele ser 0 para una coincidencia exacta, pero hay otras opciones para explorar aquí

En nuestra captura de pantalla, usamos la siguiente función para devolver la posición relativa del nombre del mes:

=COINCIDIR(C6,B11:B22,0)

Estamos intentando encontrar la posición relativa de nuestro mes (C6), en la lista de abreviaturas de meses (B11:B22), y cero para una coincidencia exacta.

Solo recuerde, la función COINCIDIR devuelve la posición relativa de un elemento de la lista.

ÍNDICE

La función ÍNDICE devuelve el valor de la celda de un rango en una posición determinada. Técnicamente, hace mucho más que eso, pero como recién estamos calentando, sigamos con esa idea: devuelve un valor de celda de una lista en una posición determinada.

La sintaxis de la función ÍNDICE es la siguiente:

= ÍNDICE (matriz, núm_fila, [núm_columna])

Dónde :

  • matriz es el rango que tiene el valor que desea devolver
  • row_num es la posición relativa de la fila que tiene el valor que desea devolver
  • [column_num] es el número de columna opcional, útil al realizar búsquedas bidimensionales

Lo que haremos es usar la función ÍNDICE para devolver un valor de celda, y anidaremos la función COINCIDIR allí para que pueda indicarle a la función ÍNDICE qué fila tiene el valor que queremos. Nuestra fórmula ÍNDICE/COINCIDENCIA se verá así:

= ÍNDICE (matriz, COINCIDIR (...))

Donde la función COINCIDIR descubre el argumento del número de fila. La función COINCIDIR devuelve el número de fila relativo a la función ÍNDICE.

Considere la siguiente captura de pantalla:

20130829e

Usamos la función ÍNDICE para devolver un valor de la columna CustName. Para el argumento num_fila, utilizamos la función COINCIDIR para determinar la posición relativa del CustID dentro de la columna CustID.**

La fórmula utilizada en C7 es:

=ÍNDICE($B$16:$B$27,COINCIDENCIA(B7,$C$16:$C$27,0))

Dónde :

  • $B$16:$B$27 es la lista que contiene el valor que deseamos devolver, la columna CustName
  • MATCH(B7,$C$16:$C$27,0) determina la fila para la función ÍNDICE
  • Dónde :
  • B7 es el valor que estamos intentando encontrar, nuestro CustID
  • $C$16:$C$27 es donde estamos buscando, la columna CustID
  • 0 significa coincidencia exacta

La combinación INDEX/MATCH es bastante útil y se puede utilizar para devolver valores que se encuentran a la izquierda de la columna de búsqueda.

Si quieres jugar un poco con estas funciones, no dudes en descargar el archivo IndexMatch Excel que se utilizó para preparar las capturas de pantalla de esta publicación:

Coincidencia de índice

Notas

* Hay una manera muy creativa de hacer que la función BUSCARV vaya a la izquierda, que es usar la función ELEGIR como segundo argumento. ¡Guau, cuando leí la publicación de Richard Schollar en el sitio de Bill Jelen, quedé muy impresionado! ¡Bien hecho!

** Lo que a menudo puede resultar confuso para quienes realizan BUSCARV desde hace mucho tiempo es el orden de los argumentos. BUSCARV comienza con el valor que estamos intentando encontrar. Pensamos en la función BUSCARV de esta manera: ve a buscar esto, coma, aquí, coma, devuelve esto. Cuando se utiliza la combinación ÍNDICE/COINCIDENCIA, el pensamiento se invierte. Primero especificamos la columna que tiene el valor que deseamos devolver. El pensamiento es el siguiente: desde esta columna, devuelva este valor.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Este sitio web utiliza cookies para mejorar la experiencia del usuario y garantizar un funcionamiento eficiente. Al utilizar nuestro sitio web, aceptas todas las cookies de acuerdo con nuestra política de cookies. Leer mas...