Tabla de contenido
El tutorial explica cómo hacer que Excel VLOOKUP distinga entre mayúsculas y minúsculas, muestra algunas otras fórmulas que distinguen entre mayúsculas y minúsculas y señala los puntos fuertes y las limitaciones de cada función.
Supongo que todos los usuarios de Excel saben qué función realiza una búsqueda vertical en Excel. Correcto, es VLOOKUP. Sin embargo, muy pocas personas saben que VLOOKUP de Excel no distingue entre mayúsculas y minúsculas, lo que significa que trata las letras minúsculas y MAYÚSCULAS como los mismos caracteres.
He aquí un ejemplo rápido que demuestra la incapacidad de VLOOKUP para distinguir entre mayúsculas y minúsculas. Supongamos que tiene "bill" en la celda A2 y "Bill" en A4. La siguiente fórmula atrapará "bill" porque viene primero en la matriz de búsqueda y devolverá un valor coincidente de B2.
=VLOOKUP("Factura", A2:B4, 2, FALSE)
Más adelante en este artículo, le mostraré una forma de hacer que VLOOKUP distinga entre mayúsculas y minúsculas. También exploraremos algunas otras funciones que pueden hacer coincidir mayúsculas y minúsculas en Excel.
Fórmula VLOOKUP que distingue mayúsculas de minúsculas
Como se mencionó anteriormente, una fórmula VLOOKUP habitual no reconoce las mayúsculas y minúsculas. Sin embargo, hay una manera de hacer que Excel VLOOKUP distinga entre mayúsculas y minúsculas, como se demuestra en el siguiente ejemplo.
Suponga que tiene Identificación de artículos en la columna A y desea extraer el precio y el comentario del artículo de las columnas B y C. El problema es que los ID incluyen tanto caracteres en minúsculas como en mayúsculas. Por ejemplo, los valores de A4 (001Tvci3u) y A5 (001Tvci3U) sólo difieren en el último carácter, "u" y "U", respectivamente.
Al buscar "001Tvci3 U ", una fórmula VLOOKUP estándar da como resultado $90 que está asociado con "001Tvci3 u " porque viene antes de "001Tvci3 U "Pero esto no es lo que quieres, ¿verdad?
=VLOOKUP(F2, A2:C7, 2, FALSE)
Para realizar una búsqueda con distinción entre mayúsculas y minúsculas en Excel, combinamos las funciones VLOOKUP, CHOOSE y EXACT:
VLOOKUP(TRUE, CHOOSE({1,2}, EXACT( buscar_valor , matriz_de_busqueda ), matriz_de_devolución ), 2, 0)Esta fórmula genérica funciona perfectamente en todas las situaciones. Incluso puede buscar de derecha a izquierda Felicitaciones a Pouriya por sugerir esta solución sencilla y elegante.
En nuestro caso, las fórmulas reales son las siguientes.
Para tirar del precio en F3:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), B2:B7), 2, FALSE)
Para buscar el comentario F4:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7), 2, FALSE)
Nota. En todas las versiones de Excel que no sean Excel 365, esto sólo funciona como una fórmula de matriz, así que recuerde pulsar Ctrl + Mayús + Intro para completarla correctamente. En Excel 365, debido a la compatibilidad con matrices dinámicas, también funciona como una fórmula normal.
Cómo funciona esta fórmula:
La parte central que hace el truco es la fórmula CHOOSE con EXACT anidado:
CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7)
En este caso, la función EXACT compara el valor de F2 con cada valor de A2:A7 y devuelve TRUE si son exactamente iguales, incluidas las mayúsculas y minúsculas, y FALSE en caso contrario:
{FALSO;FALSO;FALSO;VERDADERO;FALSO;FALSO}
Para el número_índice de ELEGIR, utilizamos la constante de matriz {1,2}. Como resultado, la función combina los valores lógicos de la matriz anterior y los valores de C2:C7 en una matriz bidimensional como ésta:
{FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}
La función VLOOKUP parte de ahí y busca el valor de búsqueda (que es TRUE) en la 1ª columna de la matriz bidimensional (representada por los valores lógicos) y devuelve una coincidencia de la 2ª columna, que es el precio que estamos buscando:
VLOOKUP(TRUE, {FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}, 2, 0)
Fórmula XLOOKUP que distingue mayúsculas de minúsculas
Los suscriptores de Microsoft 365 pueden hacer una búsqueda con distinción entre mayúsculas y minúsculas en Excel con una fórmula aún más sencilla. Como puedes adivinar, estoy hablando de un sucesor más potente de VLOOKUP: la función XLOOKUP.
Dado que XLOOKUP opera sobre matrices de búsqueda y de retorno por separado, no necesitamos el truco de la matriz bidimensional del ejemplo anterior. Simplemente, utilice EXACT para la variable matriz_de_busqueda argumento:
XLOOKUP(TRUE, EXACT( buscar_valor , matriz_de_busqueda ), matriz_de_devolución No encontrado")El último argumento ("No encontrado") es opcional. Sólo define qué valor devolver si no se encuentra ninguna coincidencia. Si lo omite, se devolverá un error estándar #N/A en caso de que la fórmula no encuentre nada.
Para nuestra tabla de ejemplo, éstas son las fórmulas XLOOKUP que hay que utilizar y que distinguen entre mayúsculas y minúsculas.
Para obtener el precio en F3:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), B2:B7, "No encontrado")
Para extraer el comentario F4:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), C2:C7, "No encontrado")
Cómo funciona esta fórmula:
Al igual que en el ejemplo anterior, EXACT devuelve una matriz de valores TRUE y FALSE, donde TRUE representa las coincidencias que distinguen entre mayúsculas y minúsculas. XLOOKUP busca en la matriz anterior el valor TRUE y devuelve una coincidencia de la variable matriz_de_devolución Tenga en cuenta que si hay dos o más valores exactamente iguales en la columna de búsqueda (incluidas las mayúsculas y minúsculas), la fórmula devolverá la primera coincidencia encontrada.
Limitación XLOOKUP : disponible sólo en Excel 365 y Excel 2021.
SUMPRODUCT - búsqueda sensible a mayúsculas y minúsculas para devolver números coincidentes
Como comprenderá por el título, SUMPRODUCT es otra función de Excel que puede realizar una búsqueda distinguiendo mayúsculas de minúsculas, pero puede devolver valores numéricos Si éste no es su caso, pase al ejemplo INDEX MATCH, que ofrece una solución para todos los tipos de datos.
Como probablemente sabes, SUMPRODUCT de Excel multiplica los componentes en las matrices especificadas y devuelve la suma de los productos. Como queremos una búsqueda sensible a mayúsculas y minúsculas, utilizamos la función EXACT para obtener la primera matriz:
=SUMPRODUCTO((EXACTO(A2:A7,F2) * (B2:B7)))
Lamentablemente, la función SUMPRODUCT no puede devolver coincidencias de texto, ya que los valores de texto no se pueden multiplicar. En este caso, obtendrá un error #¡VALOR! como en la celda F4 de la captura de pantalla siguiente:
Cómo funciona esta fórmula:
Como en el ejemplo VLOOKUP, la función EXACT comprueba el valor en F2 con todos los valores en A2:A7 y devuelve TRUE para coincidencias sensibles a mayúsculas/minúsculas, FALSE en caso contrario:
SUMPRODUCTO(({FALSO;FALSO;FALSO;VERDADERO;FALSO;FALSO}*{155;186;90;54;159;28}))
En la mayoría de las fórmulas, Excel evalúa VERDADERO a 1 y FALSO a 0. Así, cuando SUMPRODUCTO multiplica los elementos de las dos matrices en las mismas posiciones, todas las no coincidencias (FALSO) se convierten en ceros:
SUMPRODUCT({0;0;0;54;0;0})
Como resultado, la fórmula devuelve un número de la columna B que corresponde a la coincidencia exacta entre mayúsculas y minúsculas de la columna A.
Limitación SUMPRODUCTO sólo puede devolver valores numéricos.
INDEX MATCH - búsqueda sensible a mayúsculas y minúsculas para todos los tipos de datos
Por fin, estamos cerca de conseguir una fórmula de búsqueda sin limitaciones que distinga entre mayúsculas y minúsculas y que funcione en todas las versiones de Excel y en todos los conjuntos de datos.
Este ejemplo viene en último lugar no sólo porque lo mejor se guarda para el final, sino también porque los conocimientos que ha adquirido en los ejemplos anteriores pueden ayudarle a comprender mejor la fórmula MATCH INDEX que distingue mayúsculas de minúsculas.
La combinación de las funciones INDEX y MATCH se utiliza a menudo en Excel como una alternativa más flexible y versátil a VLOOKUP. El siguiente artículo hace un buen trabajo (esperemos :) explicando cómo estas dos funciones trabajan juntas - Uso de INDEX MATCH en lugar de VLOOKUP.
Aquí me limitaré a recordarles los puntos clave:
- La función MATCH busca el valor de búsqueda en la matriz de búsqueda especificada y devuelve su posición relativa.
- La posición relativa del valor de búsqueda va directamente a la casilla número_de_fila de la función INDEX indicándole que devuelva un valor de esa fila.
Para que la fórmula reconozca las mayúsculas y minúsculas, basta con añadir una función más a la combinación clásica INDEX MATCH. Obviamente, se necesita de nuevo la función EXACT:
ÍNDICE( matriz_de_devolución MATCH(TRUE, EXACT( buscar_valor , matriz_de_busqueda ), 0))La fórmula real en F3 es:
=INDEX(B2:B7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
En F4, utilizamos éste:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Recuerde que sólo funciona como una fórmula de matriz en todas las versiones distintas de Excel 365, así que asegúrese de introducirla pulsando a la vez las teclas Ctrl + Mayús + Intro. Si se hace correctamente, la fórmula quedará encerrada entre llaves como se muestra en la captura de pantalla siguiente:
Cómo funciona esta fórmula:
Como en todos los ejemplos anteriores, EXACT devuelve TRUE para cada valor de A2:A7 que coincida exactamente con el valor de F2. Dado que utilizamos TRUE para la función buscar_valor de MATCH, devuelve una posición relativa de la coincidencia exacta entre mayúsculas y minúsculas, que es precisamente lo que INDEX necesita para devolver una coincidencia de B2:B7.
Fórmula de búsqueda avanzada que distingue mayúsculas de minúsculas
La fórmula INDEX MATCH antes mencionada parece perfecta, ¿verdad? Pero en realidad no lo es, permítame mostrarle por qué.
Supongamos que una celda de la columna de retorno correspondiente al valor de búsqueda está en blanco. ¿Qué devolverá la fórmula? Nada. Y ahora, veamos qué devuelve realmente:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Uy, ¡la fórmula devuelve un cero! Tal vez, no es realmente importante cuando se trata únicamente de valores de texto. Sin embargo, si su hoja de cálculo contiene números y algunos de ellos son ceros reales, esto es un problema.
En realidad, todas las demás fórmulas de búsqueda comentadas anteriormente se comportan de la misma manera. Pero ahora quieres una fórmula impecable, ¿no?
Para que la fórmula INDEX MATCH que distingue entre mayúsculas y minúsculas sea absolutamente perfecta, se envuelve en la función IF que comprueba si una celda de retorno está en blanco y no devuelve nada en este caso:
=IF(INDIRECT("C"&(1+MATCH(TRUE,EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "")
En la fórmula anterior:
- "C" es la columna de retorno.
- "1" es el número que convierte un posición relativa de la celda devuelta por la función MATCH en un dirección real de la célula .
Por ejemplo, la matriz de búsqueda en nuestra función MATCH es A2:A7, lo que significa que la posición relativa de la celda A2 es "1", porque es la primera celda de la matriz. Pero en realidad, la matriz de búsqueda empieza en la fila 2. Para compensar la diferencia, añadimos 1, de modo que la función INDIRECT devuelva un valor de la celda de la derecha.
Las siguientes capturas de pantalla muestran en acción la fórmula INDEX MATCH mejorada que distingue entre mayúsculas y minúsculas.
Si la celda de retorno está vacía, la fórmula no produce nada (una cadena vacía):
Si la celda de retorno contiene un cero, la fórmula devuelve 0:
Si prefiere mostrar algún mensaje cuando una celda de retorno está en blanco, sustituya una cadena vacía ("") en el último argumento de IF por algún texto:
=IF(INDIRECT("C"&(1+MATCH(TRUE, EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "No hay nada que devolver, lo sentimos.")
Haga VLOOKUP con distinción entre mayúsculas y minúsculas de forma sencilla
Los usuarios de nuestra Ultimate Suite para Excel disponen de una herramienta especial que facilita y libera de estrés la búsqueda en tablas grandes y complejas. Lo mejor es que Combinar dos tablas tiene una opción que distingue entre mayúsculas y minúsculas, y el ejemplo siguiente lo muestra en acción.
Supongamos que desea extraer Qty. del Búsqueda tabla a la Principal basada en ID de artículos únicos:
Lo que hay que hacer es ejecutar el asistente Fusionar tablas y realizar estos pasos:
- Seleccione la tabla principal en la que desea introducir los nuevos datos.
- Seleccione la tabla de consulta donde buscar los nuevos datos.
- Elija una o varias columnas clave (ID de artículo en nuestro caso). Y asegúrese de marcar la casilla Coincidencia de mayúsculas y minúsculas caja.
Un momento después, obtendrás el resultado deseado :)
Así es como se hace una búsqueda en Excel teniendo en cuenta el caso del texto. Gracias por leer y ¡espero verte en nuestro blog la semana que viene!
Cuaderno de prácticas para descargar
Ejemplos de VLOOKUP con distinción entre mayúsculas y minúsculas (archivo .xlsx)