Robert Casaletta
asked on
Rank results based on multiple variables
I am ranking (column AH) the points for a group of members based on if they meet all percentages greater than or equal 100. My problem is when the point total (column AG) for a non-qualified member is greater than the qualified member. I cannot figure out how to exclude the non-qualified member from the formula. I've attached my spreadsheet and my formula is:
=IF(NOT($G2>=100%),"Not Qualified",IF(NOT($M2>=100 %),"Not Qualified",IF(NOT($S2>=100 %),"Not Qualified",RANK($AG2,$AG2: $AG4)+SUMP RODUCT(--( $AG$2:$AG$ 4=$AG2),-- ($D$2:$D$4 >$D2)))))
Ranking_EE_111417.xlsx
=IF(NOT($G2>=100%),"Not Qualified",IF(NOT($M2>=100
Ranking_EE_111417.xlsx
Ignoring row 3 for a moment, please explain in english why row 4 ranks higher than row 2.
ASKER
Because it has more points than row 2: 36 vs. 34 (column AG)
Hi,
Replace your formula with below for ranking:
Ranking_EE_111417.xlsx
Replace your formula with below for ranking:
=IF(OR($G2<100%,$M2<100%,$S2<100%),"Not Qualified",RANK($AG2,$AG$2:$AG$4)+SUMPRODUCT(--($AG$2:$AG$4=$AG2),--($D$2:$D$4>$D2)))
Add extra column to exclude "Not Qualified" with below formula:=IFERROR(IF(ISNA(RANK($AH2,$AH$2:$AH$4)),"Not Qualified",RANK($AH2,$AH$2:$AH$4)),"")
Hope this helps.Ranking_EE_111417.xlsx
ASKER
Thanks Shums, but the rank is off in column AI. How do I reverse it?
Shouldn't it just be this?
=IF(NOT($G2>=100%),"Not Qualified",IF(OR(NOT($M2>=100%),NOT($S2>=100%)),"Not Qualified",SUMPRODUCT(--($M$2:$M$4>=100%),--($S$2:$S$4>=100%),--($AG$2:$AG$4>$AG2))+1))
ASKER
Right on Subodh! I did not consider adding column M & S. What made you go down that path?
Because you wanted to rank with those criteria also. :)
Also you can wrap all your Not Qualified conditions within OR criteria like below...
=IF(OR(NOT($G2>=100%),NOT($M2>=100%),NOT($S2>=100%)),"Not Qualified",SUMPRODUCT(--($M$2:$M$4>=100%),--($S$2:$S$4>=100%),--($AG$2:$AG$4>$AG2))+1)
ASKER
Got it. I played with it and came across an issue if there is a tie. I would like to break the tie based on the point with the larger amount in column J. Can you help?
Maybe this Array Formula which will require confirmation with Ctrl+Shift+Enter instead of Enter alone.
=IF(OR(NOT($G2>=100%),NOT($M2>=100%),NOT($S2>=100%)),"Not Qualified",(IF(COUNTIF($AG$2:$AG$4,AG2)=1,SUM(($M$2:$M$4>=100%)*($S$2:$S$4>=100%)*($AG$2:$AG$4>$AG2))+1,SUM(($M$2:$M$4>=100%)*($S$2:$S$4>=100%)*($J$2:$J$4>$J2))+1)))
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thank you both!! I really liked the VBA usage and can use it in other spreadsheets. Subodh, thank you for your efforts too and making me think differently.
You're welcome! Glad we could help. :)
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
You're welcome and I'm glad I was able to help.
If you expand the “Full Biography” section of my profile you'll find links to some articles I've written that may interest you.
Marty - Microsoft MVP 2009 to 2017
Experts Exchange MVE 2015
Experts Exchange Top Expert Visual Basic Classic 2012 to 2017
If you expand the “Full Biography” section of my profile you'll find links to some articles I've written that may interest you.
Marty - Microsoft MVP 2009 to 2017
Experts Exchange MVE 2015
Experts Exchange Top Expert Visual Basic Classic 2012 to 2017