The Excel XOR function returns a logical “exclusive OR” of all arguments and provides TRUE or FALSE output.
If you use two logical tests, XOR will return TRUE if either logical test evaluates to TRUE and return FALSE if both logical values are TRUE.
XOR returns FALSE if neither logical is TRUE.
Syntax, Arguments, and return value
The function uses the following syntax:
=XOR(logical1, logical2,…..)
XOR uses one required and up to a maximum of 254 optional arguments.
- logical1: Expression or constant that returns TRUE or FALSE.
- logical2 [optional]: Expression or constant that returns TRUE or FALSE.
All arguments will evaluate to logical values such as TRUE or FALSE, or in arrays or references that contain logical values.
Return value: We use the XOR function to perform exclusive OR, where the return value is TRUE or FALSE.
Look at the differences between XOR and the OR function. XOR function provides exclusive OR, OR function provides inclusive OR. If you add two logical values as XOR function arguments, the function returns TRUE only if one of the logical is TRUE. If both logical is TRUE, the result is FALSE.
At first, the definition seems complicated, so here is a real-life example. For the sake of simplicity, we have two logicals:
- logical1: the output of “I’ll be at my office until 8 pm.“
- logical2: the output of “I’ll be at the cinema until 8 pm.”
=XOR("I'll be at my office until 8 pm", "I'll be at the cinema until 8 pm")
Based on the XOR function definition: You can’t watch your favorite movie at the cinema and simultaneously work on your project at the office. (If you have superhero skills, you can do that, but set this case aside)
If you are at the office until 8 pm OR at the cinema until 8 pm, the expression is TRUE. In any other cases, the XOR function returns FALSE.
Exclusive OR function with two logical values
If you are working with two arguments, the formula is the following:
=XOR(A1, B1)
In this case, the result will be TRUE if only one of the arguments is TRUE. In all other cases, the result is FALSE.
Working with multiple logical values
Let us see what will happen if you use the XOR function with more than two arguments (logical values).
If you want to simplify the rule, keep in mind: The XOR function returns TRUE when the number of TRUE arguments is odd and FALSE when the number of TRUE arguments is even.
In the example, enter the following formula in G3:
=XOR(B3,C3,D3,E3)
XOR will aggregate the logical test results in each row and return TRUE or FALSE. In G3, the result is TRUE because the number of TRUE arguments is odd (1). Following this logic, in cell G9, the result is TRUE since the number of TRUE values is an odd number (3). This method works based on the algorithm mentioned above in the case of 10+ logical values.
Summary
- Excel will evaluate the XOR function arguments to TRUE/FALSE or 1/0.
- XOR returns TRUE when the number of TRUE arguments is odd, else gets FALSE.
- The function returns a #VALUE error if the result does not contain logical values.
The XOR function performs what is called «exclusive OR», in contrast to the «inclusive OR» performed by the OR function. Whereas the OR function returns true if any input is TRUE, XOR only returns TRUE in specific cases. In the simplest case, with just two logical statements, XOR returns TRUE only if one of the logicals is TRUE. If both values are TRUE, XOR returns FALSE.
The concept of exclusive OR is more common in the world of programming. In plain English, you can think of a sentence like this: «I’m either going to visit New York or San Francisco this summer». Nothing prevents the speaker from visiting both, but the meaning is clearly that they plan to visit only one or the other. If they visit one or the other, the original statement is TRUE. If they visit neither or both, the original statement is FALSE.
Example #1 — two values
In the example shown, the formula in D5, copied down, is:
=XOR(B5,C5)
At each row, XOR only returns TRUE when B5 and C5 contain a single TRUE or equivalent value.
Example #2 — more than two values
With more than 2 values, the behavior of XOR is a bit different. With three or more logicals, XOR only returns TRUE when the number of TRUE values is odd, as shown in the following example:
In this example, XOR is given a range with five values in a single argument instead of five separate arguments. The formula in G6 copied down is:
=XOR(B6:F6)
The result is TRUE only when the number of TRUE values columns B through F is an odd number.
Notes
- Logical arguments must evaluate to TRUE or FALSE, 1 or 0, or be references that contain logical values.
- XOR returns #VALUE! if no logical values are found.
- With more than two logicals, XOR returns TRUE when the number of TRUE logicals is odd, and FALSE if not.
- XOR was introduced in Excel 2013.
Функция OR (ИЛИ) в Excel используется для сравнения двух условий.
Содержание
- Что возвращает функция
- Синтаксис
- Аргументы функции
- Дополнительная информация
- Примеры использования функции OR (ИЛИ) в Excel
- Пример 1. Используем аргументы TRUE и FALSE в функции OR (ИЛИ)
- Пример 2. Используем ссылки на ячейки, содержащих TRUE/FALSE
- Пример 3. Используем условия с функцией OR (ИЛИ)
- Пример 4. Используем числовые значения с функцией OR (ИЛИ)
- Пример 5. Используем функцию OR (ИЛИ) с другими функциями
Что возвращает функция
Возвращает логическое значение TRUE (Истина), при выполнении условий сравнения в функции и отображает FALSE (Ложь), если условия функции не совпадают.
Синтаксис
=OR(logical1, [logical2],…) — английская версия
=ИЛИ(логическое_значение1;[логическое значение2];…) — русская версия
Аргументы функции
- logical1 (логическое_значение1) — первое условие которое оценивает функция по логике TRUE или FALSE;
- [logical2] ([логическое значение2]) — (не обязательно) это второе условие которое вы можете оценить с помощью функции по логике TRUE или FALSE.
Дополнительная информация
- Функция OR (ИЛИ) может использоваться с другими формулами.
Например, в функции IF (ЕСЛИ) вы можете оценить условие и затем присвоить значение, когда данные отвечают условиям логики TRUE или FALSE. Используя функцию вместе с IF (ЕСЛИ), вы можете тестировать несколько условий оценки значений за раз.
Например, если вы хотите проверить значение в ячейке А1 по условию: “Если значение больше “0” или меньше “100” то… “ — вы можете использовать следующую формулу:
=IF(OR(A1>100,A1<0),”Верно”,”Неверно”) — английская версия
=ЕСЛИ(ИЛИ(A1>100;A1<0);»Верно»;»Неверно») — русская версия
- Аргументы функции должны быть логически вычислимы по принципу TRUE или FALSE;
- Текст и пустые ячейки игнорируются функцией;
- Если вы используете функцию с не логически вычисляемыми значениями — она выдаст ошибку;
- Вы можете тестировать максимум 255 условий в одной формуле.
Примеры использования функции OR (ИЛИ) в Excel
Пример 1. Используем аргументы TRUE и FALSE в функции OR (ИЛИ)
Вы можете использовать TRUE/FALSE в качестве аргументов. Если любой из них соответствует условию TRUE, функция выдаст результат TRUE. Если оба аргумента функции соответствуют условию FALSE, функция выдаст результат FALSE.
Больше лайфхаков в нашем Telegram Подписаться
Она может использовать аргументы TRUE и FALSE в кавычках.
Пример 2. Используем ссылки на ячейки, содержащих TRUE/FALSE
Вы можете использовать ссылки на ячейки со значениями TRUE или FALSE. Если любое значение из ссылок соответствует условиям TRUE, функция выдаст TRUE.
Пример 3. Используем условия с функцией OR (ИЛИ)
Вы можете проверять условия с помощью функции OR (ИЛИ). Если любое из условий соответствует TRUE, функция выдаст результат TRUE.
Пример 4. Используем числовые значения с функцией OR (ИЛИ)
Число “0” считается FALSE в Excel по умолчанию. Любое число, выше “0”, считается TRUE (оно может быть положительным, отрицательным или десятичным числом).
Пример 5. Используем функцию OR (ИЛИ) с другими функциями
Вы можете использовать функцию OR (ИЛИ) с другими функциями для того, чтобы оценить несколько условий.
На примере ниже показано, как использовать функцию вместе с IF (ЕСЛИ):
На примере выше, мы дополнительно используем функцию IF (ЕСЛИ) для того, чтобы проверить несколько условий. Формула проверяет значение ячеек А2 и A3. Если в одной из них значение более чем “70”, то формула выдаст “TRUE”.
There are many ways to add logical decision-making to your Excel spreadsheets. In addition to the standard logical operators in Excel (=, <, >, <>, <=, >=), Excel has compound logical functions which let you evaluate multiple conditions at once. The AND, OR, XOR, and NOT functions in Excel let you evaluate many logical conditions and simply return TRUE or FALSE depending on the function. Because they return TRUE or FALSE, these functions are commonly used with IF functions.
Excel AND Function
The AND function in Excel evaluates one or more logical conditions to determine whether ALL of them are true. It takes one or more conditions as its arguments separated by commas, and returns TRUE if ALL of the conditions are true. Otherwise, it returns FALSE.
=AND(condition_1, [condition_2], …)
The AND function only requires one argument, but can take more (up to 255). The arguments can be conditions, numbers and text, and cell references. If a cell reference argument is empty, the function simply ignores it. If an argument is a number, it will treat zero as FALSE and any non-zero number (even negatives) as TRUE.
=AND(1<2, «hello»<>»goodbye») evaluates to TRUE because both conditions are true: 1 is less than 2, and «hello» is not equal to «goodbye».
=AND(1<2, 0) returns FALSE because all arguments must be TRUE for the AND function to return true. While the first argument (1<2) is true, the second argument, 0, evaluates to FALSE, so the AND function must return FALSE.
Excel OR Function
The OR function in Excel evaluates one or more logical conditions to determine whether at least ONE of them is true. It takes one or more conditions as its arguments separated by commas and returns TRUE if at least one of the arguments is true. Otherwise, if all arguments are false, it returns FALSE.
=OR(condition_1, [condition_2], …)
The OR function requires only one argument but can take anywhere up to 255 in most versions of Excel. Like the AND function, the arguments can be conditions, numbers, cell references, even other AND/OR functions. If an argument is a number, it will treat zero as FALSE and any non-zero number as TRUE. It will also ignore blank cell references.
The OR function evaluates each argument and returns TRUE if at least one of the arguments is true.
=OR(1<2, 1) returns TRUE because both arguments are true. The first argument (1<2) is true, and Excel treats the number 1 as true because it is not zero.
=OR(1>2, 1) is also TRUE. The first argument (1>2) is false, but that’s okay because the second argument (1) is treated as TRUE because it’s not zero. As long as one of the arguments is true, OR will return true.
=OR(1>2, 0) will return FALSE because all of its arguments are false.
Excel XOR Function
The XOR function in Excel is the Exclusive OR function which, like the OR function, takes two conditions and evaluates whether one of them is true. But unlike the OR function, XOR returns TRUE if ONLY ONE argument is true. It returns FALSE if both arguments are true, or if both of the arguments are false. If XOR has more than two arguments, it returns TRUE if an ODD number of its arguments are TRUE, and FALSE if an EVEN number of its arguments are TRUE.
=XOR(condition_1, [condition_2], …)
The XOR function also only requires one argument but can take up to 255 in most recent versions of Excel. Like the AND and OR functions, it can take logical conditions, numbers, text, other logical functions, and cell references as its arguments. If a cell reference is blank, XOR will ignore it, and zero will be treated as FALSE while any non-zero number will be TRUE.
=XOR(1=1, «hello»=»goodbye») will return TRUE because only one argument is true. The first argument (1=1) is obviously true, but the second («hello»=»goodbye») is clearly false. Because only one argument is true, XOR returns TRUE.
=XOR(1=1, «hello» <> «goodbye») returns FALSE because multiple arguments are true. The first (1=1) is true, as is the second because «hello» is not equal to (<>) «goodbye» so XOR will return FALSE. XOR will only return TRUE if ONE of the arguments is true.
=XOR(1=2, «hello»=»goodbye») also returns FALSE because none of the arguments is true. The first (1=2) is false as is the second («hello»=»goodbye»).
Excel NOT Function
The NOT function in Excel is perhaps one of the most simple. It takes a single logical argument and returns TRUE or FALSE. It returns the opposite of the argument, so if the argument is true, NOT will return false, and if the argument is false, NOT will return true.
=NOT(condition)
=NOT(1=1) would return FALSE, because the argument is true.
=NOT(1=2) would return TRUE, because the argument is false.
The NOT function is particularly useful when you’re interested in excluding some property in Excel. For example, say you are looking at a spreadsheet of homes in Excel, and the B column contains the home’s city.
A | B | C | D | E | |
---|---|---|---|---|---|
1 | Home # | City | Price | ||
2 | Home 1 | Memphis | 300,000 | ||
3 | Home 2 | Minneapolis | 250,000 | ||
4 | Home 3 | Atlanta | 200,000 |
To exclude any homes in Minneapolis, you could write the following function (starting with row 2) and copy it all the way down the column:
=NOT(B2=»Minneapolis»)
This will return TRUE for any home where the city is not Minneapolis, so it will return true for Home 1 and Home 3, but will return false for Home 2.
Combining Logical Functions in Excel
Now imagine you only want to exclude single-family homes in Minneapolis, but keep other home types. City is still in column B, while home type is in column C.
=NOT(AND(B2=»Minneapolis», C2=»Single-Family»))
A | B | C | D | E | |
---|---|---|---|---|---|
1 | Home # | City | Home Type | ||
2 | Home 1 | Minneapolis | Apartment | ||
3 | Home 2 | Minneapolis | Single-Family | ||
4 | Home 3 | Atlanta | Single-Family |
Because the argument (an AND function) returns TRUE only for single-family homes in Minneapolis, this function will return TRUE for any home that is not a single-family home in Minneapolis. It will return true for Home 1 and Home 3, and will only return false for Home 2.
Combining XOR with AND in Excel
Suppose you love watching new movies, and your favorite movies were made after 2015. Suppose you also love movies that star Will Ferrell and John C. Reilly. But there’s a catch: You hate movies that star Will Ferrell and John C. Reilly that were made after 2015. In the table below, where column B is lead actor, column C is supporting actor, and column D is year, how would you find movies that were made after 2015, and movies with the two co-stars mentioned above, but not movies with the two co-stars made after 2015?
A | B | C | D | |
---|---|---|---|---|
1 | Title | Lead Actor | Supporting Actor | Year |
2 | Step Brothers | Will Ferrell | John C. Reilly | 2008 |
3 | Uncut Gems | Adam Sandler | Idina Menzel | 2019 |
4 | Anchorman | Will Ferrell | Christina Applegate | 2004 |
5 | Holmes & Watson | Will Ferrell | John C. Reilly | 2018 |
You could use the following formula:
=XOR(AND(B2=»Will Ferrell», C2=»John C. Reilly»), D2>2015)
Step Brothers: TRUE because AND(B2=»Will Ferrell», C2=»John C. Reilly») is TRUE while D2>2015 is FALSE.
Uncut Gems: TRUE because AND(B3=»Will Ferrell», C3=»John C. Reilly») is FALSE while D3>2015 is TRUE.
Anchorman: FALSE because both conditions: AND(B4=»Will Ferrell», C4=»John C. Reilly») as well as D4>2015 are FALSE
Holmes & Watson: FALSE because both conditions are true, thus it is a movie with Will Ferrell and John C. Reilly which was made after 2015.
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 for Mac Excel 2016 Excel 2016 for Mac Excel 2013 Excel 2010 Excel 2007 Excel for Mac 2011 Excel Starter 2010 More…Less
To get detailed information about a function, click its name in the first column.
Note: Version markers indicate the version of Excel a function was introduced. These functions aren’t available in earlier versions. For example, a version marker of 2013 indicates that this function is available in Excel 2013 and all later versions.
Function |
Description |
---|---|
AND function |
Returns TRUE if all of its arguments are TRUE |
BYCOL function |
Applies a LAMBDA to each column and returns an array of the results |
BYROW function |
Applies a LAMBDA to each row and returns an array of the results |
FALSE function |
Returns the logical value FALSE |
IF function |
Specifies a logical test to perform |
IFERROR function |
Returns a value you specify if a formula evaluates to an error; otherwise, returns the result of the formula |
IFNA function |
Returns the value you specify if the expression resolves to #N/A, otherwise returns the result of the expression |
IFS function |
Checks whether one or more conditions are met and returns a value that corresponds to the first TRUE condition. |
LAMBDA function |
Create custom, reusable functions and call them by a friendly name |
LET function |
Assigns names to calculation results |
MAKEARRAY function |
Returns a calculated array of a specified row and column size, by applying a LAMBDA |
MAP function |
Returns an array formed by mapping each value in the array(s) to a new value by applying a LAMBDA to create a new value |
NOT function |
Reverses the logic of its argument |
OR function |
Returns TRUE if any argument is TRUE |
REDUCE function |
Reduces an array to an accumulated value by applying a LAMBDA to each value and returning the total value in the accumulator |
SCAN function |
Scans an array by applying a LAMBDA to each value and returns an array that has each intermediate value |
SWITCH function |
Evaluates an expression against a list of values and returns the result corresponding to the first matching value. If there is no match, an optional default value may be returned. |
TRUE function |
Returns the logical value TRUE |
XOR function |
Returns a logical exclusive OR of all arguments |
Important: The calculated results of formulas and some Excel worksheet functions may differ slightly between a Windows PC using x86 or x86-64 architecture and a Windows RT PC using ARM architecture. Learn more about the differences.
See Also
Excel functions (by category)
Excel functions (alphabetical)
Need more help?
-
#1
I hope most those who might answer this know what an exclusive OR is but just in case, here is a simple example…
A1 can be True or False
B1 can be True or False
C1 contains the exclusive OR function of A1/B1
So if…
A1=False, B1=False, then C1 = False
A1=False, B1=True, then C1 = True
A1=True, B1=False, then C1 = True
A1=True, B1=True, then C1 = False
Any ideas for the function that goes in C1? I can’t find a built in function for this.
How to fill five years of quarters?
Type 1Q-2023 in a cell. Grab the fill handle and drag down or right. After 4Q-2023, Excel will jump to 1Q-2024. Dash can be any character.
-
#2
Formula for C1: =NOT(a1=b1)
(copied down)
Gene Klein
-
#3
You’re right, Excel doesn’t have a built-in XOR function, but VBA does, which makes it much easier to make your own. In a standalone module (preferably in an add-in, so you can use it whenever you want, you can enter this function:
Code:
Public Function ExOr(arg1 As Variant, arg2 As Variant)
ExOr = arg1 Xor arg2
End Function
That way, if you want to hardcode one of the numbers instead of using a range, you can.
Hope that helps!
-
#4
doesn’t seem right: not (a=b) is a so called NAND
exor is also ‘easily’ to implement:
=NOT(OR(NOT(OR(A1;B1));AND(A1;B1)))
Hans
-
#5
I would have gone for
=AND(
OR(A1,B1),
NOT(
AND(A1,B1)
)
)
-
#6
is indeed shorter.
I read A1=B1 as an AND but it is meant as comparision and thats why the above first ‘algorithm’ is correct!