?
Solved

Need help with complex formula in excel

Posted on 2014-09-30
13
Medium Priority
?
56 Views
Last Modified: 2014-10-27
If column D = Defend
AND column E or G greater than or equal to 5,000,000
THEN set column N to 1
 
If column D = Renewal or Upsell or New Business
AND column E or G greater than or equal to 10,000,000
THEN set column N to 1
 
If column D = Renewal or Run Rate
AND column E or G less than 10,000,000
THEN set column N to 2

If column D = Up Sell or New Business
AND column E or G less than 10,000,000
THEN set column N to 4

If column D = Run Rate
THEN set column N to 2

If column D = New Business
AND column E or G equal to or greater than 10,000,000
THEN set column N to 1
0
Comment
Question by:Matt Pinkston
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
  • 2
  • +4
13 Comments
 
LVL 26

Expert Comment

by:ProfessorJimJam
ID: 40353257
assuming your data starts from the second row .  put this formula in N2 and copy down
=IF(AND(D2="Defend",OR(E2>=5000000,G2>=5000000)),1,IF(AND(D2="Renewal or Upsell or New Business",OR(E2>=10000000,G2>=10000000)),1,IF(AND(D2="Renewal or Run Rate",OR(E2<=10000000,G2<=10000000)),2,IF(AND(D2="Up Sell or New Business",OR(E2<=10000000,G2<=10000000)),4,IF(D2="Run Rate",2,IF(AND(D2="New Business",OR(E2>=10000000,G2>=10000000)),1,""))))))

Open in new window

0
 
LVL 7

Expert Comment

by:Robby Swartenbroekx
ID: 40353274
=IF(D1="Run Rate";2;IF(AND(D1="Defend";OR(E1>=5000000;G1>=5000000));1;IF(OR(D1="Upsell";D1="New Business");IF(OR(E1>=10000000;G1>=10000000);1;4);IF(D1="Renewal";IF(OR(E1>=10000000;G1>=10000000);1;2);""))))

Open in new window


If the Value in D1 isn't one of the above, or it is Defend with a value less then 5 Million in E and G column the value of N1 is empty
0
 
LVL 19

Expert Comment

by:Raheman M. Abdul
ID: 40353275
Considering the order of processing from top to botton in your question I have formulated the below:

Enter this formula in column N

=IF(AND(D1="Defend",OR(E1>=5000000,G1>=5000000)),1,IF(AND(OR(D1="Renewal",D1="Upsell",D1="New Business"),OR(E1>=10000000,G1>=10000000)),1,IF(AND(OR(D1="Renewal",D1="Run Rate"),OR(E1<10000000,G1<10000000)),2,IF(AND(OR(D1="Up Sell",D1="New Business"),OR(E1<10000000,G1<10000000)),4,IF(D1="Run Rate",2,IF(AND(D1="New Business",OR(E1>=10000000,G1>=10000000)),1,""))))))
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 26

Expert Comment

by:ProfessorJimJam
ID: 40353299
I do not understand it.  when a question is answered, why others are stepping on others toes.

right after the question asked, it has been answered by me.  so, either you spent your time re-inventing the wheel, or simply copying my formula and re pasting it here.
=IF(AND(D1="Defend",OR(E1>=5000000,G1>=5000000)),1,IF(AND(OR(D1="Renewal",D1="Upsell",D1="New Business"),OR(E1>=10000000,G1>=10000000)),1,IF(AND(OR(D1="Renewal",D1="Run Rate"),OR(E1<10000000,G1<10000000)),2,IF(AND(OR(D1="Up Sell",D1="New Business"),OR(E2<=10000000,G2<=10000000)),4,IF(D2="Run Rate",2,IF(AND(D2="New Business",OR(E2>=10000000,G2>=10000000)),1,""))))))
0
 
LVL 7

Expert Comment

