MAX IF in Excel to get highest value with conditions

The article shows a few different ways to get the max value in Excel based on one or several conditions that you specify.

In our previous tutorial, we looked at the common uses of the MAX function which is designed to return the largest number in a dataset. In some situations, however, you may need to drill down into your data further to find the max value based on certain criteria. This can be done by using a few different formulas, and this article explains all possible ways.

Excel MAX IF formula

Until recently, Microsoft Excel did not have a built-in MAX IF function to get the maximum value based on conditions. With the introduction of MAXIFS in Excel 2019, we can do conditional max an easy way.

In Excel 2016 and earlier versions, you still have to create your own array formula by combining the MAX function with an IF statement:

{=MAX(IF(criteria_range=criteria, max_range))}

To see how this generic MAX IF formula works on real data, please consider the following example. Supposing, you have a table with the long jump results of several students. The table includes the data for three rounds, and you are looking for the best result of a particular athlete, say Jacob. With the student names in A2:A10 and distances in C2:C10, the formula takes this shape:

=MAX(IF(A2:A10="Jacob", C2:C10))

Please keep in mind that an array formula must always be entered by pressing the Ctrl + Shift + Enter keys simultaneously. As the result, it is automatically surrounded with curly brackets like shown in the screenshot below (typing the braces manually won't work!).

I real-life worksheets, it's more convenient to input the criterion in some cell, so that you can easily change the condition without changing the formula. So, we type the desired name in F1 and get the following result:

=MAX(IF(A2:A10=F1, C2:C10))
Excel MAX IF formula to find the highest value with condition

How this formula works

In the logical test of the IF function, we compare the list of names (A2:A10) with the target name (F1). The result of this operation is an array of TRUE and FALSE, where the TRUE values represent names that match the target name (Jacob):

{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE}

For the value_ if_true argument, we supply the long jump results (C2:C10), so if the logical test evaluates to TRUE, the corresponding number from column C is returned. The value_ if_false argument is omitted, meaning will just have a FALSE value where the condition is not met:

{FALSE;FALSE;FALSE;5.48;5.42;5.57;FALSE;FALSE;FALSE}

This array is fed to the MAX function, which returns the maximum number ignoring the FALSE values.

Tip. To see the internal arrays discussed above, select the corresponding part of the formula in your worksheet and press the F9 key. To exit the formula evaluation mode, press the Esc key.

MAX IF formula with multiple criteria

In situation when you need to find the max value based on more than one condition, you can either:
Use nested IF statements to include additional criteria:

{=MAX(IF(criteria_range1=criteria1, IF(criteria_range2=criteria2, max_range)))}

Or handle multiple criteria by using the multiplication operation:

{=MAX(IF((criteria_range1=criteria1) * (criteria_range2=criteria2), max_range))}

Let's say you have the results of boys and girls in a single table and you wish to find the longest jump among girls in round 3. To have it done, we enter the first criterion (female) in G1, the second criterion (3) in G2, and use the following formulas to work out the max value:

=MAX(IF(B2:B16=G1, IF(C2:C16=G2, D2:D16)))

=MAX(IF((B2:B16=G1)*(C2:C16=G2), D2:D16))

Since both are array formulas, please remember to press Ctrl + Shift + Enter to complete them correctly.

As shown in the screenshot below, the formulas produce the same result, so which one to use is a matter of your personal preference. For me, the formula with the Boolean logic is easier to read and build – it allows adding as many conditions as you want without nesting additional IF functions.
MAX IF formula to get the largest number with multiple criteria

How these formulas work

The first formula uses two nested IF functions to evaluate two criteria. In the logical test of the first IF statement, we compare the values in the Gender column (B2:B16) with the criterion in G1 ("Female"). The result is an array of TRUE and FALSE values where TRUE represents data that match the criterion:

{FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE}

In a similar fashion, the second IF function checks the values in the Round column (C2:C16) against the criterion in G2.

For the value_if_true argument in the second IF statement, we supply the long jump results (D2:D16), and this way we get the items that have TRUE in the first two arrays in corresponding positions (i.e. the items where the gender is "female" and round is 3):

{FALSE; FALSE; FALSE; FALSE; FALSE; 4.63; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; 4.52}

This final array goes to the MAX function and it returns the largest number.

The second formula evaluates the same conditions within a single logical test and the multiplication operation works like the AND operator:

When the TRUE and FALSE values are used in any arithmetic operation, they are converted into 1's and 0's, respectively. And because multiplying by 0 always gives zero, the resulting array has 1 only when all the conditions are TRUE. This array is evaluated in the logical test of the IF function, which returns the distances corresponding to the 1 (TRUE) elements.

MAX IF without array

Many Excel users, including me, are prejudiced against array formulas and try to get rid of them wherever possible. Luckily, Microsoft Excel has a few functions that handle array natively, and we can use one of such functions, namely SUMPRODUCT, as kind of "wrapper" around MAX.

The generic MAX IF formula without array is as follows:

=SUMPRODUCT(MAX((criteria_range1=criteria1) * (criteria_range2=criteria2) * max_range))

Naturally, you can add more range/criteria pairs if needed.

To see the formula in action, we will be using the data from the previous example. The aim is to get the maximum jump of a female athlete in round 3:

=SUMPRODUCT(MAX(((B2:B16=G1) * (C2:C16=G2) * (D2:D16))))

This formula is competed with a normal Enter keystroke and returns the same result as the array MAX IF formula:
A non-array MAX IF formula in Excel

Casting a closer look at the above screenshot, you can notice that invalid jumps marked with "x" in the previous examples now have 0 values in rows 3, 11 and 15, and the next section explains why.

How this formula works

As with the MAX IF formula, we evaluate two criteria by comparing each value in the Gender (B2:B16) and Round (C2:C16) columns with the criteria in cells G1 and G2. The result are two arrays of TRUE and FALSE values. Multiplying the arrays' elements in the same positions converts TRUE and FALSE into 1 and 0, respectively, where 1 represents the items that meet both criteria. The third multiplied array contains the long jump results (D2:D16). And because multiplying by 0 gives zero, only the items that have 1 (TRUE) in the corresponding positions survive:

{0; 0; 0; 0; 0; 4.63; 0; 0; 0; 0; 0; 0; 0; 0; 4.52}

In case max_range contains any text value, the multiplication operation returns the #VALUE error because of which the entire formula won't work.

The MAX function takes it from here and returns the largest number that meets the specified conditions. The resulting array consisting of a single element {4.63} goes to the SUMPRODUCT function and it outputs the max number in a cell.

Note. Because of its specific logic, the formula works with the following caveats:

  • The range where you search for the highest value must contain only numbers. If there are any text values, a #VALUE! error is returned.
  • The formula cannot evaluate the "not equal to zero" condition in a negative data set. To find max value ignoring zeros, use either a MAX IF formula or MAXIFS function.

Excel MAX IF formula with OR logic

To find the max value when any of the specified conditions is met, use the already familiar array MAX IF formula with the Boolean logic, but add the conditions instead of multiplying them.

{=MAX(IF((criteria_range1=criteria1) + (criteria_range2=criteria2), max_range))}

Alternatively, you can use the following non-array formula:

=SUMPRODUCT(MAX(((criteria_range1=criteria1) + (criteria_range2=criteria2)) * max_range))

As an example, let's work out the best result in rounds 2 and 3. Please pay attention that in the Excel language, the task is formulated differently: return the max value if round is either 2 or 3.

With the rounds listed in B2:B10, the results in C2:C10 and criteria in F1 and H1, the formula goes as follows:

=MAX(IF((B2:B10=F1) + (B2:B10=H1), C2:C10))

Enter the formula by pressing the Ctrl + Shift + Enter key combination and you will get this result:
An array MAX IF formula with the OR logic

The max value with the same conditions can also be found by using this non-array formula:

=SUMPRODUCT(MAX(((B2:B10=F1) + (B2:B10=H1)) * C2:C10))

However, we need to replace all "x" values in column C with zeros in this case because SUMPRODUCT MAX only works with numeric data:
A non-array MAX IF formula with the OR logic

How these formulas work

The array formula works exactly the same way as MAX IF with AND logic except that you join the criteria by using the addition operation instead of multiplication. In array formulas, addition works as the OR operator:

Adding up two arrays of TRUE and FALSE (which result from checking the values in B2:B10 against the criteria in F1 and H1) produces an array of 1's and 0's where 1 represents the items for which either condition is TRUE and 0 represents the items for which both conditions are FALSE. As the result, the IF function "keeps" all the items in C2:C10 (value_if_true) for which any condition is TRUE (1); the remaining items are replaced with FALSE because the value_if_false argument is not specified.

The non-array formula works in a similar manner. The difference is that instead of IF's logical test, you multiply the elements of the 1's and 0's array by the elements of the long jump results array (C2:C10) in the corresponding positions. This nullifies the items that do not meet any condition (have 0 in the first array) and keeps the items that meet one of the conditions (have 1 in the first array).

MAXIFS – easy way to find highest value with conditions

The users of Excel 2019, 2021 and Excel 365 are free from the trouble of taming arrays to build their own MAX IF formula. These versions of Excel provide the long-awaited MAXIFS function that makes finding the largest value with conditions child's play.

In the first argument of MAXIFS, you enter the range in which the maximum value should be found (D2:D16 in our case), and in the subsequent arguments you can enter up to 126 range/criteria pairs. For example:

=MAXIFS(D2:D16, B2:B16, G1, C2:C16, G2)

As shown in the screenshot below, this simple formula has no problem with processing the range that contains both numeric and text values:
Excel MAXIFS function to find the highest value with conditions

For the detailed information about this function, please see Excel MAXIFS function with formula examples.

That's how you can find max value with conditions in Excel. I thank you for reading and hope to see you on our blog next week!

Practice workbook for download

Excel MAX IF formula examples (.xlsx file)

130 comments

  1. I am trying, on a different file (not test file), to return the most recent name entry (all text) associated with a certain ID (text and number ID) but both Maxif and Large functions are returning null values. do you have any tips?

    • This is between sheets

      • And i have MAXIFS that are returning other fields correctly with numbers it is only failing in all text entries

    • 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.

      • Final sheet

        Person ID - Name - Most recent Location (Multiple possible entries) - Most recent trip (Date)
        1 - VLookup (Working) - ???? - MAXIF (working)

        Raw data Sheet has all 4 of these areas + lots more but over 280,000 data points. i can pull in the most recent date associated with the person via MAXIF and their name from Vlookup. But the most recent trip destination being all text returns a null value. The person may have been to 30+ locations so a lookup only returns the first data point not the most recent data point (not always the same - updated weekly).

        Let me know if this makes sense

  2. Thank you so much for this example. I am having some trouble returning a max date. I have tried a formula to return the most resent date for Jon J as =MAX(IF(tbl_data[Name]=E1,tbl_data[date]. When I try this formula, I do not get the most resent date for Jon, I get an error. How do I return the most recent entry for "Jon J"? Ultimately I am trying to use a formula to return the most recent date and score for a selected person. Any help anyone can provide would be very appreciated. Thank you all.

    Example below
    A B C D E
    1 Date Name Score Name Jon J
    2 1/1/2023 Jon J 70 Date
    3 1/1/2023 Bob B 50 Score
    4 1/5/2013 Jon J 72
    5 1/5/2013 Bob B 55
    6 1/7/2023 Jon J 66
    7 1/7/2023 Bob B 60
    8 1/9/2023 Jon J 54

    • Sorry my example combined and makes it hard to read. I am trying to space the example out again. A-E are the columns and 1-8 are the rows.

      Date Name Score Name Jon J
      1/1/2023 Jon J 70 Date most recent date
      1/1/2023 Bob B 50 Score most recent score
      1/5/2023 Jon J 72
      1/5/2023 Bob B 55
      1/7/2023 Jon J 66
      1/7/2023 Bob B 60
      1/9/2023 Jon J 54

        • Alexander,

          Thank you so much for replying. When I use the formula, I keep getting the date 1/0/1900

        • Alexander,

          I was able to get it to work. In this example, how would you get the second max date of 1/7/2023?

          Thank you again for all of your help.

  3. A B C
    3.57 5 joe
    3.26 1 jay
    3.35 4 dany
    3.43 3 ria
    3.00 3 mary
    In the above example, I want to take top 3 values from column B and it has to fetch the corresponding name from column C.
    If the value is same in column B, based on the corresponding highest value in the A column, it should fetch the name in C.
    Can someone help how to do that?

  4. I have race teams with 6 members. Each team must have at least 1 person of each sex. To get the team total, I want the fastest Male + Fastest Female + 2 fastest remaining. I can't just drop the 2 slowest racers; they may be the only Male or Female. I'm able to get the Fastest M & F using the SMALL function, but can't come up with the logic for the next 2. Any thoughts?

  5. Is there a way to add a condition or threshold to the Max value that is returned?
    Using the example above how can I return the longest jump for all Males less then 5.56.

    • Hi!
      Use the MAXIFS function as described in the last paragraph of the article above. For example,

      =MAXIFS(D2:D16, B2:B16, G1, D2:D16, "<"&G2)

  6. Hi all,

    quick question
    I have a table with similar data but different time

    Name Time
    A 10/31/2022 12:54:00
    B 10/27/2022 9:22:00
    A 10/26/2022 13:56:00
    B 10/21/2022 9:39:00
    C 10/20/2022 10:34:00
    D 10/19/2022 4:06:00

    How do i get to the earliest time for each name?
    I tried =MAX(IF(A$1:A$6=A1,B$1:B$6))
    But it give me the newest date of the all sheet and not newest date for Name A
    Thanks

  7. hi, what is incorrect here (try to get latest date): =MAX(IF((Totals!B12:B1390={"*Aa*","Bb"})*(Totals!H2:H1390="*Cc*")* (Totals!I2:I1390""),Totals!I2:I1390))

    • 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.

  8. hi i would like to ask for correct formula for my following hypothetical problem:

    so i want to make a chart to measure...say, sport player performance. we have Player A that can score 5 points but usually either being tired or whatever will be benched after round 3 which then the second best player which is Player B will score 3 points consistently until he benched on round 5 which then the next best player of C through Z will tag in so fort and so on in diminishing return-esque fashion

    the result i was hoping is that as the formula is establish i can simply input the current round number and the excel will list the players with the highest score of the round along with their respective point. note that i also would like that it can display more than 1 set of result if multiple players of the given rounds have their points tied with each other

    obviously at least to my limited knowledge, i need to use a variant of Excel MAX IF formula... but i cant wrap my head of the correct string i need to input. i hope Ablebits experts can help me with this and it will be very much appriciated

  9. I have a worksheet for a list of classes with a max seating of 8 per class. I am trying to find the simplest formula to calculate the total enrolled and max class size to fill session columns, in order (1-4), and then be able to AutoFill adjacent columns afterwards, if possible.
    Example: TOTAL OF 4 SESSIONS
    Max Class Size in A5 = 8
    Total Enrolled in A6 = 27
    Session 1 in A7
    Session 2 in A8
    Session 3 in A9
    Session 4 in A10
    Any help you can provide will be greatly appreciated.

    • Sorry for the confusion. I may have explained it wrong. Let me try again.

      Max Class Size in A5 is 8
      Total Enrolled in A6 is 27

      All sessions are a total maximum of 8, so if session 1 reaches 8 but the total enrolled is 27, then A8 would then be populated up to 8 before going to A9, etc. Does that make more sense? Not sure if this is a MAX IF function.

      I hope you can help. Thank you!

  10. Hi All,

    This platform look very amazing.
    I need help with identifying the right formula for an array.
    I have a table like this:

    Task 18/05/2022 19/05/2022 20/05/2022 21/05/2022 22/05/2022
    1 1
    2 4
    3 2
    4 6
    5 3
    6 5

    how would I search for the last entry made in this array and return the corresponding date, as the task are done in the sequential order.

    • Sorry It looks confusing, I thought it'll read blanks but it didn't.

      task 1 was done on 18/05
      task 2 was done on 20/05
      task 3 & 4 was done 19/05
      task 5 was done on 22/05
      task 6 was done on 21/05

        • HI Alex,
          thanks for the tip and it does help in a way. But I need a single formula that picks last non empty cell in multiple columns and rows, like you know searching through task1 to task6 and return the last date irrespective of the task name as reference.

          I really appreciate your help

          • Hi!
            The formula I sent to you was created based on the description you provided in your first request. However, as far as I can see from your second comment, your task is now different from the original one.
            You can find the address of the last cell with data in the table using a VBA macro.

  11. I am trying to get the lasted date of an activity, against an entrant name ?
    In sheet 1 [summary] is a list of names (cells A2 to A49), cells B2 to B49 has a formula to count the number of activities for each entrant [ =COUNTIF(Activity!$D$2:$D$1037,A3) ] which works fine
    In sheet 2 [activity] contains entries for each name col A date, col B class, col C type, col D name
    On sheet 1 [summary] I am trying create a formula the get the last (highest) date for each name. I have tried " =MAX(IF(Activity!D2:D999=A3, Activity!A2:A999)) " but this returns 00/01/1900.
    Can anyone suggest where I am going wrong?

    • Hello!
      I'm assuming that you entered the formula as normal, not as an array formula. Press Ctrl + Shift + Enter so that array function works.
      Also, you can use the MAXIFS function to find the maximum value with conditions.

      • Thanks Alexander, that works a treat. I have not used the array function before. Best wishes Joe

  12. A B C D
    Expenses Remaining Balance Limit
    1 John 1000 9000.00 (he gets 1000) 10000
    2 Mary 1500
    3 Julie 2000
    4 John 2500 6500 (he gets 2500)
    5 John 1500 5000 (he gets 1500)
    6. John 7000 5000 (he have to get 5000 only because his limit is 10000.)

    The limit of each is Rs 10000.00. Please let me help to calculate the expenses of john not exceeding to Rs 10000.00.
    =IF(B1<D1,B1,(SUMIF(A1:A6,A1,B1:B6)- D1))
    5000 Should be resulted to be paid to John against his expenses not to exceed 10000

  13. I have a table of chemical data. The main identifier is CAS#. I want to use the criteria of MAXIFS to sort out data flags, E and U AND I want to find the data value that has the latest sample date.

    A B C D E F
    CAS Agent Conc UOM Flags Sample Date
    1 100-41-4 Ethyl Benzene 0.002 ppm 2/2/2016
    2 100-41-4 Ethyl Benzene 0.002 ppm 1/27/2016
    3 100-41-4 Ethyl Benzene 0.005 ppm 1/27/2016
    4 100-41-4 Ethyl Benzene 0.002 ppm U 1/27/2016
    5 100-41-4 Ethyl Benzene 0.002 ppm 2/2/2016
    6 100-41-4 Ethyl Benzene 0.012 ppm E 2/3/2016
    7 100-41-4 Ethyl Benzene 0.002 ppm 2/2/2016
    8 100-41-4 Ethyl Benzene 0.002 ppm 2/10/2016
    9 100-41-4 Ethyl Benzene 0.002 ppm Y 2/10/2016

      • Thank you, that is pretty close, but not specific enough. Lets try this. I want a function that would return the values of 123 = 3, 987 = 7. The ID# is the unique identifier for each sample, need the most recent, largest value for each ID.

        Column/Row A B C
        1 ID# Value Date
        2 123 5 2021-12-24
        3 123 2 2022-03-25
        4 123 3 2022-03-25
        5 987 6 2021-12-24
        6 987 7 2022-03-15

        • Hi!
          The answer you received earlier is consistent with the information you provided. If you need to get only one value, you can use the INDEX+MATCH functions.
          Replace the ID# number (987) in this formula with a reference to the desired cell.

          =INDEX(B2:B6,MATCH(1, (MAX((A2:A6=987)*C2:C6)=C2:C6)* (MAX((MAX((A2:A6=987)*C2:C6)=C2:C6)*B2:B6)=B2:B6),0))

          Here is the article that may be helpful to you: Excel INDEX MATCH with multiple criteria.

  14. I have bitcoin daily data from year 2011 to 2022. I am trying to find the max price for a specific year, but when I use this formula =(MAX(IF(YEAR($A:$A=Q2),$C:$C,0)))
    Column A has the dates
    Column C has the prices
    Column Q has the year eg. 2011

    When I put the formula it shows value error. Is there anything I am doing wrong?

    • Hello!
      To find the maximum value for a specific year, I recommend using the MAXIF function. All the necessary information is in the article above.

  15. Sir
    total electricity units 336
    0-50 =7 rate
    0-100 =8.50
    101-300 =9.90
    301-500=10.40
    How to write if condition

  16. Hi,

    I have a list of dates and I have already found the formula for finding the latest date. But I would also like to have another condition where in another column if the value is not equalt to "ABC", then to exclude/skip it from the criteria.

  17. We have 2 columns one is size and other is quantity. We want both that the multiples of the quantity are close to the maximum of a certain value

    Like as
    4600 4600
    S,. No. Pcs Length (mm) Bar 1 Bar 2
    1 312 2256 2
    2 520 1506
    3 208 1831
    21 104 1506
    31 312 2256 2
    32 520 2256
    33 208 2256
    51 104 1356
    Total 58 58
    Stock 156 156

  18. Hello!

    If i would like to know if its possible to do such search and look if the value is among the, say top 80% of the values. Something like the conditional formatting, but in an if statement (if that makes any sense :D ).

    IF
    MAXIFS(D2:D16, B2:B16, G1, C2:C16, G2)... is ...
    among the top 80% of the values in the search criterias then print:

    "this jump is within the top 80% of all jumps by females in round 3"

    //Johan

    • Hello!
      If I understand your task correctly, try the following formula:

      =IF((RANK.EQ(A2,$A$2:$A$11,0)/COUNT($A$2:$A$11)) < = 0.8,"top 80%","")

      You can learn more about RANK.EQ function in Excel in this article on our blog.

      • Hello!

        Thansk alot, that's exactly what i was looking for.
        Although, i found PERCENTRANK.EXC( ). This seems to work as well.

        //Johan

        • Hello!

          If i would like to make a similar solution but with instead use a weighted % value?
          SAy,. if i have a total of 1200 points.

          With the following distribution:
          A: 543
          B: 344
          C: 100
          D:90
          E:50
          F:22
          G:14
          H: 4
          I: 1

          A has 45,25% of the volume, B has 28,7% of the volume and C has 8,4% of the volume.
          All these holds 82,35% and would be "top 80%"
          Then D-G would be the next 15% and it would leave H and I in the bottom 5%.
          Is there a way to get this info in any formula?

          Kind regards
          Johan

            • Hi!

              The thing is that i want to show this per row, something like an ABC grouping.

              It could be done with descending sorting and just take total sum (0.8*1200=960, below that would be the "breaking point" to not be within the top 80%. But i want to show this per cell, without having to make a descending sorting and a fixed number of rows.

              So something like:
              if A, 543/1200 is among top 80% of the values --> "top 80% [True]
              if B, 344/1200 is among top 80% of the values --> "top 80% [True]
              if C, 100/1200 is among top 80% of the values --> "top 80% [False]
              if D, 90/1200 is among top 80% of the values --> "top 80% [False]
              and so on...

              Top 2 values would hold 45,25+28,7 = 73,95% of the volume.
              The next value will hold 8,4% of the volume and that would then be within the top 20%.

              Im not sure if this is possible? I thought that the percentagerank.exk would do the trick, but this only returns the top 80 % of the values, not taking the actual weight on each row into the calculation.

              Sorry if it got a little fuzzy... :D

              Kind regards Johan

              • Hi!
                Data in ABC grouping should always be sorted in descending order.
                Try this formula:

                =IF(OR(AND(SUM($A1:A$2)/SUM($A$2:$A$11)<0.8, SUM($A$2:A2)/SUM($A$2:$A$11)>0.8), SUM($A$2:A2)/SUM($A$2:$A$11)<0.8), "top 80% ","")

  19. How to find the maximum value in one column but only if the number is integer.
    For example I have in my columns standard values 1; 1.1; 1.2; 1.3; 2; 2.1 ;2.2. I want the function to return me in the next below cell 3 = which is maximum if only integer taken into account? Thanks!

  20. What is the formula to get min or max data shown below. Note dates with annex "A". Thank you
    10-Oct-20 A
    12-Oct-20 A
    15-Oct-20 A
    20-Oct-20 A
    25-Oct-20 A

Post a comment



Thank you for your comment!
When posting a question, please be very clear and concise. This will help us provide a quick and relevant solution to
your query. We cannot guarantee that we will answer every question, but we'll do our best :)