Taula de continguts
El tutorial proporciona una sèrie d'exemples de fórmules "Excel si conté" que mostren com retornar alguna cosa en una altra columna si una cel·la objectiu conté un valor requerit, com cercar amb concordança parcial i provar diversos criteris amb OR com així com la lògica AND.
Una de les tasques més habituals a Excel és comprovar si una cel·la conté un valor d'interès. Quin tipus de valor pot tenir? Qualsevol text o número, text específic o qualsevol valor (no cel·la buida).
Hi ha diverses variacions de la fórmula "Si la cel·la conté" a Excel, depenent dels valors exactes que vulgueu trobar. En general, utilitzareu la funció SI per fer una prova lògica i retornareu un valor quan es compleixi la condició (la cel·la conté) i/o un altre valor quan la condició no es compleix (la cel·la no conté). Els exemples següents cobreixen els escenaris més freqüents.
Si la cel·la conté algun valor, aleshores
Per començar, vegem com trobar cel·les que continguin qualsevol cosa: qualsevol text, número o data. Per a això, utilitzarem una fórmula IF senzilla que comprova les cel·les no en blanc.
IF( cel·la"", value_to_return, "")Per Per exemple, per tornar "No en blanc" a la columna B si la cel·la de la columna A de la mateixa fila conté algun valor, introduïu la fórmula següent a B2 i, a continuació, feu doble clic al petit quadrat verd de l'extrem inferior dret per copiar la fórmula cap avall. elcolumna:
=IF(A2"", "Not blank", "")
El resultat serà semblant a aquest:
Si la cel·la conté text, aleshores
Si només voleu trobar cel·les amb valors de text ignorant números i dates, feu servir IF en combinació amb la funció ISTEXT. Aquesta és la fórmula genèrica per retornar algun valor en una altra cel·la si una cel·la objectiu conté qualsevol text :
IF(ISTEXT( cel·la), valor_a_retornar, " ")Suposem que voleu inserir la paraula "sí" a la columna B si una cel·la de la columna A conté text. Per fer-ho, poseu la fórmula següent a B2:
=IF(ISTEXT(A2), "Yes", "")
Si la cel·la conté un nombre, aleshores
De manera similar , podeu identificar cel·les amb valors numèrics (nombres i dates). Per a això, utilitzeu la funció SI juntament amb ISNUMBER:
IF(ISNUMBER( cel·la), value_to_return, "")La fórmula següent retorna "sí" a la columna B si una cel·la corresponent de la columna A conté qualsevol número:
=IF(ISNUMBER(A2), "Yes", "")
Si la cel·la conté text específic
Trobar cel·les que contenen cert text (o números o dates) és fàcil. Escriu una fórmula IF normal que comprova si una cel·la objectiu conté el text desitjat i escriviu el text que voleu tornar a l'argument valor_si_true .
IF( cel·la=" text", value_to_return, "")Per exemple, per esbrinar si la cel·la A2 conté "pomes", utilitzeu aquesta fórmula:
=IF(A2="apples", "Yes", "")
Si la cel·la no conté especificacionstext
Si busqueu el resultat contrari, és a dir, retorneu algun valor a una altra columna si una cel·la objectiu no conté el text especificat ("pomes"), feu una de les accions següents.
Introduïu una cadena buida ("") a l'argument value_if_true i text a retornar a l'argument value_if_false :
=IF(A2="apples", "", "Not apples")
O , poseu l'operador "no igual a" a logical_test i el text per tornar a value_if_true:
=IF(A2"apples", "Not apples", "")
De qualsevol manera, la fórmula produirà aquest resultat:
Si la cel·la conté text: fórmula sensible a majúscules
Per forçar la fórmula a distingir entre caràcters majúscules i minúscules, utilitzeu la funció EXACTA que comprova si dues cadenes de text són exactament iguals, inclosa la lletra majúscula:
=IF(EXACT(A2,"APPLES"), "Yes", "")
També podeu introduir la cadena de text model en alguna cel·la (per exemple, C1), fixeu la referència de la cel·la amb el signe $ ($C$1) i compareu la cel·la objectiu amb aquesta cel·la:
=IF(EXACT(A2,$C$1), "Yes", "")
Si la cel·la conté una cadena de text específica (concordança parcial)
Hem acabat amb tasques trivials i passem a d'altres més difícils i interessants :) En aquest exemple, es necessiten tres funcions diferents per esbrinar si un caràcter o subcadena determinat forma part de la cel·la contingut:
IF(ISNUMBER(SEARCH(" text", cel·la)), value_to_return,"")Treballant des de dins cap a fora , aquí és el que fa la fórmula:
- ElLa funció SEARCH cerca una cadena de text i, si es troba la cadena, retorna la posició del primer caràcter, el #VALOR! error en cas contrari.
- La funció ISNUMBER comprova si la CERCA ha estat correcta o ha fallat. Si SEARCH ha retornat algun número, ISNUMBER retorna TRUE. Si la CERCA dóna lloc a un error, ISNUMBER retorna FALSE.
- Finalment, la funció SI retorna el valor especificat per a les cel·les que tenen TRUE a la prova lògica, una cadena buida ("") en cas contrari.
I ara, vegem com funciona aquesta fórmula genèrica en fulls de treball de la vida real.
Si la cel·la conté text determinat, poseu un valor en una altra cel·la
Suposant que teniu una llista de comandes a la columna A i voleu trobar comandes amb un identificador específic, digueu "A-". La tasca es pot dur a terme amb aquesta fórmula:
=IF(ISNUMBER(SEARCH("A-",A2)),"Valid","")
En lloc de codificar la cadena a la fórmula, podeu introduir-la en una cel·la separada (E1), la referència d'aquesta cel·la a la fórmula. :
=IF(ISNUMBER(SEARCH($E$1,A2)),"Valid","")
Perquè la fórmula funcioni correctament, assegureu-vos de bloquejar l'adreça de la cel·la que conté la cadena amb el signe $ (referència de cel·la absoluta).
Si la cel·la conté text específic, copieu-lo a una altra columna
Si voleu copiar el contingut de les cel·les vàlides en un altre lloc, simplement proporcioneu l'adreça de la cel·la avaluada (A2) a l'argument value_if_true :
=IF(ISNUMBER(SEARCH($E$1,A2)),A2,"")
La captura de pantalla següent mostra els resultats:
Sila cel·la conté text específic: fórmula que distingeix entre majúscules i minúscules
En els dos exemples anteriors, les fórmules no distingeixen entre majúscules i minúscules. En situacions en què treballeu amb dades que distingeixen entre majúscules i minúscules, utilitzeu la funció TROBAR en lloc de CERCAR per distingir les majúscules i minúscules.
Per exemple, la fórmula següent identificarà només les ordres amb la "A-" majúscula ignorant les minúscules " a-".
=IF(ISNUMBER(FIND("A-",A2)),"Valid","")
Si la cel·la conté una de moltes cadenes de text (lògica O)
Per identificar cel·les que continguin almenys una de les moltes coses que esteu cercant, utilitzeu una de les fórmules següents.
IF OR ISNUMBER Fórmula de cerca
L'enfocament més obvi seria comprovar cada subcadena individualment i tenir la funció OR retorna TRUE a la prova lògica de la fórmula SI si es troba almenys una subcadena:
IF(OR(ISNUMBER(SEARCH(" cadena1", cel·la)), ISNUMBER (CERCAR(" cadena2", cel·la))), value_to_return, "")Suposant que teniu una llista de SKU a la columna A i que voleu trobar aquells que incloguin "vestit" o "faldilla". Podeu fer-ho fent servir aquesta fórmula:
=IF(OR(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("skirt",A2))),"Valid ","")
La fórmula funciona bastant bé per a un parell d'elements, però certament no és la manera de fer-ho. vés si vols comprovar si hi ha moltes coses. En aquest cas, un millor enfocament seria utilitzar la funció SUMAPRODUCTE tal com es mostra a l'exemple següent.
Fórmula de cerca de SUMPRODUCT ISNUMBER
Si soutractar amb diverses cadenes de text, cercar cada cadena individualment faria que la fórmula fos massa llarga i difícil de llegir. Una solució més elegant seria incrustar la combinació ISNUMBER SEARCH a la funció SUMPRODUCT i veure si el resultat és superior a zero:
SUMPRODUCT(--ISNUMBER(SEARCH( cadenes, cell)))>0Per exemple, per esbrinar si A2 conté alguna de les paraules introduïdes a les cel·les D2:D4, utilitzeu aquesta fórmula:
=SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0
Com a alternativa, podeu crear un rang amb nom que contingui les cadenes a cercar, o proporcionar les paraules directament a la fórmula:
=SUMPRODUCT(--ISNUMBER(SEARCH({"dress","skirt","jeans"},A2)))>0
De qualsevol manera, el resultat serà similar a aquest:
Per fer que la sortida sigui més fàcil d'utilitzar, podeu anidar la fórmula anterior a la funció SI i retornar el vostre propi text en lloc dels valors VERTADER/FALS:
=IF(SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0, "Valid", "")
Com funciona aquesta fórmula
En el fons, feu servir ISNUMBER juntament amb SEARCH tal com s'explica a l'exemple anterior. En aquest cas, els resultats de la cerca es representen en forma d'una matriu com {TRUE;FALSE;FALSE}. Si una cel·la conté almenys una de les subcadenes especificades, hi haurà TRUE a la matriu. L'operador unari doble (--) obliga els valors TRUE/FALSE a 1 i 0, respectivament, i ofereix una matriu com {1;0;0}. Finalment, la funció SUMAPRODUCTE suma els nombres i escollim cel·les on el resultat és superior a zero.
Sila cel·la conté diverses cadenes (lògica I)
En situacions en què vulgueu trobar cel·les que continguin totes les cadenes de text especificades, utilitzeu la ja coneguda combinació ISNUMBER SEARCH juntament amb IF AND:
IF(AND(ISNUMBER (CERCAR(" cadena1", cel·la)), ISNUMBER(CERCAR(" cadena2", cel·la))), value_to_return,"")Per exemple, podeu trobar SKU que continguin "vestit" i "blau" amb aquesta fórmula:
=IF(AND(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("blue",A2))),"Valid ","")
O podeu escriure les cadenes en cel·les separades i feu referència a aquestes cel·les a la vostra fórmula:
=IF(AND(ISNUMBER(SEARCH($D$2,A2)),ISNUMBER(SEARCH($E$2,A2))),"Valid ","")
Com a solució alternativa, podeu comptar les ocurrències de cada cadena i comprovar si cada recompte és superior a zero:
=IF(AND(COUNTIF(A2,"*dress*")>0,COUNTIF(A2,"*blue*")>0),"Valid","")
El resultat serà exactament com es mostra a la captura de pantalla anterior.
Com tornar resultats diferents segons el valor de la cel·la
En cas que vulgueu comparar cada cel·la de la columna de destinació amb una altra llista d'elements i retornar un valor diferent per a cada coincidència, utilitzeu un dels enfocaments següents.
Anidat. IFs
La lògica de la fórmula IF imbricada és tan senzilla com aquesta: feu servir una funció IF separada per provar cada condició i retorneu valors diferents segons els resultats d'aquestes proves.
IF(<1)>cel·la=" cerca_text1", " retorn_ text1", IF( cel·la=" cerca_text2", " retorn_ text2", IF( cel·la=" cerca_text3", " retorn_ text3", "")))Suposant que teniu una llista d'elements a la columna A i voleu tenir les seves abreviatures a la columna B. Per fer-ho, utilitzeu la fórmula següent:
=IF(A2="apple", "Ap", IF(A2="avocado", "Av", IF(A2="banana", "B", IF(A2="lemon", "L", ""))))
Per obtenir tots els detalls sobre la sintaxi i la lògica de l'IF imbricat, consulteu l'IF imbricat d'Excel: diverses condicions en una sola fórmula.
Fórmula de cerca
Si esteu buscant una fórmula més fórmula compacta i més comprensible, utilitzeu la funció CERCA amb valors de cerca i de retorn proporcionats com a constants de matriu vertical:
CERCA( cel·la, {" cerca_text1";" cerca_text2";" cerca_text3";…}, {" retorn_ text1";" retorn_ text2";" retorn_ text3";…})Per obtenir resultats precisos, assegureu-vos d'enumerar els valors de cerca en ordre alfabètic , de la A a la Z.
=LOOKUP(A2,{"apple";"avocado";"banana";"lemon"},{"Ap";"Av";"B";"L"})
En comparació amb els FI imbricats, la fórmula de cerca té un avantatge més: entén els caràcters comodís i, per tant, pot identificar coincidències parcials.
Per exemple, si la columna A conté uns quants tipus de plàtans, podeu cercar "*plàtan*" i obtenir la mateixa abreviatura ("B") per a totes aquestes cel·les:
=LOOKUP(A2,{"apple";"avocado";"*banana*";"lemon"},{"Ap";"Av";"B";"L"})
Per obtenir més informació, vegeu Fórmula de cerca com a alternativa als FI imbricats.
Fórmula de cerca de V
Quan es treballa amb un conjunt de dades variables, pot ser més convenient introduir una llista de coincidències per separat. cel·les i recuperar-les mitjançant una fórmula Vlookup,p. ex.:
=VLOOKUP(A2, $D$2:$E$5, 2,FALSE )
Per obtenir més informació, consulteu el tutorial de BUSCAR V d'Excel per a principiants.
Així és com comproveu si una cel·la conté qualsevol valor o text específic a Excel. La setmana que ve, continuarem mirant la cel·la Si d'Excel conté fórmules i aprendrem a comptar o sumar cel·les rellevants, copiar o eliminar files senceres que contenen aquestes cel·les i molt més. Si us plau, estigueu atents!
Quader de pràctiques
Excel si la cel·la conté: exemples de fórmules (fitxer .xlsx)