Many tasks you perform in Excel involve comparing data in different cells. For this, Microsoft Excel provides six logical operators, which are also called comparison operators. This tutorial aims to help you understand the insight of Excel logical operators and write the most efficient formulas for your data analysis.
Excel logical operators - overview
A logical operator is used in Excel to compare two values. Logical operators are sometimes called Boolean operators because the result of the comparison in any given case can only be either TRUE or FALSE.
Six logical operators are available in Excel. The following table explains what each of them does and illustrates the theory with formula examples.
Condition | Operator | Formula Example | Description |
Equal to | = | =A1=B1 | The formula returns TRUE if a value in cell A1 is equal to the values in cell B1; FALSE otherwise. |
Not equal to | <> | =A1<>B1 | The formula returns TRUE if a value in cell A1 is not equal to the value in cell B1; FALSE otherwise. |
Greater than | > | =A1>B1 | The formula returns TRUE if a value in cell A1 is greater than a value in cell B1; otherwise it returns FALSE. |
Less than | < | =A1<B1 | The formula returns TRUE if a value in cell A1 is less than in cell B1; FALSE otherwise. |
Greater than or equal to | >= | =A1>=B1 | The formula returns TRUE if a value in cell A1 is greater than or equal to the values in cell B1; FALSE otherwise. |
Less than or equal to | <= | =A1<=B1 | The formula returns TRUE if a value in cell A1 is less than or equal to the values in cell B1; FALSE otherwise. |
The screenshot below demonstrates the results returned by Equal to, Not equal to, Greater than and Less than logical operators:
It may seem that the above table covers it all and there's nothing more to talk about. But in fact, each logical operator has its own specificities and knowing them can help you harness the real power of Excel formulas.
Using "Equal to" logical operator in Excel
The Equal to logical operator (=) can be used to compare all data types - numbers, dates, text values, Booleans, as well as the results returned by other Excel formulas. For example:
=A1=B1 | Returns TRUE if the values in cells A1 and B1 are the same, FALSE otherwise. |
=A1="oranges" | Returns TRUE if cells A1 contain the word "oranges", FALSE otherwise. |
=A1=TRUE | Returns TRUE if cells A1 contain the Boolean value TRUE, otherwise it returns FALSE. |
=A1=(B1/2) | Returns TRUE if a number in cell A1 is equal to the quotient of the division of B1 by 2, FALSE otherwise. |
Example 1. Using the "Equal to" operator with dates
You might be surprised to know that the Equal to logical operator cannot compare dates as easily as numbers. For example, if the cells A1 and A2 contain the date "12/1/2014", the formula =A1=A2
will return TRUE exactly as it should.
However, if you try either =A1=12/1/2014
or =A1="12/1/2014"
you will get FALSE as the result. A bit unexpected, eh?
The point is that Excel stores dates as numbers beginning with 1-Jan-1900, which is stored as 1. The date 12/1/2014 is stored as 41974. In the above formulas, Microsoft Excel interprets "12/1/2014" as a usual text string, and since "12/1/2014" is not equal to 41974, it returns FALSE.
To get the correct result, you must always wrap a date in the DATEVALUE function, like this =A1=DATEVALUE("12/1/2014")
Note. The DATEVALUE function needs to be used with other logical operator as well, as demonstrated in the examples that follow.
The same approach should be applied when you use Excel's equal to operator in the logical test of the IF function. You can find more info as well as a few formula examples in this tutorial: Using Excel IF function with dates.
Example 2. Using the "Equal to" operator with text values
Using Excel's Equal to operator with text values does not require any extra twists. The only thing you should keep in mind is that the Equal to logical operator in Excel is case-insensitive, meaning that case differences are ignored when comparing text values.
For example, if cell A1 contains the word "oranges" and cell B1 contains "Oranges", the formula =A1=B1
will return TRUE.
If you want to compare text values taking in to account their case differences, you should use the EXACT function instead of the Equal to operator. The syntax of the EXACT function is as simple as:
Where text 1 and text2 are the values you want to compare. If the values are exactly the same, including case, Excel returns TRUE; otherwise, it returns FALSE. You can also use the EXACT function in IF formulas when you need a case-sensitive comparison of text values, as shown in the below screenshot:
Note. If you want to compare the length of two text values, you can use the LEN function instead, for example =LEN(A2)=LEN(B2)
or =LEN(A2)>=LEN(B2)
.
Example 3. Comparing Boolean values and numbers
There is a widespread opinion that in Microsoft Excel the Boolean value of TRUE always equates to 1 and FALSE to 0. However, this is only partially true, and the key word here is "always" or more precisely "not always" : )
When writing an 'equal to' logical expression that compares a Boolean value and a number, you need to specifically point out for Excel that a non-numeric Boolean value should be treated as a number. You can do this by adding the double minus sign in front of a Boolean value or a cell reference, e. g. =A2=--TRUE
or =A2=--B2
.
The 1st minus sign, which is technically called the unary operator, coerces TRUE/FALSE to -1/0, respectively, and the second unary negates the values turning them into +1 and 0. This will probably be easier to understand looking at the following screenshot:
Note. You should add the double unary operator before a Boolean when using other logical operators such as not equal to, greater than or less than to correctly compare a numeric and Boolean values.
When using logical operators in complex formulas, you might also need to add the double unary before each logical expression that returns TRUE or FALSE as the result. Here's an example of such a formula: SUMPRODUCT and SUMIFS in Excel.
Using "Not equal to" logical operator in Excel
You use Excel's Not equal to operator (<>) when you want to make sure that a cell's value is not equal to a specified value. The use of the Not equal to operator is very similar to the use of Equal to that we discussed a moment ago.
The results returned by the Not equal to operator are analogous to the results produced by the Excel NOT function that reverses the value of its argument. The following table provides a few formula examples.
Not equal to operator | NOT function | Description |
=A1<>B1 | =NOT(A1=B1) | Returns TRUE if the values in cells A1 and B1 are not the same, FALSE otherwise. |
=A1<>"oranges" | =NOT(A1="oranges") | Returns TRUE if cell A1 contains any value other than "oranges", FALSE if it contains "oranges" or "ORANGES" or "Oranges", etc. |
=A1<>TRUE | =NOT(A1=TRUE) | Returns TRUE if cell A1 contains any value other than TRUE, FALSE otherwise. |
=A1<>(B1/2) | =NOT(A1=B1/2) | Returns TRUE if a number in cell A1 is not equal to the quotient of the division of B1 by 2, FALSE otherwise. |
=A1<>DATEVALUE("12/1/2014") | =NOT(A1=DATEVALUE("12/1/2014")) | Returns TRUE if A1 contains any value other than the date of 1-Dec-2014, regardless of the date format, FALSE otherwise. |
Greater than, less than, greater than or equal to, less than or equal to
You use these logical operators in Excel to check how one number compares to another. Microsoft Excel provides 4 comparison operates whose names are self-explanatory:
- Greater than (>)
- Greater than or equal to (>=)
- Less than (<)
- Less than or equal to (<=)
Most often, Excel comparison operators are used with numbers, date and time values. For example:
=A1>20 | Returns TRUE if a number in cell A1 is greater than 20, FALSE otherwise. |
=A1>=(B1/2) | Returns TRUE if a number in cell A1 is greater than or equal to the quotient of the division of B1 by 2, FALSE otherwise. |
=A1<DATEVALUE("12/1/2014") | Returns TRUE if a date in cell A1 is less than 1-Dec-2014, FALSE otherwise. |
=A1<=SUM(B1:D1) | Returns TRUE if a number in cell A1 is less than or equal to the sum of values in cells B1:D1, FALSE otherwise. |
Using Excel comparison operators with text values
In theory, you can also use the greater than, greater than or equal to operators as well as their less than counterparts with text values. For example, if cell A1 contains "apples" and B1 contains "bananas", guess what the formula =A1>B1
will return? Congratulations to those who've staked on FALSE : )
When comparing text values, Microsoft Excel ignores their case and compares the values symbol by symbol, "a" being considered the lowest text value and "z" - the highest text value.
So, when comparing the values of "apples" (A1) and "bananas" (B1), Excel starts with their first letters "a" and "b", respectively, and since "b" is greater than "a", the formula =A1>B1
returns FALSE.
If the first letters are the same, then the 2nd letters are compared, if they happen to be identical too, then Excel gets to the 3rd, 4th letters and so on. For example, if A1 contained "apples" and B1 contained "agave", the formula =A1>B1
would return TRUE because "p" is greater than "g".
At first sight, the use of comparison operators with text values seems to have very little practical sense, but you never know what you might need in the future, so probably this knowledge will prove helpful to someone.
Common uses of logical operators in Excel
In real work, Excel logical operators are rarely used on their own. Agree, the Boolean values TRUE and FALSE they return, though very true (excuse the pun), are not very meaningful. To get more sensible results, you can use logical operators as part of Excel functions or conditional formatting rules, as demonstrated in the below examples.
1. Using logical operators in arguments of Excel functions
When it comes to logical operators, Excel is very permissive and allows using them in parameters of many functions. One of the most common uses is found in Excel IF function where the comparison operators can help to construct a logical test, and the IF formula will return an appropriate result depending on whether the test evaluates to TRUE or FALSE. For example:
=IF(A1>=B1, "OK", "Not OK")
This simple IF formula returns OK if a value in cell A1 is greater than or equal to a value in cell B1, "Not OK" otherwise.
And here's another example:
=IF(A1<>B1, SUM(A1:C1), "")
The formula compares the values in cells A1 and B1, and if A1 is not equal to B1, the sum of values in cells A1:C1 is returned, an empty string otherwise.
Excel logical operators are also widely used in special IF functions such as SUMIF, COUNTIF, AVERAGEIF and their plural counterparts that return a result based on a certain condition or multiple conditions.
You can find a wealth of formula examples in the following tutorials:
2. Using Excel logical operators in mathematical calculations
Of course, Excel functions are very powerful, but you don't always have to use them to achieve the desired result. For example, the results returned by the following two formulas are identical:
IF function: =IF(B2>C2, B2*10, B2*5)
Formula with logical operators: =(B2>C2)*(B2*10)+(B2<=C2)*(B2*5)
I guess the IF formula is easier to interpret, right? It tells Excel to multiply a value in cell B2 by 10 if B2 is greater than C2, otherwise the value in B1 is multiplied by 5.
Now, let's analyze what the 2nd formula with the greater than and less than or equal to logical operators does. It helps to know that in mathematical calculations Excel does equate the Boolean value TRUE to 1, and FALSE to 0. Keeping this in mind, let's see what each of the logical expressions actually returns.
If a value in cell B2 is greater than a value in C2, then the expression B2>C2 is TRUE, and consequently equal to 1. On the other hand, B2<=C2 is FALSE and equal to 0. So, given that B2>C2, our formula undergoes the following transformation:
Since any number multiplied by zero gives zero, we can cast away the second part of the formula after the plus sign. And because any number multiplied by 1 is that number, our complex formula turns into a simple =B2*10 that returns the product of multiplying B2 by 10, which is exactly what the above IF formula does : )
Obviously, if a value in cell B2 is less than in C2, then the expression B2>C2 evaluates to FALSE (0) and B2<=C2 to TRUE (1), meaning that the reverse of the described above will occur.
3. Logical operators in Excel conditional formatting
Another common use of logical operators is found in Excel Conditional Formatting that lets you quickly highlight the most important information in a spreadsheet.
For example, the following simple rules highlight selected cells or entire rows in your worksheet depending on a value in column A:
Less than (orange): =A1<5
Greater than (green): =A1>20
For the detailed-step-by-step instructions and rule examples, please see the following articles:
As you see, the use of logical operators in Excel is intuitive and easy. In the next article, we are going to learn the nuts and bolts of Excel logical functions that allow performing more than one comparison in a formula. Please stay tuned and thank you for reading!
1256 comments
I have a value in cell "A1" (80). A value in cell "B1" (70). Cell "C1" has a formula (=B1-A1) which yields "-10" in "C1".
Cell "D1" has a formula: if(C1<=-10,"yes","")
It works and I get a "yes" if the value in "C1" is less than -10 but I get a blank ("") if the value EQUALS "C1".
If I type in "-10" into cell "D1" it recognizes the "=" part of the function and it works.
I tried substituting "≤" for "<=" to no avail.
Hello!
Your values in A1 and B1 are not integers. Perhaps they are obtained using formulas. Use the ROUND or INT or other rounding function as described in this instruction: How to round numbers in Excel.
I hope this will help.
Hi..
The formula in column C is IF(A1=B1,1,0)
B B 1
C C 1
B B 1
A A 0
C C 1
A D 0
C B 0
A A 0
D D 0
D D 0
B B 1
A D 0
Why it is returning zero for equal values... like D D should return 1
Hi!
Check the values in the cells. Perhaps they contain extra spaces or non-printing characters
What formulae do i use to get the performance status as per below matrix
% Achieved Market Performance Status
100% Top Performer
Above 90% Satisfactory Performer
Below 90% Unsatisfactory Performer
Hi!
Explain in detail what result you want to get.
Hello I have a formula in mind, but I can't write it down in excel maybe you can help me with it.
We have a range between 500 and 600, if a result is lower than 500 then its equal 0, but if its higher or equal than 500 we multiply the result by 2. But maximum result be multiplied by 2 can be up to 600. So if we have a result 700, only 600 will be multiplied by 2.
Do you know what I mean?
Hello!
Please have a look at this article - Nested IF in Excel – formula with multiple conditions.
The formula below will do the trick for you:
=IF(A1<500,0,IF(A1<600,A1*2,600*2+A1-600))
what formula do I use for table type fee schedule like values greater than 0 but not less than or equal to 500 and get 30 for its answer? please help me
Hi!
Here is the article that may be helpful to you: IF AND in Excel: nested formula, multiple statements. Hope this is what you need.
How to compare. ...true r false....example
F1. G1. Diff
Timestamp. TIME_STAMP
Hi! What formula can be used for:
- Let's say the salary is in column G55.
- So, G55 > $1,600 but < $1,500...contribution should detected as $6.20.
Hello!
You can find the answer to your question in this article - Excel IF statement with multiple AND/OR conditions.
Thank you! The article was a great help!!
Need one help
Example:
I have INR 400 .
I need following logic
1St INR 200 should be allocated in 35%
1St INR 80 should be allocated in 30%
and balance to be allocated in 35%
Please help
Hi!
I don't quite understand what your problem is, but I think this article will be helpful: How to calculate percentage in Excel - formula examples.
If this is not what you wanted, please describe the problem in more detail.
Hi,
I want to achieve the following please:
cell D1 and E1 have different dates and the result of the dates is in cell F1 with Today() function.
cell G1 have a text "Done", whenever type "Done" in G1, it should reflect to cell F1 by ignoring whatever in cell F1.
Hi!
From your description it is very difficult to understand what is written in cell F1. But you can completely replace the contents of this cell, ignoring everything in it, only with the help of a VBA macro.
We have already written many times that an Excel formula can only change the cell in which it is written.
CELL"D" CELL"E" CELL"F" =E1-TODAY() CELL"G"
17/01/2022 25/04/2022 67 Days Done
20/01/2022 09/03/2022 20 Days
above example,
Cell F have the difference of Cell E and Today() in days, so when I type "Done" in Cell G,
Cell F values (67Days) to be replaced as "Done"
If I understand your task correctly, the following formula with IF function should work for you:
=IF(G1="Done","Done",E1-TODAY())
I hope it’ll be helpful.
Thank you - That's what I want - Excellent
Thanks a million.
Hello all,
I really need urgent help with regards to if operator. I have some dates in column A and other in column B. I want to keep the maximum of both the dates. So I use the following code: IF (A1>B1, A1,B1). While this works beautifully when we dont have blanks or hyphens. But in some case where a cell is having a hyphen it gives me a hyphen again in my new generated column, which I dont want, I want whatever available year is there in either column A or column B it should come out in my new generated column.
A B C [if A>=B, A,B)
1990 1995 1995
2000 - - [I want this to be as 2000]
What is problematic when I go for a <= code in the same shown example then I do get whatever the available year is. By this I mean the following:
A B C [if A<=B, A,B)
1990 1995 1990
2000 - 2000[I want this to be as 2000]
Why this discrepancy is happening, where am I going wrong here? Is something there that I am missing out?
P.S. Since my analysis has some other connected codes in the same column, I cannot delete hyphens and keep them as blanks. And neither I can use a max code because max gives you 0 in case both the columns A and B have blanks which again is not desirable for me.
Please help!!!
Hello!
You are comparing a number with a character and therefore get the wrong result. Use the ISNUMBER function to test a value for a number.
=IF(IF(ISNUMBER(A1),A1,0)>IF(ISNUMBER(B1),B1,0),A1,B1)
Hi Alexander,
In the first tab I have a list of words "orange" Cell A1 , "banana" CellA2, "pear" cell A3 etc. In the second tab I have a number of other words "ba" CellA1, "ae" CellA2, "xg" Cell A3 etc. I need to write a formula to compare each word in the first tab against all the words in the second tab and if there is a match to any of the words, to return True/False,
For example,
A1 Orange = False (not matches to anything in the second tab)
A2 Banana = TRUE (matches to 'ba' in cell A1 - second tab)
A3 Pear = TRUE (matches to 'ea' in the Cell A2 - second tab)
What formula do you think I can use to do that?
Thank you!
Hello!
If I understand your task correctly, the following formula should work for you:
=IF(SUM(IFERROR(SEARCH(Sheet1!A1,Sheet2!$A$1:$A$10)*(Sheet2!$A$1:$A$10<>""),0)) + SUM(IFERROR(SEARCH(Sheet2!$A$1:$A$10,Sheet1!A1)*(Sheet2!$A$1:$A$10<>""),0)) > 0,TRUE,FALSE)
I hope I answered your question. If something is still unclear, please feel free to ask.
Thank you! This is amazing, it worked!
Assume that there are 3 independent columns in excel with both plus and negative values. The first two columns need to be added and the sign (positive or negative) of the result is noted. Also, note the sign of the 3rd column value on the same row. Then both signs should be compared. If both signs are the same then print “c” on the 4th column. If the signs are different print “w” on the 4th column. Take the 3rd column zero value as a negative value in case you get a zero on the 3rd column. Thanks for your help.
Hi!
Please use the following formula:
=IF((A1+B1)*IF(C1=0,-1,C1) > 0,"C","W")
I hope I answered your question.
IF MY PARAMETERS ARE: IF A SQUAR IS(<than 1M IN WIDTH and < than 25M IN LENTH and <than100M2 in squares( IT WILL BE "patching" otherwise it will be "milling"
What would be the formula
Hello!
You can find the examples and detailed instructions here: Excel IF statement with multiple AND/OR conditions.
I have 4 values in different cells MP-50, UP-20,HP-40 AND AP-6 . how to compare a cell value is less than or equal to this value . If a cell contain MP-7 than pls give me formula to solve this
Hi!
How do you want to compare text values? What result do you want to get exactly?
Description A/C Description A/C
Opening Balance Opening Balance Assets
Rolling Chair Rolling Chair Assets
Color & Brush Color & Brush Assets
Steel Nail Steel Nail Assets
I want to copy A/C as entering description in first column and it auto collect A/C from last column
Hi!
I don't really understand what you want to do. Perhaps you should pay attention to the VLOOKUP function.
Dear sir,
kindly help to set formula in excel for to compare two value which is greater than the grater value will be multiple to other value in between two value
please kindly help me sir
Hi!
Your question is not entirely clear, please specify. Give an example.
Dear sir,
if Cell A1 and B1 is comparing with these two which is a greater value in between A1 and B1 to multiple with other value or cell example A1B1 whichever is greater the greater cell is multiple with C1
Hi!
I asked you to write an example. This means using numbers and writing in which cells they are written. What are you comparing A1 and B1 to? What is A1B1?
Example ( A:1 100 box, B:1 50 box, if i want to take in this which is greater in these two to price for boxes which one is higher box quantity to multiple with a reasonable amount to the supplier suppose
if A:1 have 100 box B:1 have 50 box
greater of these two A:1><B:1 to detect automatically which one is greater and then to multiple as per price
Hi!
I’m sorry but your description doesn’t give me a complete understanding of your task. However, I’ll try to guess and offer you the following formula:
=IF(A1>B1,G1*C1,G1*D1)
Thanks a lot, Sir its work and it help me your genius thank you very much sir very very thanks
my D column has two options: Apple, Orange
my E column is the dispense
My F column is the due date; based on type and dispense date
Question:
If D says apple then my F is 21 days from E
If D says orange then my F is 28 days from E
How do I format my due date?
Hi!
Please have a look at this article: Excel IF statement with multiple AND/OR conditions, nested IF formulas
=IF(D1="Apple",E1+21,IF(D1="Orange",E1+28,""))
I'm making a computation for a crypto game, what is the proper formula for this? I want to leave my battle result column blank but it's still showing "Lose". Can anyone help me with this? Thanks in advance!
=IF(E8>3,"Win",IF(E8<3,"Lose",IF(OR(E8=0,ISBLANK(E8))," ")))
This is the formula that I used.
Hello!
If I got you right, the formula below will help you with your task:
=IF(E8>3,"Win",IF(OR(E8=0,ISBLANK(E8))," ","Lose"))
Hi Alexander! I tried the formula above and it worked! I truly appreciate it!
Hello, I have a specific need which I have not been able to work out through all my trials and searching. I need the fill color of A5 to be yellow if C5 is 240 greater than B5 but less than 351 more than B5. And also need A5 fill color to be red if C5 is greater than 350 more than B5. Is there a formula for this? Example: A5 is yellow fill when B5=2210 and C5=2505, and A5 is red fill when B5=1965 and C5=2475. Is there a formula out there for this? I appreciate any help to come my way.
Hello!
Create the first conditional formatting rule with condition =C5-B5>240 and the second rule with condition =C5-B5>350. Set the priority of the second rule as described in this guide: Apply several conditional formatting rules to one cell.
I hope I answered your question. If something is still unclear, please feel free to ask.
why this is not working in case of custom data validation =OR((F5"Book1"),(F5"Book2"),(F5"Book3"))
i am not sure how to do it