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! my data is
December November October September August July June May April March February January Need to monitor?
515,100,000 515,100,000 676,700,000 515,100,000 515,100,000 353,500,000 353,500,000 353,500,000 200,000,000 - 353,500,000 - No
is there any formula so the condition in NEED TO MONITOR is Based on IF Values in November and so on is greater than December then its No if its lesser than december then its yes. thank you !
Hi!
If I understand your task correctly, the following tutorial should help: Excel IF between two numbers or dates.
I have a spreadsheet in ‘Numbers Mac’ & I reckon it’s quite similar to Excel. I really need your expertiseto help me solve the question below.
I would like to use a formula to find the tidal window (start & end date with time) from the Tide Table below base on Vsl Eta & Height of Tide Required.
Eg:- ‘CELL ETA’ : 02 Jan 2023 @ 19:00 ‘“CELL HOT REQUIRED”: 2.8
Extract from the tide table as below:-
A B C D E F G H I J K L M N O P Q R S T U V W X Y
1. Date / Time 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
2. 01 Jan 2023 3.8 3.8 3.6 3.3 2.8 2.4 2.0 1.9 1.9 2.0 2.4 2.7 3.0 3.1 3.1 3.1 2.9 2.6 2.3 2.0 1.9 2.0 2.3 2.7
3. 02 Jan 2023 2.8 2.9 3.1 3.3 3.4 3.2 3.0 2.7 2.6 2.3 2.0 1.7 1.0 1.3 1.2 1.1 2.2 3.0 3.2 3.0 2.8 2.6 2.7 2.5
4. 03 Jan 2023 2.8 3.7 3.8 3.6 3.3 3.0 2.6 2.0 1.7 1.7 1.9 2.2 2.6 2.9 3.0 3.2 3.2 3.1 2.8 2.1 2.1 1.9 1.9 2.2
5. 04 Jan 2023 2.3 2.3 2.5 2.7 3.0 2.9 2.8 2.9 2.7 2.3 2.1 2.1 1.8 1.7 1.5 1.8 2.0 2.2 2.4 2.5 2.5 2.6 3.0 3.0
Base on vsl Eta 02nd Jan 2023 @ 19:00 the HOT is 3.0m from the table above (by using formula Index & Match). As per calculation in my spreadsheet, she only required 2.8m in order to pass safely the critical area or shallow water. So anything above or equal to 2.8m is considered as safe tidal window for her to pass. Usually we provide the vsl with 2 tidal window just in case she had been delayed or misss the present window. . Do note that in certain day, there are two tidal window but should provide her the nearest window as per her ETA. It can be either before or after the ETA. Whichever nearest to her ETA is known as ‘PRESENT WINDOW’ and the following window is known as ‘NEXT WINDOW’
Question:-
What formula or how to have a formula input into a particular cell based on Vsl ETA & Height of Tide Required in order to get the tidal window/range ( start date & time to end date & time. How to let the formula pick up the window which is closest or nearest to the Vsl Eta? Or is it necessary to breakdown the formula into a couple of cell before getting the correct answer?
One formula for the ‘PRESENT WINDOW’ another formula for ‘NEXT WINDOW’. ( The formula can be either start & end in one cell or they can also be separate).
The answer is as follows:-
Present window: 02nd/1700 to 02nd/2000
Next window: 03rd/0000 to 03rd/0530 ( is it possible to include interpolation in the formula too )
Thank you in advance.
SID
Hi!
To search for values or set a filter, the data must be arranged by rows, not by columns. Your request goes beyond the advice we provide on this blog. This is a complex solution that cannot be found with a single formula. If you have a specific question about the operation of a function or formula, I will try to answer it.
Hiya,
I am looking for a formula to show the following:
Looking at the sum of a cell (cell A). If its less than zero, return 0. But if its greater than 0, return the value of said cell (cell A), but capped at a maximum 1,000 (or x number).
Could someone kindly provide the formula for this. I can't work it out.
thank you in advance.
Hi!
To show a value by two conditions, use the nested IF function.
=IF(A2<0,0,IF(A2>1000,1000,""))
Or use MIN and MAX function
=MIN(MAX(0,A2),1000)
I hope it’ll be helpful.
Hi, I am looking for a formula to skip going through a pivot table.
I am looking for MAX SUM OF KM PER DAY (or max km done per day), when there can be multiple entries for a given day.
Ex.
2023-01-01 5
2023-01-01 5
2023-01-01 10
2023-01-02 10
2023-01-03 8
2023-01-04 18
Thank you !
(Here the result would yield : 20, since the max sum per day is on 2023-01-01, 5 + 5 + 10)
Hi!
To find the amount for a certain day, maybe you can use the SUMIF function.
Hi!
Based on your description, it is hard to completely understand your task. However, I’ll try to guess and offer you the following guide: Excel MAX IF formula to find largest value with conditions.
i want you to know how a formula is done for,
if C26 is equal to 1, the result should be whichever is less in both amounts of 12.5% of E22 and 20,000/- , otherwise NIL.
I'm trying to make a formula for (if d3 is equal to or less that 10,000 then E3 is 0, if d3 is between 10,001-20,000 then E3 is 50, if d3 is between 20,001-30,000 then E3 is 100, if d3 is between 30,001-40,000 then e3 is 150, if d3 is greater than 40,001 then e3 is 200)
Hi!
See an example of solving such a problem here: Excel Nested IF statement.
i need a formula to calculate wages over 7000 and wages under 7000. and would like to show the amount over or under in a cell
Hi!
Here is the article that may be helpful to you: IF function in Excel: formula examples for text, numbers, dates, blanks.
how do you write this in an IF statement:
IF D2 is 31 then B2*75
=IF(B2=31,B2*75)
Hi
if a row have alphabets like a code A,B,C,UR. i need a final result in another column A<B<C<UR.
is this possible
Hi!
Have you tried the ways described in this blog post? If they don’t work for you, then please describe your task in detail. As it's currently written, it's hard to tell exactly what you're asking.
Hello, great information, thank you.
Is there a logical operator for [="unique value" in a column] is unique in a column?
Ultimately what I'm trying to do is create an include for the filter function and I want to reference a column in the filter function array and, along with a few other filters, only return unique values.
Hi!
Your question is not very clear to me, but perhaps you will find this information useful: Unique values based on multiple criteria. If this is not what you wanted, please describe the problem in more detail.
If I have 3 column of numbers how can I add a 4th with an up, down, or side arrow depending on where the highest number is. Column A has the number of negative reviews recieved, column b has number of neutral reviews received, column c has number of positive reviews received.
For example:
Column A = Down arrow
Column B = Side arrow
Column C = up Arrow
5 9 1 = Side arrow
9 5 1 = Down arrow
1 5 9 = Up arrow
Hello!
Use the MATCH and MAX functions to find the position of the maximum number. The CHOOSE function selects the desired symbol.
=CHOOSE(MATCH(MAX(A1:C1),A1:C1,0),"↓","→","↑")
This should solve your task.
Hi,
What formula should I use to make a categorized column?
I'm trying to create a column using the contents from my Year_Birth column.
Ex: >=1946 but also <= 1964, using three more statements for the other generations.
Thank you!
Hi!
If I understand your task correctly, here is the article that may be helpful to you: IF AND in Excel: nested formula, multiple statements.
I have following integers in this pattern below:
A B C
1 -68 -75 120
2 50 60 -90
How do i make use of formatting frmula to return "1" if two of the cells in A1, B1, C1 are less than zero. AND return "2" if one cell in A2, B2, C2 is less than zero.
Thank you.
Hi!
You can count the number of cells that are greater than 0. To do this, use the COUNTIF function.
Try the following formula:
=COUNTIF(A1:C1,">0")
Hello,
One question, struggling with one assignment, searched everywhere for a solution but I couldn't find it.
We have 2 columns with A1 name and B2 score and we need to assign to the C3 Grade the third column the result.
In case that the score is equal to 50 or smaller than 50 the result will be Bad
If score is between 51-80 or is equal to 51-80 normal
If score is between 91-110 or is equal to 91-110 best
<=50 Bad
51-90 Normal
91-110 Best
Hello!
Look for the example formulas here: Classic Excel nested IF statements.
Hi, I'm rather new to excel and I'm wondering whether it would be possible to change the colour of the cell depending on if it was greater than or less than by a certain value so for instance:
Column A Column B
1 11 15
2 11 9
So, it would be something like if B1 is greather than A1 by 3 then green but if less than by 2 then red.
Apologies for the trouble and if not appropriate!
Hi!
You can solve your problem with conditional formatting. Please have a look at this article: Conditional Formatting tutorial with examples.
Hi
I am looking for a formula that I can use to determine True or False (for conditional formatting prepose).
I want to be able to format a cell containing a value that is greater but not equal to a value in a different cell... So Greater (>) but not equal () to the reference value in a separate formula or cell.
Hi!
We have a special tutorial on this. Please see Excel Conditional Formatting tutorial with examples.
Hi,
Bit of a long story but here goes...
I have 2 columns with differing dates across 2021, 2022 and 2023, and I have set up 2 other columns to extract just the month and year - =IF(F2="","",MONTH(F2)&"/"&YEAR(F2)) & =IF(G2="","",MONTH(G2)&"/"&YEAR(G2)) - this is used to compare changes from column F and G (F being old date and G being a new updated date).
I now need to create a countifs to count a specific group of cells with the following criteria:
=COUNTIFS('Tracker'!$I:$I,"9/2022",'Tracker'!$H:$H,"9/2022",'Tracker'!$M:$M,"Yes")
however I do not get the results I expect when I count manually and I believe it's the "9/2022" part causing the issue. I have successfully used countifs reducing it to "9" (as in just the month) however I need to include the year too as to only search the specific September.
Hope that all makes sense and you can help!
Thanks in advance,
C
For whatever reason the not equal to signs weren't included in the post!
Hello!
Your month and year formulas return a text string. You cannot compare it as a number. An example of how the COUNTIF and COUNTIFS function works with dates can be found here: COUNTIF formulas for dates and COUNTIFS and COUNTIF with multiple criteria for dates.
Hi everybody,
Does there exist a Formula whereby everything I write in a Cell=1, for example:
C3 has the text O00000001
C4 has the text O00000002
C5 has the text O00000003, and so on.
The Formula that I have in place is: =(C3:C300)*27.50. However, in this case the value on C3:C300 has to be numerical, otherwise it doesn't add it up. In my case these are order IDs (starting with O-Oscar)
So, let's say I have 97 cells in C column written with that sequence (O0000001-O0000300)
I have 6 other columns and it would be very helpful if I can simply write:
C3:O00001 D5: O000045 F9: O0004523
Whereby CDF and other have of course different values.
My question, simply put...
Is there a way to make excel count my Order ID on any of the cells as a simple "1".
I tried with IF, didn't work, or I didnt know the exact formula.
Thanks
Hello!
We have a special tutorial on this. Please see - How to show leading zeroes in Excel using a custom number format.
I hope my advice will help you solve your task.
Good day! I have a formula in excel which is =IF(AJ13>=92,1, IF(AJ13>=88,1.25, IF(AJ13>=84,1.5, IF(AJ13>=80,1.75, IF(AJ13>=76,2, IF(AJ13>=72,2.25, IF(AJ13>=68,2.5, IF(AJ13>=64,2.75, IF(AJ13>=60,3,5)))))))))
My problem is, if the data is 88, the result is 1.5 but as you can see I have clearly written in the formula if the data is greater than or equal to 88, the result should be 1.25. Can you help me with this issue? I'll appreciate it a lot. Thanks!
Hi!
I was unable to replicate your issue. If AJ13=88 then the formula returns 1.25
If in cell AJ13 the result is obtained using a formula, then use rounding the number to an integer.
Thanks for replying to my question! I'll try to do your suggestion. Thanks again!
Is this correct?
1+21=22 i need formula of round off to one digit 22 = round off to 20
2+34=36 this is round off to= 40
plz reply the formula
Hello!
The following tutorial should help: How to round numbers in Excel.
Please try the following formula:
=ROUND(A1,-1)
This should solve your task.
hELLO
I have written
=COUNTIFS(D7:D9,">="&AC10,D7:D9,"="&AC10 getting "VALUE!
NEXT
D7:D9 getting a number
"<="&AC10 getting "VALUE!
Can you fix it?
Thank you
mayby this is the right one.
=COUNTIFS(D7:D9,">="&AC10,D7:D9,"<="&AD10)
Hi!
Unfortunately, without seeing your data it is difficult to give you any advice. Please provide me with an example of the source data and the expected result.
Please have a look at this article - Excel COUNTIF - frequently asked questions and issues.
I HAVE EXCEL 2000
=COUNTIFS(D7:D9," > ="&AC10,D7:D9,"="&AC10,D:D," < ="&AD10)
Thank you
The post Does not pass properly.
Can you send me an email where I can send properly?
Hi!
All ranges in the COUNTIF and COUNTIFS functions must be the same size. D7:D9 and D:D in the same formula is invalid.
Thank you