Taula de continguts
El tutorial mostra com crear diverses declaracions IF a Excel amb lògica AND i OR. A més, aprendràs a utilitzar IF juntament amb altres funcions d'Excel.
A la primera part del nostre tutorial d'Excel IF, vam veure com construir una instrucció IF senzilla amb una condició per al text, números, dates, espais en blanc i no espais en blanc. Tanmateix, per a una anàlisi de dades potent, és possible que sovint hàgiu d'avaluar diverses condicions alhora. Els exemples de fórmules següents us mostraran les maneres més efectives de fer-ho.
Com utilitzar la funció SI amb múltiples condicions
En essència, hi ha dos tipus de Fórmula SI amb criteris múltiples basats en la lògica AND/OR . En conseqüència, a la prova lògica de la vostra fórmula IF, hauríeu d'utilitzar una d'aquestes funcions:
- funció AND - retorna TRUE si totes les condicions es compleixen; FALSE en cas contrari.
- Funció OR: retorna TRUE si es compleix una condició única ; FALS en cas contrari.
Per il·lustrar millor el punt, investiguem alguns exemples de fórmules de la vida real.
Instrucció d'Excel IF amb múltiples condicions (I lògica)
El La fórmula genèrica d'Excel IF amb dues o més condicions és la següent:
IF(AND( condició1, condició2, …), value_if_true, value_if_false)Traduït a un humà llenguatge, la fórmula diu: Si la condició 1 és certa I la condició 2 és certa, retorna valor_si_cert ; sinó retorna value_if_false .
Suposem que teniu una taula amb les puntuacions de dues proves a les columnes B i C. Per aprovar l'examen final, un estudiant ha de tenir ambdues puntuacions superiors a 50.
Per a la prova lògica, feu servir la següent instrucció AND: AND(B2>50, C2>50)
Si les dues condicions són certes, la fórmula retornarà "Aprovat"; si alguna condició és falsa - "Fail".
=IF(AND(B2>50, B2>50), "Pass", "Fail")
Fàcil, no? La captura de pantalla següent demostra que la nostra fórmula Excel SI / AND funciona correctament:
De manera similar, podeu utilitzar la funció Excel SI amb múltiples condicions de text .
Per a Per exemple, per sortir "Bo" si tant B2 com C2 són superiors a 50, "Dolent" en cas contrari, la fórmula és:
=IF(AND(B2="pass", C2="pass"), "Good!", "Bad")
Nota important! La funció AND comprova totes les condicions , encara que les ja provades s'avaluïn com a FALSE. Aquest comportament és una mica inusual, ja que en la majoria dels llenguatges de programació, les condicions posteriors no es proveen si alguna de les proves anteriors ha retornat FALSE.
A la pràctica, una instrucció IF aparentment correcta pot provocar un error a causa d'això. especificitat. Per exemple, la fórmula següent retornaria #DIV/0! Error ("divideix per zero") si la cel·la A2 és igual a 0:
=IF(AND(A20, (1/A2)>0.5),"Good", "Bad")
Per evitar això, hauríeu d'utilitzar una funció IF imbricada:
=IF(A20, IF((1/A2)>0.5, "Good", "Bad"), "Bad")
Per obtenir més informació, consulteu la fórmula SI I a Excel.
Funció d'Excel SI amb múltiplescondicions (lògica OR)
Per fer una cosa si es compleix qualsevol condició , en cas contrari, feu una altra cosa, utilitzeu aquesta combinació de les funcions SI i OR:
IF(OR( condition1 , condition2 , …), value_if_true, value_if_false)La diferència amb la fórmula SI / AND comentada anteriorment és que Excel retorna TRUE si alguna de les condicions especificades és certa.
Per tant, si a la fórmula anterior, utilitzem OR en comptes de AND:
=IF(OR(B2>50, B2>50), "Pass", "Fail")
Llavors qualsevol persona que tingui més de 50 punts en qualsevol examen obtindrà "Aprovat" a columna D. Amb aquestes condicions, els nostres estudiants tenen més possibilitats d'aprovar l'examen final (Yvette va ser especialment mala sort en suspendre amb només 1 punt :)
Consell. En cas que estigueu creant una instrucció IF múltiple amb text i provant un valor en una cel·la amb la lògica OR (és a dir, una cel·la pot ser "això" o "allò"), podeu crear-ne una més compacta. fórmula utilitzant una constant de matriu.
Per exemple, per marcar una venda com a "tancada" si la cel·la B2 és "entregada" o "pagada", la fórmula és:
=IF(OR(B2={"delivered", "paid"}), "Closed", "")
Es poden trobar més exemples de fórmules a la funció SI OR d'Excel.
SI amb múltiples AND & Declaracions OR
Si la vostra tasca requereix avaluar diversos conjunts de condicions múltiples, haureu d'utilitzar tant AND & Funcions OR alhora.
A la nostra taula d'exemple, suposem que teniu els criteris següents per comprovar els resultats de l'examen:
- Condició 1:examen1>50 i examen2>50
- Condició 2: examen1>40 i examen2>60
Si es compleix alguna de les condicions, l'examen final es considera aprovat.
A primera vista, la fórmula sembla una mica complicada, però de fet no ho és! Només heu d'expressar cadascuna de les condicions anteriors com una instrucció AND i les niu a la funció OR (ja que no és necessari complir ambdues condicions, qualsevol d'elles n'hi haurà prou):
OR(AND(B2>50, C2>50), AND(B2>40, C2>60)
A continuació, utilitzeu la funció OR per a la prova lògica d'IF i proporcioneu els valors value_if_true i value_if_false desitjats. Com a resultat, obteniu la següent fórmula SI amb múltiples condicions AND/OR:
=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")
La captura de pantalla següent indica que hem fet correctament la fórmula:
Naturalment , no us limiteu a utilitzar només dues funcions AND/OR a les vostres fórmules SI. Podeu utilitzar-ne tants com requereixi la vostra lògica empresarial, sempre que:
- A Excel 2007 i superior, no tingueu més de 255 arguments i la longitud total de la fórmula IF no superi 8.192 caràcters.
- A Excel 2003 i versions anteriors, no hi ha més de 30 arguments i la longitud total de la fórmula IF no supera els 1.024 caràcters.
Instrucció IF imbricada a comproveu diverses proves lògiques
Si voleu avaluar diverses proves lògiques dins d'una sola fórmula, podeu niuar diverses funcions entre si. Aquestes funcions s'anomenen niadesFuncions IF . Resultan especialment útils quan es volen retornar diferents valors en funció dels resultats de les proves lògiques.
Aquí hi ha un exemple típic: suposem que voleu qualificar els assoliments dels estudiants com a " Bon ", " Satisfactori " i " Baixa " segons les puntuacions següents:
- Bona: 60 o més (>=60)
- Satisfactori: entre 40 i 60 (>40 i <60)
- Baixa: 40 o menys (<=40)
Abans d'escriure una fórmula, tingueu en compte l'ordre de les funcions que aniràs a niar. Excel avaluarà les proves lògiques en l'ordre en què apareixen a la fórmula. Una vegada que una condició s'avalua com a TRUE, les condicions posteriors no es comprovan, és a dir, la fórmula s'atura després del primer resultat TRUE.
En el nostre cas, les funcions s'ordenen de més gran a més petit:
=IF(B2>=60, "Good", IF(B2>40, "Satisfactory", "Poor"))
Naturalment, podeu niar més funcions si cal (fins a 64 en les versions modernes).
Per obtenir més informació, vegeu Com utilitzar diverses declaracions IF imbricades a Excel.
Fórmula de matriu IF d'Excel amb diverses condicions
Una altra manera d'obtenir un IF d'Excel per provar múltiples condicions és mitjançant una fórmula de matriu.
Per avaluar les condicions amb la lògica AND, utilitzeu l'asterisc:
IF( condició1 ) * ( condició2 ) * …, value_if_true, value_if_false)Per provar les condicions amb la lògica OR, utilitzeu el signe més:
IF( condició1 ) + ( condició2 ) + …,value_if_true, value_if_false)Per completar correctament una fórmula de matriu, premeu les tecles Ctrl + Maj + Enter alhora. A Excel 365 i Excel 2021, això també funciona com una fórmula normal a causa de la compatibilitat amb matrius dinàmiques.
Per exemple, per obtenir "Aprovat" si tant B2 com C2 són superiors a 50, la fórmula és:
=IF((B2>50) * (C2>50), "Pass", "Fail")
Al meu Excel 365, una fórmula normal funciona bé (com podeu veure a les captures de pantalla anteriors). A Excel 2019 i versions anteriors, recordeu que heu de convertir-la en una fórmula de matriu utilitzant la drecera Ctrl + Maj + Enter.
Per avaluar diverses condicions amb la lògica OR, la fórmula és:
=IF((B2>50) + (C2>50), "Pass", "Fail")
Utilitzar IF juntament amb altres funcions
Aquesta secció explica com utilitzar IF en combinació amb altres funcions d'Excel i quins avantatges us ofereix.
Exemple 1. Si #N /A error in VLOOKUP
Quan VLOOKUP o una altra funció de cerca no pot trobar alguna cosa, retorna un error #N/A. Perquè les teves taules semblin més agradables, pots tornar zero, en blanc o text específic si #N/A. Per a això, utilitzeu aquesta fórmula genèrica:
IF(ISNA(VLOOKUP(…)), value_if_na , VLOOKUP(…))Per exemple:
If #N/ Un retorn 0:
Si no es troba el valor de cerca a E1, la fórmula retorna zero.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))
Si #N/A torna en blanc:
Si no es troba el valor de cerca, la fórmula no retorna res (una cadena buida).
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))
Si #N/A retorna un text determinat:
Si el no s'ha trobat el valor de cerca, elLa fórmula retorna un text específic.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE))
Per obtenir més exemples de fórmules, vegeu BUSCAR V amb declaració SI a Excel.
Exemple 2. SI amb SUMA, MITJANA, MIN i MAX funcions
Per sumar els valors de les cel·les en funció de determinats criteris, Excel proporciona les funcions SUMIF i SUMIFS.
En algunes situacions, la vostra lògica empresarial pot requerir incloure la funció SUMA a la prova lògica de SI. Per exemple, per retornar diferents etiquetes de text en funció de la suma dels valors de B2 i C2, la fórmula és:
=IF(SUM(B2:C2)>130, "Good", IF(SUM(B2:C2)>110, "Satisfactory", "Poor"))
Si la suma és superior a 130, el resultat és "bo "; si és superior a 110: "satisfactori", si és 110 o inferior, "pobre".
De manera similar, podeu incrustar la funció MITJANA a la prova lògica de SI i retornar etiquetes diferents segons la puntuació mitjana. :
=IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor"))
Suposant que la puntuació total es troba a la columna D, podeu identificar els valors més alt i més baix amb l'ajuda de les funcions MAX i MIN:
=IF(D2=MAX($D$2:$D$10), "Best result", "")
=IF(D2=MAX($D$2:$D$10), "Best result", "")
Per tenir les dues etiquetes en una columna, niu les funcions anteriors una en una altra:
=IF(D2=MAX($D$2:$D$10), "Best result", IF(D2=MIN($D$2:$D$10), "Worst result", ""))
De la mateixa manera, podeu utilitzar IF juntament amb el vostre personalitzat funcions. Per exemple, podeu combinar-lo amb GetCellColor o GetCellFontColor per retornar resultats diferents basats en el color d'una cel·la.
A més, Excel ofereix una sèrie de funcions per calcular dades en funció de les condicions. Per obtenir exemples detallats de fórmules, si us plau, comproveu el següenttutorials:
- COUNTIF - comptar cel·les que compleixen una condició
- COUNTIFS - comptar cel·les amb diversos criteris
- SUMIF - sumar cel·les condicionalment
- SUMIFS - suma cel·les amb criteris múltiples
Exemple 3. IF amb ISNUMBER, ISTEXT i ISBLANK
Per identificar text, números i cel·les en blanc, Microsoft Excel ofereix funcions especials com ISTEXT, ISNUMBER i ISBLANC. En col·locar-los a les proves lògiques de tres sentències IF imbricades, podeu identificar tots els tipus de dades diferents d'una vegada:
=IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", "")))
Exemple 4. IF i CONCATENAR
Per produïu el resultat de SI i una mica de text en una cel·la, utilitzeu les funcions CONCATENAR o CONCAT (a Excel 2016 - 365) i SI junts. Per exemple:
=CONCATENATE("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
=CONCAT("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
Mirant la captura de pantalla següent, gairebé no necessitareu cap explicació del que fa la fórmula:
SI ÉS ERROR / Fórmula ISNA a Excel
Les versions modernes d'Excel tenen funcions especials per atrapar errors i substituir-los per un altre càlcul o valor predefinit: IFERROR (a Excel 2007 i posterior) i IFNA (a Excel 2013 i posterior). A les versions anteriors d'Excel, podeu utilitzar les combinacions IF ISERROR i IF ISNA.
La diferència és que IFERROR i ISERROR gestionen tots els possibles errors d'Excel, inclosos #VALOR!, #N/A, #NOM?, #REF!, #NUM!, #DIV/0! i #NULL!. Mentre que IFNA i ISNA s'especialitzen únicament en errors #N/A.
Per exemple, persubstituïu l'error "divideix per zero" (#DIV/0!) amb el vostre text personalitzat, podeu utilitzar la fórmula següent:
=IF(ISERROR(A2/B2), "N/A", A2/B2)
I això és tot el que he de dir sobre l'ús del Funció SI a Excel. Us agraeixo la lectura i espero veure-us al nostre bloc la setmana vinent!
Quader de pràctiques per descarregar
Excel IF múltiples criteris: exemples (fitxer .xlsx)