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
Hello
I need to highlight the cells of a row, if the text in one of the cells is equal to one of the other cells.
ex.
DOMV ABGO MASR ABGO
^^ ABGO should be highlighted.
DOMV ABGO MASR LABL
^^ none should be highlighted.
Thanks
Hi Andreas,
need some calrifications
1)"DOMV ABGO MASR ABGO" these all are located in same cell
or located in 4 different cells
2)Do you want to highlight the first "ABGO" or both ABGO s
Need to place a temperature value in a cell if the corresponding time stamp for that temperature record is between two points of time during that 24 hour period. Records are every hour over 2 months.
Hi Confused:
Are you wanting to place a temperature value in a specific column of a temperature record that is between two points in time during a 24 hour period; or are you wanting one value for a range of temperature records for a given date ?
For example, if your two points of time covers three hours; do you want to place three different temperatures in three different cells or one temperature (an average temperature covering the three hours) in one cell ?
Hello,
I am stuck trying to calculate this problem. 5KM or more and less than 15KM, the cost will be 5dollars...
thanks in advance
I have a query about excel formulae
if cell b1- cell a1 is less then 180 days than multiply by 18% and more tnen 180 days but less then 365 days than multiply by 24% and more than 365 days than multiply by 30%
Hi Yash,
You can try the following nested IF formula:
ASSUMPTIONS:
============
-- Using are using a Calendar Year (365)
-- Cells A1 & B1 are formated as a date field
-- Cell C1 contains a base amount in which to apply the percent (18%,24%,30%)
-- Cell D1 contains the nested if formula
Try this:
==========
=IF(B1-A1=180),((B1-A1)<=365)),C1*0.24,C1*0.3))
Quick explanation:
====================
Condition 1 tested by ... B1-A1=180),((B1-A1)<=365))
Condition 3 is defaulted ...
Hope this helps.
I have two tables, Tab1 is of the ages of students, Tab2 is of their test results. i want to find the average score of students between ages 18- 20. Please help with a formula.
Hi yuvan
you can find the result by using this formula
=AVERAGEIFS(A:A,B:B,">=18",B:B,"<=20")
If you need any help please let me know
Hi yuvan you can try this formula to find solution
=AVERAGEIFS(A:A,B:B,">=18",B:B,"<=20")
I am trying to compare the values in two cells, say A1 and A2, and enter a value in another cell as below:
For A1>A2 I want 2
For A1=A2 I want 1
For A1<A2 I Want 0
What formula can I use?
Any help would be appreciated.
Regards,
Hi Jim H,
You can try the following nested IF function:
=IF(A1 < A2,0,IF(A1 = A2,1,2))
This nested IF formula explicitly test for two conditions ("less than" and "equal to")and defaults to the greater than condition; if neither of the two explicit conditions are found true.
Hopes this helps.
How to make this thing happen?
Settled word will appear in a cell link to another cell with 1 or 100% content?
i.e.:
- Cell A1 contains formula: =D4
- Cell D4 contains number 1 or 100%
- Cell A1 will display: Settled
Is it possible?
Please help.
Change the formula in Cell A1 to:
=IF(D4=1,"Settled",D4)
WHAT IS THE bigger than AND between FORMULA
FOR EX.
510
560
530
532
550
520
512
MY QUESTION
How many numbers in column A are between 520 and 540 inclusive
And How many numbers in this list are bigger than 500
Hi Ganesh,
Try these formulas
Q1: =COUNTIFS(A1:A7,">=520",A1:A7,"500")
Q2: COUNTIF(A1:A7,">500")
The system messed up my reply. Should be...
Q1: =COUNTIFS(A1:A7,">=520",A1:A7,"<=540")
I have a question, so i have 5 cells, 4 of the cells have different values in them (dollar amounts) and one is a blank cell, I need that blank cell to look at each dollar amount in the other 4 cells, and choose the large dollar amount to reside in that blank cell.
i can do this with if formulas, but i have to create several more columns in order for this to work. is there a way to do this just with imputing a formula in the one blank cell? i need help asap!! :)
Hi Tim,
You can use the MAX function similar to this:
=MAX(A1:A4)
consider 5% is equal to 100% what formula should use ????
5% is total marks of my employee and it is part of 100% but I want to give him marks in percentage
can anyone help a simple addition case? i want to input number 1-10 on column j1 each number will register how many times did input the same number let say column a1 is the 1 and column b1 is how many times did i input the 1 on column j1 and same with a2 and b2 all the way a10 to b10.
Hi rockmetal,
you can try this formula
=COUNTIF(J:J,$J1)
if you are not getting your requirement let me know
What I want is :
If a1=2 and =3 return f3 in one cell?
Thank you
If text in cell equal than return next text which is not equal to this text after first result from same row and sheet using if and vlookup ?
What is the formula for the following:
I need the cell to count any number between 30 and 43, including 30 and 43.
Hello Liz,
Please try out the COUNTIFS function:
=countifs(A2:A100, ">=30", A2:A100, "<=43")
You can find more information about COUNTIFS here:
https://www.ablebits.com/office-addins-blog/excel-countifs-multiple-criteria/
thanks bro, your formula helped me.
how to check if Cell A1:A10 is equal to B1:B10 ?
=IF(A1:A10=B1:B10,"TRUE","FALSE") and =IF((A1:A10)=(B1:B10),"TRUE","FALSE") is not working. help pls. thank you,
Hello okin,
You need to use an array formula, something like this:
=IF(SUM(--(A1:A10=B1:B10))=ROWS(A1:A10),"TRUE","FALSE")
Don't forget to press Ctrl+Shift+Enter instead of Enter to complete it.
can I ask why?!. why I need to press Ctrl+Shift+Enter instead of Enter to complete it.
Hi Balthier,
Because the formula suggested by Alexander is an array formula that compares 2 arrays rather than 2 cells. And to complete an array formula correctly, you need to press Ctrl+Shift+Enter, which is why array formulas are sometimes called CSE formulas. For more information, please check out this tutorial:
Excel array formulas, functions and constants - examples and guidelines
I need help please.
I have 5 different numbers and I need TRUE if those orders are exact or a FALSE if they don't match.
For example, I want the if function to search cell E2 for numbers ( 1 or 2 or 3 or 4 or 5) and if in fact cell E2 is 5 then, it should say TRUE but if its 6 it should say FALSE
Hi Axel,
You can try the following IF formula with OR statement:
=IF(OR(E2=1, E2=2, E2=3, E2=4, E2=5), TRUE, FALSE)
Trying to find how many dates in a list are between 1year and 3 years old. And then between 3years and 5years. It seems like it should be fairly simple and straightforward but I'm just not getting a correct count no matter what I try.
Thank you in advance!
I want to include an or statement in this formula below so that both No and NA return the true value as 0
=IF((Checklist!$F$60="No"),0,6)
Hello Ross,
Here you go:
=IF(OR(CheckList!$F$60="No", CheckList!$F$60="NA"),0,6)
Hi,
I have a problem for condition my cell data is date I need to know the date is expired or not if it is less than or greater
Hi Sajeer,
You can use the TODAY() function to compare the dates with the current date.
For example, the formula =IF(A1<TODAY(), "Expired", "") will mark all past dates (less than today) as expired.
If you want something different, please explain in more detail.
I need a1 greater than or less than or equal to A1 if it possible
Hello Kinjal,
Here you go:
=IF(AND(A1=B1, C1="X"), E1-F1, "")
Hi Svetlana,
I am trying to get an excel formula to determine if a given number in a cell should be counted in one of three categories. For example:
Category 1 is >12499
Category 2 is >7499 but 2999 but <7500
So I have a column of numbers that need to be put in one of the categories above. For example:
Column A
12800
13000
10000
10000
10000
7000
7000
2500
The answer I am looking for is as follows:
Category 1 = 25800
Category 2 = 30000
Category 3 = 14000
I would be so grateful if you can you help me with the correct formula to use. Thank you.
The categories in the previous question did not list properly here is the corrected version!
Hi Svetlana,
I am trying to get an excel formula to determine if a given number in a cell should be counted in one of three categories. For example:
Category 1 is >12499
Category 2 is >7499 but 2999 but < 7500
So I have a column of numbers that need to be put in one of the categories above. For example:
Column A
12800
13000
10000
10000
10000
7000
7000
2500
The answer I am looking for is as follows:
Category 1 = 25800
Category 2 = 30000
Category 3 = 14000
I would be so grateful if you can you help me with the correct formula to use. Thank you.
So sorry but for some reason the categories did not list correctly again so I will show them in a different way here!1
Category 1 is >12499 and Category 2 is >7499 but 2999 but <7500.
Sorry again but again for some reason the categories are not printing properly so I will show them again differently:
Category 1 is 12500 and above, Category 2 is 7500 up to 12499 and
Category 3 is 3000 up to 7499. I hope it came through this time. You can see from my first two questions what the rest of the question is. Thanks again!!
Hi Douglas,
I think you can accomplish your task by using the following excel formulas:
For Category 1 (Greater or equal to 12500) use:
=SUMPRODUCT(--(A:A>12499),A:A)
For Category 2 (Greater or equal to 7500, but less than 12500) use:
=SUMPRODUCT(--(A:A>7499),--(A:A2999),--(A:A<7500),A:A)
These formulas will add all the data as well. The "--" identifies a function as Boolean (True or False), so that if it doesn't meet this criteria, it multiples the other values by 0, which in turn makes the total 0. Hope that makes sense and helps. I'm hoping you are familiar with the Sumproduct formula.
Good Luck!
Hi Douglas,
thanks for your help, i have learned a new formula from your response
before that i use sum if function to find this type of requirement
like
=SUMIF(A:A,">12500")
=SUMIFS(A:A,A:A,">7500",A:A,"<12499")
=SUMIF(A:A,"<7500")
can you please explain me why we used double negatives(--)here while using this function
Thanks in advance
I want to change values in data example all values less than <0.20 with "-ve" symbol and all values graeter than <0.21 with "+ve" symbols
how ? please help me
Can anyone help me
I want to capture date for negative value where it is equal to its positive value.
For example
2000 12 sep
5000
4000
6000
-6000
-2000. 21 sep
-5000
-4000
Now i want this 21 sep date in front of 13 sep as value against 21 sep is negative value of 2000
Hi Svetlana
first of I must say u r amazing and your article is awesome v good collection, actually my query is I want my table below
Name id
IISL 1
IISL 2
IIDL 3
IIDL 4
IIKL 45
IIKL 5
IIKL 7
as
Name id
IISL 1,2
IIDL 3,4
IIKL 45,5,7
thanks in advance
Thank you for your kind words, Salim.
I'd recommend using our Combine Rows Wizard. It will enable you to achieve the desired result with a couple of clicks. The above link contains the detailed instructions and download link (free trial).
THANK YOU <3 the AND part was what I exactly needed.
I Have 1 query in excel formula:
if Column A is equal to column B and Columnc C contain X then result should be E-F
Hi Svetland, I need a formula for 0-4999 pay 35% for primary and 15% for secondary. 5000-24999 pay 10% primary and 15% secondary. 25000 and above pay 5% primary and 20% secondary. If secondary reaches 25000 pay 5% primary and 0% secondary. Please help