Taula de continguts
El tutorial explica com fer que Excel VLOOKUP distingeix entre majúscules i minúscules, mostra algunes altres fórmules que distingeixen entre majúscules i minúscules de text i assenyala els punts forts i les limitacions de cada funció.
Suposo que totes L'usuari d'Excel sap quina funció realitza una cerca vertical a Excel. Bé, és BUSCAR V. No obstant això, molt poques persones saben que la BUSCAR V d'Excel no distingeix entre majúscules i minúscules, és a dir, tracta les lletres minúscules i les majúscules com els mateixos caràcters.
A continuació es mostra un exemple ràpid que demostra la incapacitat de BUSCAR V per distingir les majúscules i minúscules. Suposem que si teniu "factura" a la cel·la A2 i "Factura" a A4. La fórmula següent captarà "factura" perquè apareix primer a la matriu de cerca i retorna un valor coincident de B2.
=VLOOKUP("Bill", A2:B4, 2, FALSE)
Més endavant en aquest article, us mostraré una manera de fer que VLOOKUP distingeix entre majúscules i minúscules. També explorarem algunes altres funcions que poden fer una coincidència entre majúscules i minúscules a Excel.
Fórmula BUSCAR V que distingeix entre majúscules i minúscules
Com s'ha esmentat anteriorment, una fórmula habitual de BUSCAR V no reconeix les majúscules i minúscules. Tanmateix, hi ha una manera de fer que Excel VLOOKUP distingeix entre majúscules i minúscules, tal com es mostra a l'exemple següent.
Suposem que teniu IDs d'article a la columna A i voleu treure el preu de l'article i comentar-lo. de les columnes B i C. El problema és que els ID inclouen caràcters tant en minúscules com en majúscules. Per exemple, els valors d'A4 (001Tvci3u) i A5 (001Tvci3U) només difereixen enl'últim caràcter, "u" i "U", respectivament.
Quan cerqueu "001Tvci3 U ", una fórmula estàndard de BUSCAR VOLTA genera $90 que està associat amb "001Tvci3 u " perquè apareix abans de "001Tvci3 U " a la matriu de cerca. Però això no és el que voleu, oi?
=VLOOKUP(F2, A2:C7, 2, FALSE)
Per fer una cerca sensible a majúscules i minúscules a Excel, combinem les opcions BUSCAR V, TRIAR i EXACTE funcions:
CERCA V(TRUE, TRIAR({1,2}, EXACTE( valor_de_cerca, matriu_de_cerca), matriu_retorn), 2, 0)Aquesta fórmula genèrica funciona perfectament en totes les situacions. Fins i tot podeu cercar de dreta a esquerra , cosa que una fórmula normal de BUSCAR VOLTA no pot fer. Enhorabona a Pouriya per suggerir aquesta solució senzilla i elegant!
En el nostre cas, les fórmules reals són les següents.
Per treure el preu a F3:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), B2:B7), 2, FALSE)
Per obtenir el comentari F4:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7), 2, FALSE)
Nota. En totes les versions d'Excel que no siguin Excel 365, això només funciona com una fórmula de matriu, així que recordeu prémer Ctrl + Maj + Retorn per completar-lo correctament. A Excel 365, a causa del suport per a matrius dinàmiques, també funciona com una fórmula normal.
Com funciona aquesta fórmula:
La part bàsica que fa el truc és la fórmula TRIA amb EXACTE imbricat:
CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7)
Aquí, la funció EXACTA compara el valor de F2 amb cada valor d'A2:A7 i retorna TRUE si són exactament iguals, incloent-hi les majúscules i minúscules,FALSE en cas contrari:
{FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}
Per a l'argument index_num de CHOOSE, utilitzem la constant de matriu {1,2}. Com a resultat, la funció combina els valors lògics de la matriu anterior i els valors de C2:C7 en una matriu bidimensional com aquesta:
{FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}
La funció BUSCARV la pren d'allà. i cerca el valor de cerca (que és CERT) a la 1a columna de la matriu bidimensional (representada pels valors lògics) i retorna una coincidència des de la 2a columna, que és el preu que estem buscant:
VLOOKUP(TRUE, {FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}, 2, 0)
Fórmula XLOOKUP que distingeix entre majúscules i minúscules
Els subscriptors de Microsoft 365 poden fer una cerca que distingeix entre majúscules i minúscules a Excel amb una fórmula encara més senzilla. Com podeu endevinar, parlo d'un successor més potent de BUSCARV: la funció BUSCAR XL.
Com que BUSCAR XL funciona en matrius de cerca i retorn per separat, no necessitem el truc de matriu bidimensional de l'anterior. exemple. Simplement, utilitzeu EXACT per a l'argument lookup_array :
XLOOKUP(TRUE, EXACT( lookup_value , lookup_array ), return_array , " No trobat")L'últim argument ("No trobat") és opcional. Només defineix quin valor tornarà si no es troba cap coincidència. Si l'ometeu, es retornarà un error estàndard #N/A en cas que la fórmula no trobi res.
Per a la nostra taula d'exemple, aquestes són les fórmules XLOOKUP que distingeixen entre majúscules i minúscules que cal utilitzar.
Per obtenir el preu a F3:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), B2:B7, "Not found")
Per extreure elcomentari F4:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), C2:C7, "Not found")
Com funciona aquesta fórmula:
Com a l'exemple anterior, EXACT retorna una matriu de valors TRUE i FALSE, on TRUE representa coincidències que distingeixen entre majúscules i minúscules. XLOOKUP cerca el valor TRUE a la matriu anterior i retorna una coincidència de la return_array . Tingueu en compte que si hi ha dos o més valors exactament iguals a la columna de cerca (incloses les majúscules i minúscules), la fórmula retornarà la primera coincidència trobada.
Limitació de XLOOKUP : només disponible a Excel 365 i Excel 2021.
SUMPRODUCT - cerca que distingeix entre majúscules i minúscules per retornar números coincidents
Tal com enteneu a l'encapçalament, SUMPRODUCT és una altra funció d'Excel que pot fer una cerca sensible a majúscules i minúscules. , però només pot retornar valors numèrics . Si aquest no és el vostre cas, aneu a l'exemple INDEX MATCH que ofereix una solució per a tots els tipus de dades.
Com probablement sabeu, SUMPRODUCT d'Excel multiplica els components de les matrius especificades i retorna la suma dels productes. Com que volem una cerca sensible a majúscules i minúscules, utilitzem la funció EXACTA per obtenir la primera matriu:
=SUMPRODUCT((EXACT(A2:A7,F2) * (B2:B7)))
Lamentablement, la funció SUMAPRODUCTE no pot tornar coincidències de text ja que els valors de text no es poden multiplicar. En aquest cas, obtindreu un #VALOR! error com a la cel·la F4 de la captura de pantalla següent:
Com funciona aquesta fórmula:
Com a l'exemple de BUSCAR V, l'EXACTE comprovacions de funcióel valor de F2 contra tots els valors d'A2:A7 i retorna TRUE per a les coincidències que distingeixen entre majúscules i minúscules, FALSE en cas contrari:
SUMPRODUCT(({FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}*{155;186;90;54;159;28}))
En la majoria de fórmules, Excel avalua TRUE a 1 i FALSE a 0 . Per tant, quan SUMPRODUCT multiplica els elements de les dues matrius en les mateixes posicions, totes les no coincidències (FALSE) es converteixen en zeros:
SUMPRODUCT({0;0;0;54;0;0})
Com a resultat, la fórmula retorna un nombre de columna B que correspon a la coincidència exacta que distingeix entre majúscules i minúscules a la columna A.
Limitació de SUMPRODUCT : només pot retornar valors numèrics.
INDEX MATCH: cerca que distingeix entre majúscules i minúscules per a tots els tipus de dades
Finalment, estem a punt d'aconseguir una fórmula de cerca que distingeix entre majúscules i minúscules sense limitacions que funcioni en totes les versions d'Excel i en tots els conjunts de dades.
Aquest exemple arriba no només perquè el millor es guarda per a l'últim, però també perquè els coneixements que has adquirit en els exemples anteriors poden ajudar-te a entendre millor la fórmula INDEX DE COINCORDACIÓ que distingeix entre majúscules i minúscules.
Sovint s'utilitza la combinació de les funcions INDEX i COINCORDACIÓ. en Ex cel com una alternativa més flexible i versàtil a VLOOKUP. L'article següent fa un bon treball (esperem que :) explicant com funcionen aquestes dues funcions juntes: s'utilitza INDEX MATCH en lloc de VLOOKUP.
Aquí només us recordaré els punts clau:
- La funció MATCH cerca el valor de cerca a la matriu de cerca especificada i retorna la seva posició relativa.
- El relatiuLa posició del valor de cerca va directament a l'argument row_num de la funció INDEX que li indica que retorni un valor d'aquesta fila.
Per tal que la fórmula reconegui majúscules i minúscules, només cal que cal afegir una funció més a la clàssica combinació INDEX MATCH. Òbviament, necessiteu la funció EXACTE de nou:
INDEX( return_array , MATCH(TRUE, EXACT( lookup_value , lookup_array ), 0))La fórmula real a F3 és:
=INDEX(B2:B7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
A F4, estem utilitzant aquesta:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Recordeu que només funciona com a una fórmula de matriu en totes les versions que no siguin Excel 365, així que assegureu-vos d'introduir-la prement les tecles Ctrl + Maj + Intro juntes. Si es fa correctament, la fórmula s'inclourà entre claus com es mostra a la captura de pantalla següent:
Com funciona aquesta fórmula:
Com en tots els exemples anteriors, EXACT retorna TRUE per a cada valor d'A2:A7 que coincideix exactament amb el valor de F2. Com que utilitzem TRUE per al lookup_value de MATCH, retorna una posició relativa de la coincidència exacta que distingeix entre majúscules i minúscules, que és precisament el que INDEX necessita per tornar una coincidència de B2:B7.
Fórmula de cerca avançada que distingeix entre majúscules i minúscules
La fórmula INDEX MATCH esmentada anteriorment sembla perfecta, oi? Però de fet, no ho és. Permeteu-me que us ensenya per què.
Suposem que una cel·la de la columna de retorn corresponent al valor de cerca està en blanc. Què retornarà la fórmula? Res.I ara, vegem què retorna realment:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Vaja, la fórmula retorna un zero! Potser, no és realment important quan es tracta només de valors de text. Tanmateix, si el vostre full de treball conté nombres i alguns d'ells són zeros reals, això és un problema.
En realitat, totes les altres fórmules de cerca comentades anteriorment es comporten de la mateixa manera. Però ara voleu una fórmula impecable, oi?
Per fer que la fórmula INDEX MATCH que distingeix entre majúscules i minúscules sigui absolutament perfecta, l'emboliqueu a la funció IF que verifica si una cel·la de retorn està en blanc i no retorna res. aquest cas:
=IF(INDIRECT("C"&(1+MATCH(TRUE,EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "")
A la fórmula anterior:
- "C" és la columna de retorn.
- "1" és el nombre que converteix una posició relativa de la cel·la retornada per la funció MATCH en una adreça de cel·la real .
Per exemple, la matriu de cerca de la nostra funció MATCH és A2:A7, és a dir, la posició relativa de la cel·la A2 és "1", perquè aquesta és la primera cel·la de la matriu. Però, en realitat, la matriu de cerca comença a la fila 2. Per compensar la diferència, afegim 1, de manera que la funció INDIRECTA retornarà un valor de la cel·la dreta.
Les captures de pantalla següents mostren l'INDEX millorat que distingeix entre majúscules i minúscules. Fórmula MATCH en acció.
Si la cel·la de retorn està buida, la fórmula no genera res (una cadena buida):
Si la cel·la de retorn conté un zero , la fórmula retorna 0:
Si ho prefereixesmostrar algun missatge quan una cel·la de retorn estigui en blanc, substituïu una cadena buida ("") a l'últim argument de IF per text:
=IF(INDIRECT("C"&(1+MATCH(TRUE, EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "There is nothing to return, sorry.")
Feu la CERCA VOS amb majúscules i minúscules d'una manera senzilla
Els usuaris de la nostra Ultimate Suite for Excel disposen d'una eina especial que facilita la cerca en taules grans i complexes i sense estrès. El millor és que Combina dues taules té una opció que distingeix entre majúscules i minúscules, i l'exemple següent ho mostra en acció.
Suposem que voleu extreure Qty. de la taula Cerca a la taula Principal basant-se en identificadors d'element únics:
El que feu és executar les taules de combinació i seguiu aquests passos:
- Seleccioneu la taula principal a la qual voleu extreure dades noves.
- Seleccioneu la taula de cerca on cercar les dades noves.
- Trieu una o més columnes clau (ID d'element en el nostre cas). I assegureu-vos de marcar la casella Coincidència entre majúscules i minúscules .
Un moment més tard, obtindreu el resultat desitjat :)
Així és com cercar a Excel tenint en compte el cas del text. Us agraeixo la lectura i esperem veure-us al nostre bloc la setmana vinent!
Quader de pràctiques per descarregar
Exemples de BUSCAR V que distingeixen entre majúscules i minúscules (fitxer .xlsx)