If this and that!

Nygie

New Member
Joined
Apr 15, 2015
Messages
40
Hi All, been racking my brains on this one, looked at loads of examples. I think I just do not understand the structure of combining the if and or statements as I have written it down and it makes sense to me. :LOL:
Basically I am working out employer Pension contributions.
The formula in my head goes like.
If D2 = Y (this states they are in pension)
then
If Gross>865 the cell = (753 x 1%) Or If Gross > 113 and <866 the cell = (Gross-113 x 1%)
Else cell = 0

Maybe I am missing something. I tried but I seem to be going round in circles. Is there a logic builder app :)
Thanks for looking
N
 

Some videos you may like

Excel Facts

Whats the difference between CONCAT and CONCATENATE?
The newer CONCAT function can reference a range of cells. =CONCATENATE(A1,A2,A3,A4,A5) becomes =CONCAT(A1:A5)

snjpverma

Well-known Member
Joined
Oct 2, 2008
Messages
1,270
Office Version
2016
Platform
Windows
What is 753 doing there? Do you mean gross x 1% ?

<tbody>
</tbody><colgroup><col></colgroup>
 

snjpverma

Well-known Member
Joined
Oct 2, 2008
Messages
1,270
Office Version
2016
Platform
Windows
If Gross>865 the cell = (753 x 1%) Or If Gross > 113 and <866 the cell = (Gross-113 x 1%)
N
Could you clarify a bit on the above line?
 

Nygie

New Member
Joined
Apr 15, 2015
Messages
40
753 is the banded Gross earnings that contributions are paid on when gross is over 865
The contributions for earnings under 866 is paid on the band of earnings 113 to 865, so we have if the gross is less than 866 the contributions are paid on Gross minus 113.
 
Last edited:

frank_AL

Active Member
Joined
Oct 30, 2015
Messages
436
Nygie,

You can string what you are looking for into one formula: =IF(D2="Y",IF(Gross>865,753*0.01,IF(AND(Gross>113,Gross<865),Gross-(113*0.01))),0)

So this is how this formula calculates:

First determines if there is a "Y" in cell D2: =IF(D2="Y"

If yes, first check to see if Gross is Greater than 865: IF(Gross>865,
if True then multiply 753 x 1%

If not True, Check to see if Gross is Greater than 113 and Less than 865: IF(AND(Gross>113,Gross<865) Notice the construct of an IF(AND statement. You enter 2 logical checks separated by a comma then followed by ")" to complete the "AND" portion of the formula.

Now, if both checks of Gross are True (Gross is Greater than 113 and Less than 865) then: Gross-(113*0.01)

Finally, if there is not a "Y" in cell D2 enter a "0": ,0)

Hope this works and the explanation helps.
 

snjpverma

Well-known Member
Joined
Oct 2, 2008
Messages
1,270
Office Version
2016
Platform
Windows
See if this works
=IF(AND(D2="y",E2>865),7.53,IF(AND(E2>113,D2="y"),E2-1.13,0))
 

snjpverma

Well-known Member
Joined
Oct 2, 2008
Messages
1,270
Office Version
2016
Platform
Windows
Shorter version

=(D2="y")*IF(E2>865,7.53,IF(E2>113,E2-1.13))
 

Nygie

New Member
Joined
Apr 15, 2015
Messages
40
Nearly there too.
=IF(AND(D4="y",E4>865),7.53,IF(AND(E4>113,D4="y"),(E4-113)*0.01,0))
 

Forum statistics

Threads
1,089,626
Messages
5,409,399
Members
403,261
Latest member
pcotton

This Week's Hot Topics

  • help please
    SORRY NOT ANY GOOD AT EXCEL SO HELP WOULD BE MUCH APPRECIATED this formula is in a sheet called ignore...
  • two formulas needed
    Hello, I'll try my best to explain this: First formula needed in Sheet1 cell A2: If Sheet1 cell B2 = Sheet2 cell B2 then return a 1. If not then...
  • Dynamic Counts
    Good afternoon, we are tidying up some data & the data seems to be growing quicker than we are tidying it up! What we confirm (by reviewing it...
  • Help Excel formula eliminate duplicate values and keep only 2 identical rows.
    as picture below column A has a duplicate value. but the values are not the same as the rule. sometimes 4 rows, sometimes 10 rows or 7 or 9...
  • Macro Compile Error Sub or Function not defined
    Hello, I am trying to run macros from a validation list, all macros have been created and run perfectly on there own but I'm getting a compile...
  • Last row combined with Current Region VBA
    I'm generally happy finding the last row of data through something like Lastrow = Cells(Rows.Count, "D").End(xlUp) but I don't always receive data...
Top