Buscar datos con VLOOKUP
Si omites el último argumento de VLOOKUP, tanto Excel como Google Sheets hacen una coincidencia aproximada. Google recomienda escribir FALSE.
Una lista de precios con códigos
Una tienda guarda sus precios en una tabla pequeña: códigos en A2:A5, nombres de artículos en B2:B5 y precios en C2:C5. En la caja, alguien escribe un código y quiere saber el precio. Ese es el trabajo de VLOOKUP. Busca un valor en la primera columna de una tabla y devuelve algo de la misma fila. Microsoft enumera las cuatro piezas que necesita: el valor que se busca, el rango donde está, el número de columna de ese rango que contiene la respuesta y si quieres una coincidencia aproximada (TRUE) o exacta (FALSE). =VLOOKUP(104, A2:C5, 3, FALSE) encuentra 104 en la columna A y devuelve el precio de la tercera columna del rango.
Dos reglas causan la mayoría de los problemas. Primera: el valor tiene que estar en la primera columna del rango, y la respuesta, a su derecha. VLOOKUP nunca mira a la izquierda, así que si los códigos están en la columna B, el rango tiene que empezar en B. Segunda: el número de columna se cuenta desde la primera columna del rango, no desde la columna A de la hoja; en B2:D9, B es 1, C es 2 y D es 3. Las dos páginas de ayuda dan además el mismo consejo para las fórmulas copiadas. Haz el rango absoluto, como $A$2:$C$5, para que no se desplace al rellenar hacia abajo.
Cuando el código no está en la lista
Con FALSE, VLOOKUP busca exactamente el valor que le diste y devuelve la primera fila que coincide. Si no hay coincidencia, da #N/A. Un número de columna mayor que el número de columnas del rango da #REF!, y uno menor que 1 da #VALUE!. Las búsquedas de texto no distinguen mayúsculas, pero sí espacios: la ayuda de Google señala que " Apple", "Apple " y "Apple" son tres valores distintos. Un número guardado como texto también es distinto del número, así que un código escrito como '104 no se encuentra buscando 104.
Con coincidencia exacta, los comodines ? y * funcionan en los dos programas. ? sustituye a un carácter cualquiera y * a cualquier serie de caracteres, así que "Ora*" encuentra Orange. Cuando #N/A es un resultado normal, por ejemplo un código que aún no está en la lista de precios, envuelve la búsqueda en IFNA, que existe en los dos programas: =IFNA(VLOOKUP(E2, $A$2:$C$5, 3, FALSE), "not found"). IFERROR también sirve. Sin embargo, oculta cualquier tipo de error, incluido un número de columna equivocado que querrías ver, y la página de Microsoft sobre #VALUE! advierte sobre IFERROR por la misma razón.
Arrastra para girar. Desplaza o pellizca para acercar.
Buscar un tramo en lugar de un código exacto
TRUE, o no poner cuarto argumento, da una coincidencia aproximada, la opción por defecto en los dos programas. La ayuda de Google describe la búsqueda: baja por la primera columna hasta encontrar un valor mayor que la clave de búsqueda y entonces se queda en la fila anterior. Eso va bien para tramos. En una tabla de notas con 0, 60, 70, 80 y 90 en la primera columna, una puntuación de 85 pasa el 80, se encuentra con el 90 y devuelve B de la fila del 80. La primera columna tiene que estar ordenada de menor a mayor, y un valor por debajo de la primera fila devuelve #N/A. Con una columna sin ordenar la respuesta no es fiable, y por eso Google recomienda FALSE salvo que busques un rango.
Arrastra para girar. Desplaza o pellizca para acercar.
| Microsoft Excel | Google Sheets | |
|---|---|---|
| Nombre del 4.º argumento | range_lookup | is_sorted |
| Valor por defecto si se omite | TRUE (aproximada) | TRUE (aproximada) |
| Consejo de la página de ayuda | ordenar la primera columna o usar FALSE | se recomienda FALSE |
| XLOOKUP | Microsoft 365 y Excel 2021 en adelante; no en 2016 ni en 2019 | disponible |
| Fórmula ilegible | se rechaza con un mensaje | #ERROR! |
| Referencia circular | aviso y luego 0 o el último valor | #REF! |
| ROUND sin decimales | no se acepta | redondea a un número entero |
| Argumentos por función | hasta 255 | cualquier número |
Los dos programas tienen ahora también XLOOKUP. Recibe un rango de búsqueda y un rango de resultados aparte, así que la respuesta puede estar a la izquierda, y usa coincidencia exacta salvo que se le indique otra cosa. Microsoft señala que XLOOKUP no está disponible en Excel 2016 ni en Excel 2019, así que un archivo que tenga que abrirse en esas versiones debe seguir con VLOOKUP. La tabla de arriba reúne las diferencias entre los dos programas que han aparecido en este curso.
- Omitir FALSE al buscar un código. Por defecto la coincidencia es aproximada, así que un código que no está en la lista puede devolver el precio de la fila de encima en lugar de #N/A.
- Contar el número de columna desde la columna A de la hoja. Se cuenta desde la primera columna del rango. Con C2:F20, la columna E es la 3, no la 5.
- Rellenar una búsqueda hacia abajo sin $ en el rango. A2:C5 se desplaza a A3:C6, A4:C7 y así sucesivamente, y las filas de más abajo dejan de encontrar los códigos de la parte alta de la tabla.
- Envolver todas las búsquedas en IFERROR. Oculta un #REF! por un número de columna equivocado además del #N/A esperado. IFNA solo oculta #N/A.
- Códigos 101, 103, 104, 107 con los artículos Apple, Banana, Orange, Pear en A2:B5. ¿Qué devuelve =VLOOKUP(103, A2:B5, 2, FALSE)?
- Misma tabla. ¿Qué devuelve =VLOOKUP(102, A2:B5, 2, FALSE)?
- #N/A
- Apple
- Banana
- #REF!
- Misma tabla. ¿Qué devuelve =VLOOKUP(102, A2:B5, 2, TRUE)?
- Misma tabla. ¿Qué devuelve =VLOOKUP(103, A2:B5, 3, FALSE)?
- #REF!
- #N/A
- #VALUE!
- Banana
- El rango es C2:F20. ¿Qué número de columna devuelve valores de la columna E?
- Tabla de notas: 0 F, 60 D, 70 C, 80 B, 90 A. ¿Qué devuelve un VLOOKUP aproximado para 85?
- Misma tabla. ¿Qué devuelve para exactamente 90?
- ¿Qué pasa si se omite el cuarto argumento?
- Coincidencia aproximada en los dos programas
- Coincidencia exacta en los dos programas
- Exacta en Excel, aproximada en Sheets
- Un error
- ¿Por qué hay que escribir el rango de la tabla como $A$2:$C$5?
- Para que no se desplace al rellenar la fórmula hacia abajo
- Para que ordene la tabla
- Para que solo coincida con mayúsculas
- Para que devuelva texto
- Los artículos están en B2:B5 y los precios en C2:C5. ¿Qué devuelve =IFNA(VLOOKUP("Pencil", B2:C5, 2, FALSE), "not found")?
- ¿Qué versiones de Excel no tienen XLOOKUP?
- Excel 2016 y Excel 2019
- Microsoft 365
- Excel para la web
- Excel 2021
- VLOOKUP(valor, rango, número de columna, FALSE) para una coincidencia exacta.
- El valor tiene que estar en la primera columna; el número de columna se cuenta desde el rango.
- TRUE (o nada) es aproximada: la primera columna tiene que estar ordenada, y devuelve la última fila que no es mayor que el valor.
- Usa un rango absoluto, IFNA para el #N/A esperado y FALSE salvo que quieras tramos.
Fuentes de este curso (19)
- Microsoft Support, "Switch between relative, absolute, and mixed references" (support.microsoft.com/en-us/office/dfec08cd-ae65-4f56-839e-5f0d8d0baca9: $ before column and row, F4 to switch, copying two down and two right: $A$1 stays, A$1 to C$1, $A1 to $A3, A1 to C3)
- Microsoft Support, "AVERAGE function" (support.microsoft.com/en-us/office/047bac88-d466-426c-a32b-8f33eb960cf6: text, logical values and empty cells in a reference ignored, zeros included; 10, 7, 9, 27, 2 gives 11, with 5 gives 10; mean 5, median 4, mode 3 for 2 3 3 5 7 10)
- Microsoft Support, "COUNT function" (support.microsoft.com/en-us/office/a59cd7fc-b623-4d93-87a4-d23bf411294c: only numbers counted, dates count, errors and text do not)
- Microsoft Support, "ROUND function" (support.microsoft.com/en-us/office/c018c5d8-40fb-4053-90b1-b3e7f61a213c: num_digits required; 2.15 to 2.2, -1.475 to -1.48, 626.3 to 1000, 1.98 to 0, -50.55 to -100)
- Microsoft Support, "IF function" (support.microsoft.com/en-us/office/69aed7c9-4e8a-4755-a9bc-aa8bbff73be2: value_if_false optional, text in quotes except TRUE and FALSE, 0 and #NAME? problems)
- Microsoft Support, "VLOOKUP function" (support.microsoft.com/en-us/office/0bbc8083-26fe-4963-8ab8-93a18ad188a1: range_lookup TRUE by default, sorted first column, #N/A, #REF!, #VALUE!, absolute table range, wildcards with FALSE)
- Microsoft Support, "XLOOKUP function" (support.microsoft.com/en-us/office/b7fd680e-6d10-43e6-84f9-88eae8bf5929: not in Excel 2016 and Excel 2019, exact match by default)
- Microsoft Support, "How to correct a #VALUE! error" (support.microsoft.com/en-us/office/15e1b616-fbf2-4147-9c0b-0a11a20e409e: + and * may not calculate cells with text, use SUM instead, IFERROR hides all errors)
- Microsoft Support, "Excel specifications and limits" (15 digits, 64 nested levels, 255 arguments)
- Google Docs Editors Help, "VLOOKUP" (support.google.com/docs/answer/3093318: is_sorted TRUE by default, FALSE recommended, search down to a larger value, " Apple" and "Apple " differ, wildcards, IFNA, absolute range)
- Google Docs Editors Help, "XLOOKUP" (support.google.com/docs/answer/12405947)
- Google Docs Editors Help, "ROUND" (support.google.com/docs/answer/3093440: places optional, 0 by default, rounding by magnitude)
- Google Docs Editors Help, "IF" (support.google.com/docs/answer/3093364: order of the answers is the most common problem, IFS)
- Google Docs Editors Help, "AVERAGE" (support.google.com/docs/answer/3093615: text ignored, any number of arguments)
- Google Docs Editors Help, "COUNTA" (support.google.com/docs/answer/3093991: zero-length strings and spaces count)
- Google Docs Editors Help, "Keyboard shortcuts for Google Sheets" (support.google.com/docs/answer/181110: F4 and Fn+F4 while entering a formula, F4 as Redo)
- Pryor Learning and Exceljet (F4 cycle A1, $A$1, A$1, $A1; = comparison not case-sensitive)
- Ablebits (IF without value_if_false returns FALSE)
- Spreadsheet Class (Sheets circular dependency shows #REF!)
Fecha de consulta: 2026-10-19