Tomar decisões com IF
=IF(B2>=60, "Pass", "Fail") se lê como uma frase: se a nota for pelo menos 60, escreva Pass; senão, escreva Fail.
Teste primeiro: exatamente 60 passa?
Antes de qualquer regra, abra o laboratório abaixo. Ana tirou 72, Ben 45, Chloe exatamente 60 e Dev 59.5. Digite =IF(B2>=60,"Pass","Fail") em C2 e preencha para baixo. Depois troque >= por > em C4 e veja o que acontece com a Chloe. A fórmula se lê quase como uma frase: se a nota for pelo menos 60, escreva Pass; senão, escreva Fail.
Arraste para girar. Role ou faça pinça para dar zoom.
O que você acabou de digitar: um teste e duas respostas
O IF recebe três argumentos: um teste lógico, o valor a devolver quando o teste é TRUE e o valor a devolver quando é FALSE. A Microsoft o escreve como IF(logical_test, value_if_true, [value_if_false]) e o chama de uma das funções mais populares do Excel. O Sheets usa o mesmo formato. O teste costuma ser uma comparação como B2>=60, uma fórmula minúscula que dá TRUE ou FALSE, e o IF escolhe uma das duas respostas a partir disso. Para os 60 da Chloe, B4>=60 é TRUE e B4>60 é FALSE. Essa única diferença é o que você acabou de ver.
| Comparação | Significado | Com B2 = 72 |
|---|---|---|
| B2=72 | igual a | TRUE |
| B2<>72 | diferente de | FALSE |
| B2>60 | maior que | TRUE |
| B2<60 | menor que | FALSE |
| B2>=72 | pelo menos | TRUE |
| B2<=71 | no máximo | FALSE |
As respostas podem ser texto, números ou cálculos. Texto vai entre aspas duplas, com uma exceção que a Microsoft aponta: TRUE e FALSE, que o Excel entende sozinhos. Então =IF(C2="Yes",1,2) devolve um número, e =IF(C2>B2,C2-B2,0) devolve quanto um valor passou do orçamento, ou 0 quando não passou. Duas aspas sem nada entre elas, "", devolvem um texto com cara de vazio. É o jeito comum de deixar uma célula em branco quando não há nada a informar.
Comparações de texto ignoram maiúsculas e minúsculas, então "yes"="YES" é TRUE. Uma célula vazia comparada com "" também é TRUE, o que torna =IF(A2="", "missing", A2*2) uma boa proteção contra células vazias. A ajuda do Google aponta o erro mais comum com o IF: pôr as duas respostas na ordem errada. Leia a fórmula em voz alta como "se isto, então aquilo, senão o outro", e uma troca costuma saltar aos olhos.
O IF funciona bem numa coluna inteira. Escreva-o uma vez para a primeira linha, com uma referência relativa à nota daquela linha, e preencha para baixo; cada aluno recebe um resultado. Como cada linha tem sua própria cópia, você pode ordenar a lista ou acrescentar alunos embaixo e preencher de novo. Se o teste compara com um limite fixo guardado numa célula, como a nota de aprovação, essa referência precisa de cifrões, exatamente como a alíquota de imposto na primeira unidade deste curso.
Deixar de fora o terceiro argumento
Os dois programas marcam value_if_false como opcional. Deixe-o de fora, faça o teste dar falso, e o Excel devolve o valor lógico FALSE, que fica estranho numa coluna de palavras. A lista de problemas comuns do IF da Microsoft também menciona um 0 na célula quando falta um argumento de resposta. Escreva as duas respostas sempre, mesmo quando uma for só "". Há também um benefício mais discreto. Só o ramo escolhido é calculado, então =IF(B2=0, "none", A2/B2) nunca mostra #DIV/0!; a divisão só roda quando B2 não é 0.
Um IF não precisa terminar em palavras. =B2*IF(C2="member",0.9,1) cobra dos sócios 90% do preço e de todos os outros o preço cheio. Aqui o IF devolve um número e a multiplicação o usa como qualquer outro valor, então uma fórmula por linha substitui duas colunas separadas.
- Usar > quando a regra diz "60 ou mais". =IF(B4>60,...) reprova uma nota de exatamente 60. "Pelo menos" é >=.
- Escrever =IF(A1>5,Yes,No) sem aspas. Yes e No são texto e precisam de aspas; sem elas a fórmula mostra #NAME?. TRUE e FALSE são a exceção.
- Trocar as duas respostas. =IF(B2>=60,"Fail","Pass") roda sem nenhum erro e rotula todos os resultados ao contrário. A ajuda do Google diz que a ordem é o erro mais comum com IF.
- Deixar de fora value_if_false. Quando o teste é falso, o Excel mostra FALSE na célula. Escreva "" se quiser que ela pareça vazia.
- B2 guarda 72. O que =IF(B2>=60, "Pass", "Fail") devolve?
- B5 guarda 59.5. O que =IF(B5>=60, "Pass", "Fail") devolve?
- B4 guarda 60. O que =IF(B4>60, "Pass", "Fail") devolve?
- B2 guarda 72. O que =IF(B2>70,B2-70,0) devolve?
- B2 guarda 0. O que =IF(B2=0, "none", A2/B2) devolve?
- none
- #DIV/0!
- 0
- FALSE
- No Excel, o que =IF(5>9,"big") devolve?
- FALSE
- big
- #N/A
- #VALUE!
- Qual fórmula precisa de aspas para funcionar?
- =IF(A1>5,Yes,No)
- =IF(A1>5,1,0)
- =IF(A1>5,TRUE,FALSE)
- =IF(A1>5,A1,0)
- O que ="yes"="YES" devolve?
- TRUE
- FALSE
- #VALUE!
- yesYES
- A2 está vazia. O que =IF(A2="", "missing", A2*2) devolve?
- Qual é o erro mais comum com o IF, segundo a ajuda do Google?
- Pôr as respostas de verdadeiro e falso na ordem errada
- Usar números como respostas
- Usar >= em vez de >
- Escrever IF em minúsculas
- IF(teste, valor se TRUE, valor se FALSE).
- Comparações: = <> > < >= <=. Comparações de texto ignoram maiúsculas e minúsculas.
- Respostas de texto vão entre aspas; TRUE e FALSE não precisam.
- Dê sempre as duas respostas; só a escolhida é calculada.
Fontes deste 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!)
Data de verificação: 2026-10-19