Solved

Need help with complex formula in excel

Posted on 2014-09-30
13
51 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
  • 4
  • 2
  • 2
  • +4
13 Comments
 
LVL 25

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
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 25

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 25

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 25

Accepted Solution

by:
ProfessorJimJam earned 500 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 32

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 32

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

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

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

Convert between Excel file formats (.XLS, .XLSX, .XLSM) with/without macro option David Miller (dlmille) Intro Over this past Fall, I've had the opportunity to see several similar requests and have developed a couple related solutions associate…
This tutorial explains how to create a series of drop-down lists that are dependent upon prior selections to guide (“force”) the user to make the correct selection and reduce data errors within Microsoft Excel. Excel 2010 was used for this tutorial;…
The viewer will learn how to use the =DISCRINV command to create a discrete random variable, use this command to model a set of probabilities and outcomes in a Monte Carlo simulation, and learn how to find the standard deviation of a set of probabil…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…

831 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