En VLOOKUP Es quizás una de las funciones más utilizadas en Google Sheets. Significa Búsqueda vertical. Busca un valor clave en la primera columna del rango de entrada y devuelve el valor de una celda especificada de la fila donde encuentra la clave. Puedes esperar un error si la clave no existe.
Sintaxis
- buscar_clave - es el valor que la función VLOOKUP utiliza para buscar.
- gama - es la referencia al rango de celdas sobre el que estamos realizando una búsqueda. La aplicación Google Sheets busca la clave en la primera columna del rango.
- índice - es el índice de la columna de la celda dentro del rango cuyo valor devuelve la función. El índice de la primera columna dentro del gama es 1, el segundo en el gama es 2 y así sucesivamente. Por ejemplo, si introducimos 3 en este parámetro, la función VLOOKUP devuelve el valor de la celda de la tercera columna y la fila en la que se encuentra la celda buscar_clave.
- [is_sorted] - es un parámetro opcional que es TRUE por defecto. Indica si la primera columna de la gama está ordenado de forma ascendente o no. Si no es así, debemos especificar el valor como FALSE.
Cómo utilizar la función VLOOKUP
Números de la primera columna
Probemos con algunos ejemplos. He aquí un conjunto de datos de prueba con cifras de ventas de un grupo de vendedores. Intentaré responder a varios escenarios de casos comerciales (columna D), utilizando VLOOKUP. Observarás cómo el valor del parámetro índice afecta al resultado.
Elegiré aquí un primer ejemplo para diseccionarlo y asegurarme de que comprendes el uso básico de la función. La fórmula =VLOOKUP(11876,A2:C11,2,FALSE) se utiliza para indicar a la función que busque el valor 11.876 dentro del rango de celdas de A2 a C11. Una vez que encuentra el valor, se le indica que devuelva los datos en la segunda columna de la fila en la que encontró los datos. El Falso indica que los datos no están ordenados, y que se desea una coincidencia exacta con la clave de búsqueda.
En el último caso (fila # 7 anterior) hay algo interesante. La función devuelve un error #N/A. ¿Por qué? Como se explica en la descripción del error, porque la cifra de ventas $15000 no existe en la primera fila. Como he especificado que quiero una coincidencia exacta (indicando False para el parámetro is_sorted), no puede devolver un valor apropiado.
El curioso caso de [is_sorted]
En los ejemplos, he elegido FALSE para el último parámetro, que indica a la función que busque una coincidencia exacta con la clave de búsqueda. Así es como se utiliza normalmente la función VLOOKUP. Pero, ¿qué ocurre cuando se utiliza True para buscar una coincidencia aproximada?
Aquí hay dos ejemplos en los que se utilizó VLOOKUP para encontrar a la persona con $12.000 de ventas. La primera función utiliza un is_sorted de False, que indica a la función que busque una coincidencia exacta. Como no hay ningún vendedor con exactamente $12.000 de ventas, la función devuelve un error.
El segundo ejemplo es idéntico salvo que utiliza True en su lugar, lo que indica a la función que los datos están ordenados y que debe encontrar una coincidencia aproximada. A continuación, la función intenta encontrar el número de ventas más cercano a $12.000 y devuelve el nombre del vendedor correspondiente: Finch.
Observe que el vendedor más cercano a $12.000 ventas es en realidad Gary. La función VLOOKUP encuentra una coincidencia aproximada encontrando el valor que está más cerca pero no más que la clave de búsqueda. Por lo tanto, aquí devuelve Finch, aunque Gary esté técnicamente más cerca de la clave de búsqueda. Es importante tener en cuenta esta característica, ya que podría afectar a los resultados al utilizar esta función.
Caso práctico: Cadenas ordenadas en la primera columna
Ahora que se está familiarizando con la función, probemos con un conjunto de datos de ejemplo en el que la primera columna tiene valores de cadena ordenados, como se muestra a continuación. Hay dos ejemplos para cada uno de los tres casos disponibles, pero con una distinción del parámetro is_sorted. Observe cómo se comporta la función VLOOKUP.
Puede ver que el valor TRUE o FALSE de is_sorted no afecta realmente al comportamiento cuando encuentra el parámetro buscar_clave dentro de la primera columna del intervalo. Pero se produce un hecho interesante cuando no encuentra una coincidencia exacta para la columna buscar_clave. En el caso de FALSE (fila # 8), buscaba una coincidencia exacta. Pero en el caso de TRUE (fila # 9), está buscando una coincidencia aproximada, y en lugar de Greg, devuelve la información de Gary. Este comportamiento puede o no ser deseable dependiendo de su situación.
Cadenas sin ordenar en la primera columna
Los datos para este caso son esencialmente los mismos que los utilizados anteriormente, excepto que hay cadenas no ordenadas en la primera columna.
A diferencia del ejemplo anterior, el uso de los valores TRUE y FALSE para el cuarto parámetro está generando resultados diferentes. Como los datos no están ordenados, la función no puede dar una coincidencia aproximada exacta. Cuando los datos no están ordenados, que los resultados son correctos sólo cuando utilicé FALSE para is_sorted.
¿Cuál es el resultado final?
Nunca mientas a Google Sheets en el is_sorted parámetro - si lo haces, ¡te devolverá el favor!
Varias coincidencias en la primera columna
Habrá ocasiones en las que encontrará varias instancias del mismo valor en la primera columna. En el ejemplo siguiente, Barry aparece dos veces. ¿Qué ocurre si utiliza la función VLOOKUP en este caso?
Como habrás notado, recoge al primer Barry que encuentra en la lista. Y el segundo Barry no se tiene en cuenta.
Inconvenientes de la función VLOOKUP
Esta fórmula plantea dos problemas:
- Para buscar buscar_clave, siempre utiliza la primera columna de la entrada gama. Así que no es posible con la función VLOOKUP obtener un valor de celda que esté a la izquierda de la columna de búsqueda.
- La función no es lo suficientemente dinámica, en el sentido de que los valores del índice de columna no se actualizan si insertamos una columna entre la entrada gama.
Hay una alternativa que resuelve los dos problemas anteriores. Consulte la explicación de la Combinación de las funciones INDEX y MATCH.
Nota del editor: Esta es una versión revisada de un post anterior que se ha actualizado para mayor precisión y exhaustividad.
