What is MAX IF Formula in Excel?
The MAX IF formula is a combination of two excel functions (MAX and IF Function) that identifies the maximum value from all the outcome that matches the logical test. MAX IF is used as an array formula where the logical test can run multiple times in a data set.
The method to use MAX IF function together is as follows:
=MAX(IF(logical test,value_ if _true,value_ if_ false))
Being an array formula, it should always be used by pressing “Ctrl+Shift+Enter” while running the formula.
Table of contents
- What is MAX IF Formula in Excel?
- How to use Max If Formula in Excel?
- The Cautions While Using MAX IF Formula
- Applications of Excel Max IF Formula
- Frequently Asked Questions
- Recommended Articles
You are free to use this image on your website, templates, etc, Please provide us with an attribution linkArticle Link to be Hyperlinked
For eg:
Source: Max IF in Excel (wallstreetmojo.com)
How to use Max If Formula in Excel?
You can download this Max If Formula Excel Template here – Max If Formula Excel Template
Let us consider the previous example with new numbers in column C. The following image shows the marks scored by students in various subjects. The subjects in the list are written in an unorganized manner.
Let us apply the MAX IF function to ascertain the maximum marks scored by a student in Mathematics.
We apply the following formula.
“=MAX(IF(B2:B11=C14,C2:C11))”
Here, the logical test is “B2:B11=C14.” The value in “B2:B11” is compared with “C14,” which is “Maths”.
The MAX IF formula returns “true” or “false” depending on the logical test. In this example, the array returns all scores of “Maths” obtained by students.
From the range “C2:C11,” the function provides values matching with “Maths.” The maximum array value matching the logical test is 94.
The MAX IF function is entered using “Ctrl+Shift+Enter” to get the maximum value from the given data set.
The Cautions While Using MAX IF Formula
The following points should be kept in mind while using this function:
- The variables of the logical testA logical test in Excel results in an analytical output, either true or false. The equals to operator, “=,” is the most commonly used logical test.read more must be clearly defined; otherwise, the formula may not pass the logical test.
- The selection of cells should be in accordance with the requirement because an incorrect selection may give erroneous results.
Applications of Excel Max IF Formula
The Excel MAX IF function is used in situations where one needs to find a criteria-based maximum value from a large data set. The applications of the MAX IF function are mentioned as follows:
- It is used to find the maximum marks scored by a student in a specific subject. The data set consists of the marks obtained in multiple subjects by all students of a certain class. In such a situation, the data set is large and complex, as shown in the following image:
Even if the list extends to serial number 1000, the MAX IF function helps determine the maximum marks obtained by a student.
- It is used by sales professionals of MNCs to identify the city with maximum sales of specific products. An organization operating at such a large scale works with huge data sets.
- It is used by the meteorological team to find the year in which a particular month recorded the highest temperature. The temperature of different cities over several years is compared and analyzed to study variations of weather.
Frequently Asked Questions
#1 – How to use MAX IF formula with multiple criteria?
The MAX IF function includes additional criteria with nested IF statements. The formula is stated as follows:
“{=MAX(IF(criteria_range1=criteria1,IF(criteria_range2=criteria2,max_range)))}”
Alternatively, the multiplication operation can be used to handle multiple criteria. The formula is stated as follows:
“{=MAX(IF((criteria_range1=criteria1)*(criteria_range2=criteria2), max_range))}”
#2 – How to use MAX IF formula without an array?
The MAX IF formula can be used without an array with the help of the SUMPRODUCT function. The formula is stated as follows:
“=SUMPRODUCT(MAX((criteria_range1=criteria1)*(criteria_range2=criteria2)*max_range))”
If required, the user can add more pairs of criteria.
Note: This formula can be entered using the “Enter” key. It returns the same result as the MAX IF array formula.
#3 – What is the MAXIFS function of Excel?
The MAXIFS function determines the maximum value from a range of values. It is a criteria-based function where the criteria can be dates, numbers, text, and so on.
This function is available to users of Excel 2019 and Excel 365. The syntax of the function is stated as follows: “=MAXIFS(max_range,range1,criteria1,[range2],[criteria2],…)”
The “max_range” is the range of values from which the maximum value is to be determined. The “range1” is the first range to be evaluated. The “criteria1” is the criteria used on the first range.
Note: In the MAXIFS function, the user can enter 126 range/criteria pairs. Every range whose values are to be evaluated against a criterion must be of the same size as the “max_range.”
- The MAX function is an array formula that finds the maximum value in a given range.
- The IF function is a conditional function that displays results based on certain criteria.
- The MAX IF function identifies the maximum value from all the array values that match the logical test.
- The formula of Excel MAX If function is “=MAX(IF(logical test,value_ if _true,value_if_ false)).”
- The MAX IF formula is used to find the maximum marks obtained by a student, the maximum sales of a product, the maximum temperature of a month, and so on.
Recommended Articles
This has been a guide to MAX IF in Excel. Here we discuss how to use it to find maximum values along with practical examples and a downloadable Excel template. You may learn more about Excel from the following articles –
- Examples of IF Formula in Excel
- How to Add Borders in Excel?
- VLOOKUP Function in VBA Excel
- SUMPRODUCT Function with Multiple Criteria
Excel MAX IF Function (Table of Contents)
- MAX IF in Excel
- How to Use MAX IF Function in Excel?
MAX IF in Excel
Max function and IF function in Excel are used to find the maximum value from the given range of datasets with the defined criteria. The MAX function returns the maximum value from the select number range, and the IF function helps find that number with chosen criteria. For this, we can first apply the IF function where, as per syntax, first choose Criteria Range and with the criteria we want, then select the value range. Once done, then cover the complete IF function in the MAX function’s syntax with curly brackets.
In Microsoft Excel, there is no such separate syntax for the MAXIF function, but we can combine the MAX and IF function in an array formula.
MAX Formula in Excel
Below is the MAX Formula in Excel:
Arguments of MAX Formula:
- number1: This number1 refers to a numeric value or range which contains a numeric value.
- number2 [optional]: This number2 refers to a numeric value or range which contains a numeric value.
IF Formula in Excel
Below is the IF Formula in Excel:
Arguments of IF Formula:
- Logical test: Which is a logical expression value to check the value is TRUE or FALSE.
- value _if_ true: Which is a value that returns if the logical test is true.
- value _if_ false: Which is a value that returns if the logical test is false.
How to Use MAX IF Function in Excel?
MAX and IF Functions in Excel is very simple and easy to use. Let’s understand the working of the MAX IF Function in Excel with some example.
You can download this MAX IF Function Excel Template here – MAX IF Function Excel Template
Example #1 – MAX Function in Excel
In this example, we will first learn how to use the MAX function with the below example.
Consider the below example, which shows sales data of the product category wise.
Now we will use the MAX function to find out which has the largest sales value by following the below steps.
Step 1 – First, select the new cell, i.e. D11.
Step 2 – Apply the MAX function i.e. =MAX(D2:D9)
Step 3 – Press enter so that we will get the MAX value is 1250, which is shown in the below screenshot.
In the below result, the Max function will check for the largest number in the D column and return the maximum sales value as 1250.
Example #2 – Using MAX IF Function in Excel with an array formula
In this example, we will learn how to use MAX IF function in Excel. Assume that we need to check the largest sales value category wise. Using only the max function, we can check only the maximum value, but we cannot check the maximum value category wise if the sales data contain a huge category and sales value.
In such a case, we can combine MAX and If Function with an array formula so that it makes the task very easier to find out the largest sales value category wise in Excel.
Consider the below example, which has Product Name, Category and Sales value which is shown below.
Now we will apply the Excel MAX IF function to find out the maximum sales value by following the below steps.
Step 1 – First, we will create a new table with a category name to display the result, as shown below.
Step 2 – Select cell G4.
Step 3 – Apply the MAX IF formula i.e. =MAX(IF(C$2:C13=F4,D2:D13))
In the above formula, we have applied MAX and IF function and then we selected Column C2 to C13 where we have listed the category name as C2:C13 and then we have checked the condition by selecting the cell as F4 where the F4 column is nothing but Category Name.
Now the if condition will check for the entire category name in C2 to C13 column whether it matches with the mentioned Category name in the F4 column; if the category name matches, it will return the largest sales value from the selected D column as D2 to D13 and lock the cells by pressing F4 where we will get the $ symbol to indicate that cells are locked, and we have given the Formula as =MAX(IF($C$2:$C$13=F4,$D$2:$D$13)).
After the MAXIF function is completed by closing all the brackets now, hold SHIFT+CTRL and then press enter as SHIFT+CTRL+ENTER so that we will get the output in array formula where we will get open and closing parenthesis at the opening and end of the statement, which is shown in the below screenshot.
Here as we can see in the above screenshot MAX IF function check for the category name in the D column as well as in the F column, and if it matches, it will return the largest value; here in this example, we got the output as 330 which is a largest sales value in the category.
Now drag down the MAX IF formulas for all the cell so that we will get the output result which is shown below.
Example #3 – Using MAX IF Function in Excel with an array formula
In this example, we will use the same Excel MAX IF function to find out the highest marks from a set of students.
Consider the below example, which shows student name along with their Gender and Marks, which is shown below.
Here in this example, we are going to find out Gender wise who has scored the highest marks by following the below steps.
Step 1 – First, create a new table with Male and Female as a separate column to display the result, which is shown below.
Step 2 – Now, we will apply the Excel MAX IF function as follows. Select cell D11.
Step 3 – Insert the MAX IF function by selecting the Gender column from C2 to C9.
Now we have to give the condition as IF(C2:C9=C11,D2:D9), which means that the IF condition will check for the gender from the C2 column whether it matches with C11 and If the gender matches MAX IF function returns the highest value.
Step 4 – Now lock the cells by pressing F4 so that the selected cells will be locked, which is shown in the below screenshot.
Step 5 – Once we complete the MAXIF function, Hit SHIFT+CRL+ENTER to make it an array formula to see the opening and closing parenthesis in the MAX IF function, which is shown below.
We can see that we got the highest mark as 95 for the gender MALE in the above screenshot.
Step 6 – Drag down the formula for all the below cells so that we will get the output as shown below.
In the above result using the Excel MAX IF function, we have found the highest marks gender-wise where MALE has scored 95 as the highest mark, and for FEMALE, we got 93 as the Highest mark.
Things to Remember
- In Microsoft Excel, there is no such MAX IF function as SUMIF and COUNTIF.
- We can use the MAX and IF function by combining them in the formulation.
- MAX IF function will throw an error #VALUE! If we did not apply the SHIFT+ENTER +KEY, make sure that you are using MAX IF function as an array formula.
Recommended Articles
This has been a guide to MAX IF in Excel. Here we discuss how to use MAX IF Function in Excel along with practical examples and downloadable excel templates. You can also go through our other suggested articles –
- MAX Excel Function
- SUMIF in Excel
- Excel SUM MAX MIN AVERAGE
- MAX Formula in Excel
In this example, the goal is to get the maximum value for each group in the data as shown. The easiest way to solve this problem is with the MAXIFS function. However, there are actually several options. If you need more flexibility (i.e. you need to work with arrays and not ranges), you can use the MAX function with the FILTER function. To create a dynamic summary table with a single all-in-one formula, you can use the BYROW function. In older versions of Excel without the MAXIFS function, you can use an array formula based on the MAX function and the IF function. Each approach is explained below.
Excel Table
For convenience, all data is in an Excel Table named data in the range B5:C16. Excel Tables are a convenient way to work with data in Excel because they (1) automatically expand to include new data and (2) offer structured references, which allow you to refer to columns by name instead of by address. If you are new to Excel Tables, this article provides an overview.
MAXIFS function
The MAXIFS function can get the maximum value in a range based on one or more criteria. The generic syntax for MAXIFS with a single condition looks like this:
=MAXIFS(max_range,range1,criteria1)
Note that the condition is defined with two arguments: range1 and criteria1. In this problem, the condition is that the group value in column B must equal the group value in column E. We start off with the max_range, which is the Value column:
=MAXIFS(data[Value],
Next, we add the criteria range, which is the Group column:
=MAXIFS(data[Value],data[Group],
Finally, we add the criteria itself, the value in cell E5:
=MAXIFS(data[Value],data[Group],E5)
As the formula is copied down, the table references behave like absolute references and don’t change. The reference to E5 is relative and changes at each new row. The result is the maximum value for each group listed in column E.
The MAXIFS function is a straightforward solution that works well. However, it does have one significant limitation: the range arguments inside MAXIFS must be actual ranges, you can’t substitute arrays. If you need to use arrays, see the MAX + FILTER option, or the all-in-one summary table formula based on the BYROW function below.
MAX + FILTER
In the dynamic array version of Excel, another way to solve this problem is with the MAX function and the FILTER function like this:
=MAX(FILTER(data[Value],data[Group]=E5))
Inside the MAX function, the FILTER function is configured to filter values by group:
FILTER(data[Value],data[Group]=E5)
Array is provided as the Value column in the table, and the include argument is a simple expression:
data[Group]=E5
With «A» in cell E5, the expression above returns an array like this:
{TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE}
Because there are 12 values in Group, there are 12 TRUE and FALSE results. The TRUE values correspond to values in the table associated with group A. With the array above acting as a filter, the FILTER function returns an array that contains the four values in group A directly to the MAX function:
=MAX({81;131;127;140})
MAX then returns a final result of 140. The primary advantage of using the MAX function with the FILTER function is that you are not required to supply a range of values on the worksheet. You can instead provide an array of values created with another operation. This is very useful when the source data needs to be manipulated in some way before a max value is calculated.
Summary table with BYROW
In the latest version of Excel, which supports dynamic array formulas, you can create a single all-in-one formula that builds the entire summary table, including headers, like this:
=LET(
groups,data[Group],
values,data[Value],
ugroups,UNIQUE(groups),
results,BYROW(ugroups,LAMBDA(r,MAX(FILTER(values,groups=r)))),
VSTACK({"Group","Max"},HSTACK(ugroups, results))
)
The LET function is used to assign four intermediate variables: groups, values, ugroups, and results. Both groups and values are simple assignments to rows in the table:
groups,data[Group],
values,data[Value],
This is done primarily to make the formula more portable. Defining these variables here keeps all of the worksheet references at the top of the formula where they can be easily changed.
In our summary table, we want a list of unique groups, so we define ugroups (unique groups) with the UNIQUE function like this:
ugroups,UNIQUE(groups), // get unique groups
From the 12 rows in the data, the UNIQUE function returns just 3 unique groups:
{"A";"B";"C"} // unique groups
Note: you could run groups through the SORT function to ensure that groups are in the correct order. In this case the source data already shows groups in order, so it is not necessary.
At this point, we are ready to calculate the max values for each group. We do this with the BYROW function which calculates the maximum values and assigns the result to the variable results:
results,BYROW(ugroups,LAMBDA(r,MAX(FILTER(values,groups=r))))
BYROW runs through the ugroups values row by row. At each row, it applies this calculation:
LAMBDA(r,MAX(FILTER(values,groups=r)))
The value r is the unique group in the «current» row in the summary table. Inside the MAX function, the FILTER function is configured to filter values by group like this:
FILTER(values,groups=r)
In the first row (group A), the result from FILTER is an array like this:
{81;131;127;140}
This array is delivered directly to the MAX function, which returns the maximum number. When BYROW is finished, we have an array with 3 numbers (one for each group) like this:
{140;137;143} // results
This array is the value assigned to results. Finally the HSTACK and VSTACK functions are used to assemble a complete table:
VSTACK({"Group","Max"},HSTACK(ugroups, results))
At the top of the table, the array constant {«Group»,»Max»} creates a header row. The HSTACK function combines ugroups and results horizontally, and VSTACK combines the header row and the data to make the final table. The final result spills into multiple cells on the worksheet.
MAX + IF
In older versions of Excel that do not have the MAXIFS function, you can solve this problem with an array formula based on the MAX function and the IF function like this:
=MAX(IF(data[Group]=E5,data[Value]))
Note: this is an array formula and must be entered with control + shift + enter in Legacy Excel.
Working from the inside out, the IF function is evaluated first. The logical test is an expression that tests the entire Group column against the value in cell E5:
=IF(data[Group]=E5 // logical test
Because there are 12 values in data[Group], the result is an array with 12 TRUE / FALSE values like this:
{TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE}
The TRUE values correspond to rows where the group is «A». For all other groups, the value is FALSE. For value_if_true, we supply the Value column, and we omit value_if_false altogether:
IF(data[Group]=E5,data[Value])
The final result from IF is an array like this:
{81;FALSE;FALSE;131;FALSE;FALSE;127;FALSE;FALSE;140;FALSE;FALSE}
Looking at the values in this array, you can see that the IF function acts like a filter. Only numbers associated with group «A» make it through the filter, other values are replaced with FALSE. The IF function delivers this array directly to the MAX function:
=MAX({81;FALSE;FALSE;131;FALSE;FALSE;127;FALSE;FALSE;140;FALSE;FALSE})
The MAX function automatically ignores FALSE values and returns the maximum number in the array: 140.
Содержание
- Max If (Max Value with Condition) – Excel & Google Sheets
- MAXIFS Function
- Max If Array Function
- Max If – Multiple Criteria
- Max If – Multiple Criteria with Cell References
- Locking Cell References
- Max If (Max Value with Condition) in Google Sheets
- Max if criteria match
- Related functions
- Summary
- Generic formula
- Explanation
- With MAXIFS
- Формула Excel MAX IF, чтобы найти наибольшее значение с условиями
- Формула Excel МАКС ЕСЛИ
- Как работает эта формула
- Формула MAX IF с несколькими критериями
- Как работают эти формулы
- МАКС. ЕСЛИ без массива
- Как работает эта формула
- Формула Excel MAX IF с логикой ИЛИ
- Как работают эти формулы
- MAXIFS — простой способ найти максимальное значение с условиями
Max If (Max Value with Condition) – Excel & Google Sheets
Download the example workbook
This tutorial will demonstrate how to find the largest value which meets specific conditions in Excel and Google Sheets.
MAXIFS Function
Users of Google Sheets and Excel 2019 or later can use the single MAXIFS Function .
This example uses the MAXIFS and DATE Functions to show the largest Order Size for each Store Name for Order Dates before 4/30/2021:
The MAXIFS Function does not require the user to press CTRL + SHIFT + ENTER when entering the formula.
Max If Array Function
If you don’t have access to the MAXIFS Function, you can create an Array Formula to simulate the MAXIFS Function. We will walk through this below.
The MAX Function identifies the largest value in a series of numbers.
We can use the MAX Function combined with an IF Function to identify the largest value that meets a specified condition.
This example will use the MAX and IF Functions in an array formula to identify the largest Order Size for each Store Name
In Office 365 and versions of Excel after 2019, you can simply enter the above formula like you normally would (by pressing ENTER).
However, for Excel 2019 and earlier you must enter the formula by pressing CTRL + SHIFT + ENTER. After doing so, you’ll notice curly array brackets appear around the formula.
To show how this formula works, let’s break it down into steps.
This is our final formula (shown without the automatically added array formula brackets):
First, the cell range values are added to the formula as arrays:
Next the Store Name =”A” condition produces an array of TRUE/FALSE values:
Then the IF Function changes all TRUE values into the relevant Order Size:
The MAX Function identifies the largest number in the array, whilst ignoring any FALSE values, to show the largest Order Size for the Store Name = “A”:
Max If – Multiple Criteria
We can also identify the largest value based on multiple criteria by using Boolean logic.
This example will show the largest Order Size for each Store Name, but for Order Dates before 4/30/2021 by using the MAX, IF and DATE Functions:
Notice here we multiply two sets of TRUE/FALSE criteria together:
If both criteria are TRUE then the total condition will calculate as TRUE, but if one (or more) criteria is FALSE it will calculate as FALSE.
Using this methodology, it is possible to add many different criteria to this formula.
Max If – Multiple Criteria with Cell References
Usually, it is not good practice to hard-code values into formulas. Instead, it’s more flexible to use separate cells to define the criteria.
To match the Store Name to the value shown in column F, we can update the formula to be:
Locking Cell References
To make our formulas easier to read, we’ve shown the formulas without locked cell references:
But these formulas will not work properly when copy and pasted elsewhere in your file. Instead, you should use locked cell references like this:
Read our article on Locking Cell References to learn more.
Max If (Max Value with Condition) in Google Sheets
The examples shown above work exactly the same in Google Sheets as in Excel, but as the MAXIFS Function is available, it is recommended to use this single function instead of combining the MAX and IF Functions.
If you do want to use the MAX / IF Array Formula, then enter the formula within the ARRAYFORMULA Function (Or simply use CTRL + SHIFT + ENTER and Google Sheets will add this function for you).
Источник
Max if criteria match
Summary
To find the maximum value in a range with specific criteria, you can use a basic array formula based on the IF function and MAX function. In the example shown, the formula in cell H8 is:
which returns the maximum temperature on the date in H7.
Note: this is an array formula and must be entered with Control + Shift + Enter
Generic formula
Explanation
The example shown contains almost 10,000 rows of data. The data represents temperature readings taken every 2 minutes over a period of days. For any given date (provided in cell H7), we want to get the maximum temperature on that date.
Inside the IF function, logical test is entered as B5:B9391=H7. Because we’re comparing the value in H7 against a range of cells (an array), the result will be an array of results, where each item in the array is either TRUE or FALSE. The TRUE values represent dates that match H7.
For the value if true, we provide the range E5:E9391, which fetches all the full set of temperatures in Fahrenheit. This returns an array of values the same size as the first array.
The IF function acts as a filter. Because we provide IF with an array for the logical test, IF returns an array of results. Where the date matches H7, the array contains a temperature value. In all other cases, the array contains FALSE. In other words, only temperatures associated with the date in H7 survive the trip through the IF function.
The array result from the IF function is delivered directly to the MAX function, which returns the maximum value in the array.
With MAXIFS
In Excel O365 and Excel 2019, the new MAXIFS function can find the maximum value with one or more criteria without the need for an array formula. With MAXIFS, the equivalent formula for the this example is:
Источник
Формула Excel MAX IF, чтобы найти наибольшее значение с условиями
В статье показано несколько различных способов получить максимальное значение в Excel на основе одного или нескольких указанных вами условий.
В нашем предыдущем руководстве мы рассмотрели распространенное использование функции MAX, которая предназначена для возврата наибольшего числа в наборе данных. Однако в некоторых ситуациях вам может потребоваться углубиться в свои данные, чтобы найти максимальное значение на основе определенных критериев. Это можно сделать с помощью нескольких различных формул, и в этой статье объясняются все возможные способы.
Формула Excel МАКС ЕСЛИ
До недавнего времени в Microsoft Excel не было встроенной функции МАКС. ЕСЛИ для получения максимального значения в зависимости от условий. С введением MAXIFS в Excel 2019 мы можем легко выполнять условное максимальное значение.
В Excel 2016 и более ранних версиях вам все равно придется создавать собственную формулу массива, комбинируя функцию MAX с оператором IF:
<=МАКС(ЕСЛИ(критерии_диапазонзнак равнокритерии, максимальный_диапазон))>
Чтобы увидеть, как эта общая формула MAX IF работает с реальными данными, рассмотрим следующий пример. Предположим, у вас есть таблица с результатами прыжков в длину нескольких учеников. В таблицу включены данные по трем раундам, и вы ищете лучший результат конкретного спортсмена, скажем Якова. С именами учащихся в A2:A10 и расстояниями в C2:C10 формула принимает следующий вид:
Помните, что формулу массива всегда нужно вводить, одновременно нажимая клавиши Ctrl + Shift + Enter. В результате он автоматически обрамляется фигурными скобками, как показано на скриншоте ниже (набор фигурных скобок вручную не работает!).
В реальных рабочих листах критерий удобнее вводить в какую-то ячейку, чтобы можно было легко изменить условие, не меняя формулу. Итак, набираем нужное имя в F1 и получаем следующий результат:
=МАКС(ЕСЛИ(A2:A10=F1, C2:C10))
Как работает эта формула
В логическом тесте функции ЕСЛИ мы сравниваем список имен (A2:A10) с целевым именем (F1). Результатом этой операции является массив значений ИСТИНА и ЛОЖЬ, где значения ИСТИНА представляют имена, совпадающие с целевым именем (Джейкоб):
Для значение_ если_истина аргумент, мы предоставляем результаты длинного перехода (C2:C10), поэтому, если логический тест оценивается как TRUE, возвращается соответствующее число из столбца C. значение_ если_ложь аргумент опущен, то есть будет иметь значение FALSE, если условие не выполняется:
Этот массив передается функции MAX, которая возвращает максимальное число, игнорируя значения FALSE.
Кончик. Чтобы просмотреть внутренние массивы, описанные выше, выберите соответствующую часть формулы на листе и нажмите клавишу F9. Чтобы выйти из режима оценки формулы, нажмите клавишу Esc.
Формула MAX IF с несколькими критериями
В ситуации, когда вам нужно найти максимальное значение на основе более чем одного условия, вы можете:
Используйте вложенные операторы IF, чтобы включить дополнительные критерии:
<=МАКС(ЕСЛИ(критерии_диапазон1знак равнокритерии1ЕСЛИ(критерии_диапазон2знак равнокритерии2, максимальный_диапазон)))>
Или обработайте несколько критериев, используя операцию умножения:
<=МАКС(ЕСЛИ((критерии_диапазон1знак равнокритерии1) * (критерии_диапазон2знак равнокритерии2), максимальный_диапазон))>
Допустим, у вас есть результаты юношей и девушек в одной таблице и вы хотите найти самый длинный прыжок среди девушек в 3 туре. Для этого вводим первый критерий (женский) в G1, второй критерий (3) в G2 и используйте следующие формулы для определения максимального значения:
=МАКС(ЕСЛИ(B2:B16=G1, ЕСЛИ(C2:C16=G2, D2:D16)))
Поскольку обе формулы являются формулами массива, не забудьте нажать Ctrl + Shift + Enter, чтобы заполнить их правильно.
Как показано на снимке экрана ниже, формулы дают одинаковый результат, поэтому какую из них использовать, зависит от ваших личных предпочтений. Для меня формулу с булевой логикой легче читать и строить — она позволяет добавлять сколько угодно условий без вложения дополнительных функций ЕСЛИ.
Как работают эти формулы
Первая формула использует две вложенные функции ЕСЛИ для оценки двух критериев. В логической проверке первого оператора IF мы сравниваем значения в столбце «Пол» (B2:B16) с критерием в G1 («Женский»). Результатом является массив значений TRUE и FALSE, где TRUE представляет данные, соответствующие критерию:
Аналогичным образом вторая функция ЕСЛИ проверяет значения в столбце округления (C2:C16) на соответствие критерию в G2.
Для значение_если_истина аргумент во втором операторе IF, мы предоставляем результаты прыжка в длину (D2:D16), и таким образом мы получаем элементы, которые имеют TRUE в первых двух массивах в соответствующих позициях (т. е. элементы, где пол «женский» и круглые равно 3):
Этот последний массив передается функции MAX, и она возвращает наибольшее число.
Вторая формула оценивает одни и те же условия в рамках одного логического теста, а операция умножения работает как оператор И:
Когда значения TRUE и FALSE используются в любой арифметической операции, они преобразуются в 1 и 0 соответственно. А поскольку умножение на 0 всегда дает ноль, результирующий массив имеет 1 только тогда, когда все условия ИСТИННЫ. Этот массив оценивается в логической проверке функции ЕСЛИ, которая возвращает расстояния, соответствующие элементам 1 (ИСТИНА).
МАКС. ЕСЛИ без массива
Многие пользователи Excel, в том числе и я, предвзято относятся к формулам массивов и стараются по возможности избавиться от них. К счастью, в Microsoft Excel есть несколько функций, которые изначально обрабатывают массивы, и мы можем использовать одну из таких функций, а именно СУММПРОИЗВ, как своего рода «оболочку» вокруг MAX.
Общая формула MAX IF без массива выглядит следующим образом:
=СУММПРОИЗВ(МАКС((критерии_диапазон1знак равнокритерии1) * (критерии_диапазон2знак равнокритерии2) * максимальный_диапазон))
Естественно, при необходимости вы можете добавить больше пар диапазон/критерий.
Чтобы увидеть формулу в действии, мы будем использовать данные из предыдущего примера. Цель состоит в том, чтобы получить максимальный прыжок спортсменки в раунде 3:
=СУММПРОИЗВ(МАКС(((B2:B16=G1) * (C2:C16=G2) * (D2:D16))))
Эта формула заменяется обычным нажатием клавиши Enter и возвращает тот же результат, что и формула массива MAX IF:
Присмотревшись к приведенному выше снимку экрана, вы можете заметить, что недопустимые переходы, отмеченные знаком «x» в предыдущих примерах, теперь имеют 0 значений в строках 3, 11 и 15, и в следующем разделе объясняется, почему.
Как работает эта формула
Как и в случае с формулой МАКС. ЕСЛИ, мы оцениваем два критерия, сравнивая каждое значение в столбцах «Пол» (B2:B16) и «Округление» (C2:C16) с критериями в ячейках G1 и G2. Результатом являются два массива значений TRUE и FALSE. Умножение элементов массивов в одинаковых позициях преобразует ИСТИНА и ЛОЖЬ в 1 и 0 соответственно, где 1 представляет элементы, соответствующие обоим критериям. Третий умноженный массив содержит результаты прыжков в длину (D2:D16). И поскольку умножение на 0 дает ноль, выживают только элементы, имеющие 1 (ИСТИНА) в соответствующих позициях:
В случае максимальный_диапазон содержит любое текстовое значение, операция умножения возвращает ошибку #ЗНАЧ, из-за которой вся формула не работает.
Функция MAX берет его отсюда и возвращает наибольшее число, удовлетворяющее заданным условиям. Результирующий массив, состоящий из одного элемента <4.63>, поступает в функцию СУММПРОИЗВ и выводит максимальное число в ячейке.
Примечание. Из-за своей специфической логики формула работает со следующими оговорками:
- Диапазон, в котором вы ищете наибольшее значение, должен содержать только числа. Если есть какие-либо текстовые значения, #VALUE! возвращается ошибка.
- Формула не может оценить условие «не равно нулю» в отрицательном наборе данных. Чтобы найти максимальное значение без учета нулей, используйте либо формулу МАКС. ЕСЛИ, либо функцию МАКС.
Формула Excel MAX IF с логикой ИЛИ
Чтобы найти максимальное значение при выполнении любого из указанных условий, используйте уже знакомую формулу массива МАКС ЕСЛИ с булевой логикой, но сложите условия, а не перемножайте их.
<=МАКС(ЕСЛИ((критерии_диапазон1знак равнокритерии1) + (критерии_диапазон2знак равнокритерии2), максимальный_диапазон))>
Кроме того, вы можете использовать следующую формулу без массива:
=СУММПРОИЗВ(МАКС(((критерии_диапазон1знак равнокритерии1) + (критерии_диапазон2знак равнокритерии2)) * максимальный_диапазон))
Для примера вычислим лучший результат в раундах 2 и 3. Обратите внимание, что в языке Excel задача формулируется иначе: вернуть максимальное значение, если раунд либо 2, либо 3.
С раундами, перечисленными в B2:B10, результатами в C2:C10 и критериями в F1 и H1, формула выглядит следующим образом:
=МАКС(ЕСЛИ((B2:B10=F1) + (B2:B10=H1), C2:C10))
Введите формулу, нажав комбинацию клавиш Ctrl + Shift + Enter, и вы получите такой результат:
Максимальное значение с теми же условиями также можно найти с помощью этой формулы без массива:
=СУММПРОИЗВ(МАКС(((B2:B10=F1) + (B2:B10=H1)) * C2:C10))
Однако в этом случае нам нужно заменить все значения «x» в столбце C нулями, потому что СУММПРОИЗВ МАКС работает только с числовыми данными:
Как работают эти формулы
Формула массива работает точно так же, как МАКС. ЕСЛИ с логикой И за исключением того, что вы соединяете критерии, используя операцию сложения вместо умножения. В формулах массива сложение работает как оператор ИЛИ:
Сложение двух массивов ИСТИНА и ЛОЖЬ (которые получаются в результате проверки значений в B2:B10 по критериям в F1 и H1) дает массив из 1 и 0, где 1 представляет элементы, для которых любое условие является ИСТИННЫМ, а 0 представляет элементы. для которого оба условия ЛОЖНЫ. В результате функция ЕСЛИ «сохраняет» все элементы в C2:C10 (значение_если_истина), для которого любое условие ИСТИННО (1); остальные элементы заменяются на FALSE, потому что значение_если_ложь аргумент не указан.
Формула без массива работает аналогичным образом. Разница в том, что вместо логического теста IF вы умножаете элементы массива 1 и 0 на элементы массива результатов прыжка в длину (C2:C10) в соответствующих позициях. Это аннулирует элементы, которые не соответствуют ни одному условию (имеют 0 в первом массиве), и сохраняет элементы, которые соответствуют одному из условий (имеют 1 в первом массиве).
MAXIFS — простой способ найти максимальное значение с условиями
Пользователи Excel 2019, 2021 и Excel 365 избавлены от необходимости приручать массивы для создания собственной формулы MAX IF. Эти версии Excel предоставляют долгожданную функцию MAXIFS, которая упрощает поиск наибольшего значения в условиях детской игры.
В первом аргументе MAXIFS вы вводите диапазон, в котором должно быть найдено максимальное значение (в нашем случае D2:D16), а в последующих аргументах вы можете ввести до 126 пар диапазон/критерий. Например:
=МАКСЕСЛИ(D2:D16, B2:B16, G1, C2:C16, G2)
Как показано на снимке экрана ниже, у этой простой формулы нет проблем с обработкой диапазона, содержащего как числовые, так и текстовые значения:
Подробную информацию об этой функции см. в разделе Функция MAXIFS в Excel с примерами формул.
Вот как вы можете найти максимальное значение с условиями в Excel. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!
Источник
В статье показано несколько различных способов получить максимальное значение в Excel на основе одного или нескольких указанных вами условий.
В нашем предыдущем руководстве мы рассмотрели распространенное использование функции MAX, которая предназначена для возврата наибольшего числа в наборе данных. Однако в некоторых ситуациях вам может потребоваться углубиться в свои данные, чтобы найти максимальное значение на основе определенных критериев. Это можно сделать с помощью нескольких различных формул, и в этой статье объясняются все возможные способы.
До недавнего времени в Microsoft Excel не было встроенной функции МАКС. ЕСЛИ для получения максимального значения в зависимости от условий. С введением MAXIFS в Excel 2019 мы можем легко выполнять условное максимальное значение.
В Excel 2016 и более ранних версиях вам все равно придется создавать собственную формулу массива, комбинируя функцию MAX с оператором IF:
{=МАКС(ЕСЛИ(критерии_диапазонзнак равнокритерии, максимальный_диапазон))}
Чтобы увидеть, как эта общая формула MAX IF работает с реальными данными, рассмотрим следующий пример. Предположим, у вас есть таблица с результатами прыжков в длину нескольких учеников. В таблицу включены данные по трем раундам, и вы ищете лучший результат конкретного спортсмена, скажем Якова. С именами учащихся в A2:A10 и расстояниями в C2:C10 формула принимает следующий вид:
=МАКС(ЕСЛИ(A2:A10=»Иаков», C2:C10))
Помните, что формулу массива всегда нужно вводить, одновременно нажимая клавиши Ctrl + Shift + Enter. В результате он автоматически обрамляется фигурными скобками, как показано на скриншоте ниже (набор фигурных скобок вручную не работает!).
В реальных рабочих листах критерий удобнее вводить в какую-то ячейку, чтобы можно было легко изменить условие, не меняя формулу. Итак, набираем нужное имя в F1 и получаем следующий результат:
=МАКС(ЕСЛИ(A2:A10=F1, C2:C10))
Как работает эта формула
В логическом тесте функции ЕСЛИ мы сравниваем список имен (A2:A10) с целевым именем (F1). Результатом этой операции является массив значений ИСТИНА и ЛОЖЬ, где значения ИСТИНА представляют имена, совпадающие с целевым именем (Джейкоб):
{ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ИСТИНА; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ}
Для значение_ если_истина аргумент, мы предоставляем результаты длинного перехода (C2:C10), поэтому, если логический тест оценивается как TRUE, возвращается соответствующее число из столбца C. значение_ если_ложь аргумент опущен, то есть будет иметь значение FALSE, если условие не выполняется:
{ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;5.48;5.42;5.57;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ}
Этот массив передается функции MAX, которая возвращает максимальное число, игнорируя значения FALSE.
Кончик. Чтобы просмотреть внутренние массивы, описанные выше, выберите соответствующую часть формулы на листе и нажмите клавишу F9. Чтобы выйти из режима оценки формулы, нажмите клавишу Esc.
Формула MAX IF с несколькими критериями
В ситуации, когда вам нужно найти максимальное значение на основе более чем одного условия, вы можете:
Используйте вложенные операторы IF, чтобы включить дополнительные критерии:
{=МАКС(ЕСЛИ(критерии_диапазон1знак равнокритерии1ЕСЛИ(критерии_диапазон2знак равнокритерии2, максимальный_диапазон)))}
Или обработайте несколько критериев, используя операцию умножения:
{=МАКС(ЕСЛИ((критерии_диапазон1знак равнокритерии1) * (критерии_диапазон2знак равнокритерии2), максимальный_диапазон))}
Допустим, у вас есть результаты юношей и девушек в одной таблице и вы хотите найти самый длинный прыжок среди девушек в 3 туре. Для этого вводим первый критерий (женский) в G1, второй критерий (3) в G2 и используйте следующие формулы для определения максимального значения:
=МАКС(ЕСЛИ(B2:B16=G1, ЕСЛИ(C2:C16=G2, D2:D16)))
=МАКС(ЕСЛИ((B2:B16=G1)*(C2:C16=G2), D2:D16))
Поскольку обе формулы являются формулами массива, не забудьте нажать Ctrl + Shift + Enter, чтобы заполнить их правильно.
Как показано на снимке экрана ниже, формулы дают одинаковый результат, поэтому какую из них использовать, зависит от ваших личных предпочтений. Для меня формулу с булевой логикой легче читать и строить — она позволяет добавлять сколько угодно условий без вложения дополнительных функций ЕСЛИ.
Как работают эти формулы
Первая формула использует две вложенные функции ЕСЛИ для оценки двух критериев. В логической проверке первого оператора IF мы сравниваем значения в столбце «Пол» (B2:B16) с критерием в G1 («Женский»). Результатом является массив значений TRUE и FALSE, где TRUE представляет данные, соответствующие критерию:
{ ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; УГРОЖАТЬ; УГРОЖАТЬ; УГРОЖАТЬ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; УГРОЖАТЬ; УГРОЖАТЬ; УГРОЖАТЬ}
Аналогичным образом вторая функция ЕСЛИ проверяет значения в столбце округления (C2:C16) на соответствие критерию в G2.
Для значение_если_истина аргумент во втором операторе IF, мы предоставляем результаты прыжка в длину (D2:D16), и таким образом мы получаем элементы, которые имеют TRUE в первых двух массивах в соответствующих позициях (т. е. элементы, где пол «женский» и круглые равно 3):
{ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; 4,63; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; 4.52}
Этот последний массив передается функции MAX, и она возвращает наибольшее число.
Вторая формула оценивает одни и те же условия в рамках одного логического теста, а операция умножения работает как оператор И:
Когда значения TRUE и FALSE используются в любой арифметической операции, они преобразуются в 1 и 0 соответственно. А поскольку умножение на 0 всегда дает ноль, результирующий массив имеет 1 только тогда, когда все условия ИСТИННЫ. Этот массив оценивается в логической проверке функции ЕСЛИ, которая возвращает расстояния, соответствующие элементам 1 (ИСТИНА).
МАКС. ЕСЛИ без массива
Многие пользователи Excel, в том числе и я, предвзято относятся к формулам массивов и стараются по возможности избавиться от них. К счастью, в Microsoft Excel есть несколько функций, которые изначально обрабатывают массивы, и мы можем использовать одну из таких функций, а именно СУММПРОИЗВ, как своего рода «оболочку» вокруг MAX.
Общая формула MAX IF без массива выглядит следующим образом:
=СУММПРОИЗВ(МАКС((критерии_диапазон1знак равнокритерии1) * (критерии_диапазон2знак равнокритерии2) * максимальный_диапазон))
Естественно, при необходимости вы можете добавить больше пар диапазон/критерий.
Чтобы увидеть формулу в действии, мы будем использовать данные из предыдущего примера. Цель состоит в том, чтобы получить максимальный прыжок спортсменки в раунде 3:
=СУММПРОИЗВ(МАКС(((B2:B16=G1) * (C2:C16=G2) * (D2:D16))))
Эта формула заменяется обычным нажатием клавиши Enter и возвращает тот же результат, что и формула массива MAX IF:
Присмотревшись к приведенному выше снимку экрана, вы можете заметить, что недопустимые переходы, отмеченные знаком «x» в предыдущих примерах, теперь имеют 0 значений в строках 3, 11 и 15, и в следующем разделе объясняется, почему.
Как работает эта формула
Как и в случае с формулой МАКС. ЕСЛИ, мы оцениваем два критерия, сравнивая каждое значение в столбцах «Пол» (B2:B16) и «Округление» (C2:C16) с критериями в ячейках G1 и G2. Результатом являются два массива значений TRUE и FALSE. Умножение элементов массивов в одинаковых позициях преобразует ИСТИНА и ЛОЖЬ в 1 и 0 соответственно, где 1 представляет элементы, соответствующие обоим критериям. Третий умноженный массив содержит результаты прыжков в длину (D2:D16). И поскольку умножение на 0 дает ноль, выживают только элементы, имеющие 1 (ИСТИНА) в соответствующих позициях:
{0; 0; 0; 0; 0; 4,63; 0; 0; 0; 0; 0; 0; 0; 0; 4.52}
В случае максимальный_диапазон содержит любое текстовое значение, операция умножения возвращает ошибку #ЗНАЧ, из-за которой вся формула не работает.
Функция MAX берет его отсюда и возвращает наибольшее число, удовлетворяющее заданным условиям. Результирующий массив, состоящий из одного элемента {4.63}, поступает в функцию СУММПРОИЗВ и выводит максимальное число в ячейке.
Примечание. Из-за своей специфической логики формула работает со следующими оговорками:
- Диапазон, в котором вы ищете наибольшее значение, должен содержать только числа. Если есть какие-либо текстовые значения, #VALUE! возвращается ошибка.
- Формула не может оценить условие «не равно нулю» в отрицательном наборе данных. Чтобы найти максимальное значение без учета нулей, используйте либо формулу МАКС. ЕСЛИ, либо функцию МАКС.
Формула Excel MAX IF с логикой ИЛИ
Чтобы найти максимальное значение при выполнении любого из указанных условий, используйте уже знакомую формулу массива МАКС ЕСЛИ с булевой логикой, но сложите условия, а не перемножайте их.
{=МАКС(ЕСЛИ((критерии_диапазон1знак равнокритерии1) + (критерии_диапазон2знак равнокритерии2), максимальный_диапазон))}
Кроме того, вы можете использовать следующую формулу без массива:
=СУММПРОИЗВ(МАКС(((критерии_диапазон1знак равнокритерии1) + (критерии_диапазон2знак равнокритерии2)) * максимальный_диапазон))
Для примера вычислим лучший результат в раундах 2 и 3. Обратите внимание, что в языке Excel задача формулируется иначе: вернуть максимальное значение, если раунд либо 2, либо 3.
С раундами, перечисленными в B2:B10, результатами в C2:C10 и критериями в F1 и H1, формула выглядит следующим образом:
=МАКС(ЕСЛИ((B2:B10=F1) + (B2:B10=H1), C2:C10))
Введите формулу, нажав комбинацию клавиш Ctrl + Shift + Enter, и вы получите такой результат:
Максимальное значение с теми же условиями также можно найти с помощью этой формулы без массива:
=СУММПРОИЗВ(МАКС(((B2:B10=F1) + (B2:B10=H1)) * C2:C10))
Однако в этом случае нам нужно заменить все значения «x» в столбце C нулями, потому что СУММПРОИЗВ МАКС работает только с числовыми данными:
Как работают эти формулы
Формула массива работает точно так же, как МАКС. ЕСЛИ с логикой И за исключением того, что вы соединяете критерии, используя операцию сложения вместо умножения. В формулах массива сложение работает как оператор ИЛИ:
Сложение двух массивов ИСТИНА и ЛОЖЬ (которые получаются в результате проверки значений в B2:B10 по критериям в F1 и H1) дает массив из 1 и 0, где 1 представляет элементы, для которых любое условие является ИСТИННЫМ, а 0 представляет элементы. для которого оба условия ЛОЖНЫ. В результате функция ЕСЛИ «сохраняет» все элементы в C2:C10 (значение_если_истина), для которого любое условие ИСТИННО (1); остальные элементы заменяются на FALSE, потому что значение_если_ложь аргумент не указан.
Формула без массива работает аналогичным образом. Разница в том, что вместо логического теста IF вы умножаете элементы массива 1 и 0 на элементы массива результатов прыжка в длину (C2:C10) в соответствующих позициях. Это аннулирует элементы, которые не соответствуют ни одному условию (имеют 0 в первом массиве), и сохраняет элементы, которые соответствуют одному из условий (имеют 1 в первом массиве).
MAXIFS — простой способ найти максимальное значение с условиями
Пользователи Excel 2019, 2021 и Excel 365 избавлены от необходимости приручать массивы для создания собственной формулы MAX IF. Эти версии Excel предоставляют долгожданную функцию MAXIFS, которая упрощает поиск наибольшего значения в условиях детской игры.
В первом аргументе MAXIFS вы вводите диапазон, в котором должно быть найдено максимальное значение (в нашем случае D2:D16), а в последующих аргументах вы можете ввести до 126 пар диапазон/критерий. Например:
=МАКСЕСЛИ(D2:D16, B2:B16, G1, C2:C16, G2)
Как показано на снимке экрана ниже, у этой простой формулы нет проблем с обработкой диапазона, содержащего как числовые, так и текстовые значения:
Подробную информацию об этой функции см. в разделе Функция MAXIFS в Excel с примерами формул.
Вот как вы можете найти максимальное значение с условиями в Excel. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!
Практическая рабочая тетрадь для скачивания
Примеры формулы Excel MAX IF (файл .xlsx)