by:Robby Swartenbroekx
ID: 40353334
- I had the question open and started writing on it, I've never seen your code before I posted my code.
- Raheman and myself also read the question a little bit different than you. we all are correct. Depending on which of the 2 interpretations is correct, that means that or your code is good, of Raheman and mine are good.
- I also looked for impossible combinations and better sorting. If my interpretation is correct, then the last part is already dealth with by part 2, part 5 simpifies part 3 and I also combined part 2 and 4 to make the formula as small as possible.

It also took a little bit longer with my because my Excel is in Dutch, so I hade to write & test my code + translate it to English.
0
 
LVL 7

Expert Comment

by:tomfarrar
ID: 40353340
Try this:

=IF(D4="New Business", 2, IF(AND(D4="Defend", OR(E4>= 5000000, G4>=5000000)), 1, IF(AND(OR(D4="Renewal", D4="Upsell", D4="New Business"), OR(E4>=10000000, G4>=10000000)), 1, IF(AND(OR(D4="Renewal", D4="Run Date"), OR(E4<=10000000, G4<=10000000)), 2, IF(AND(OR(D4="Up Sell", D4="New Business"), OR(E4<=10000000, G4<=10000000)),4,IF(AND(D4="New Business"), OR(E4>=10000000, G4>=10000000), 1 ))))))
0
 
LVL 19

Expert Comment

by:Raheman M. Abdul
ID: 40353452
Professorjimjam
I never saw your code before I post after I finish in my excel sheet. I opened the question and started working on it and just posted my comment.
I saw your code now and mine is different than you.
Don't worry mate.

Robby, thanks mate
0
 
LVL 26

Expert Comment

by:ProfessorJimJam
ID: 40353479
it is alright.    no big deal.

I understand
0
 

Author Comment

by:Matt Pinkston
ID: 40353481
okay whose on first I need to do some playing to see whose "first" response answered the data call.
0
 
LVL 26

Accepted Solution

by:
ProfessorJimJam earned 2000 total points
ID: 40353487
pinkstonmp

first response was mine

my code was :)  

=IF(AND(D1="Defend",OR(E1>=5000000,G1>=5000000)),1,IF(AND(OR(D1="Renewal",D1="Upsell",D1="New Business"),OR(E1>=10000000,G1>=10000000)),1,IF(AND(OR(D1="Renewal",D1="Run Rate"),OR(E1<10000000,G1<10000000)),2,IF(AND(OR(D1="Up Sell",D1="New Business"),OR(E2<=10000000,G2<=10000000)),4,IF(D2="Run Rate",2,IF(AND(D2="New Business",OR(E2>=10000000,G2>=10000000)),1,"")))))) 

Open in new window

0
 
LVL 27

Expert Comment

by:Glenn Ray
ID: 40353522
As a side note to previous experts, may I recommend that you refresh the browser before posting an answer?  That will ensure that you can see if anyone else has supplied an acceptible answer before you.  If you think you have a better solution (more efficient, simpler, easier-to-understand, more-flexible, etc.) then there's no reason not to post.  

It happens to all of us; some folks are quick on the draw, but shoot and miss; some wait for the first shot and then get ya right between the eyes.  :-)

-Glenn
0
 
LVL 33

Expert Comment

by:Rob Henson
ID: 40354306
To throw another option into the fray, all of the above could possibly be simplified by using a small INDEX table.

Match the Text down a column, match the value across the top, return the value at the intersection.

Thanks
Rob H
0
 
LVL 33

Expert Comment

by:Rob Henson
ID: 40354326
See attached, change values in cells A11 & A12 and see result in yellow highlighted cell.

Thanks
Rob H
Q-28528650.xlsx
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Freeze panes is an option within all variants of Excel to enable parts of a sheet to remain stationary when the cursor is in another part of the sheet. This is a very useful feature which is overlooked or under used.
You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.
This Micro Tutorial will demonstrate how to create pivot charts out of a data set. I also added a drop-down menu which allows to choose from different categories in the data set and the chart will automatically update.

801 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question