Home |
Search |
Today's Posts |
#20
![]() |
|||
|
|||
![]()
Aladin,
Thanks for a very robust solution! "Aladin Akyurek" wrote: Please replace the formula in F2, which is flawed, with: =MAX(IF(INDEX(B4:B11,MATCH(F1,D4:D11,0))=B4:B11,D4 :D11))-F1 which you need to confirm with control+shift+enter instead of just enter. Thanks to Domenic for keeping me to my original formula system. Aladin Akyurek Wrote: What follows constructs a Top N list. Let A3:C11 house the following sample: {"Code","Value1","Value2";1,100,1000;2,125,999;3,1 10,25;5,140,8;6,140,3;8,120,9;9,110,5;20,110,8} In D3 enter: Rank In D4 enter & copy down: =RANK(B4,$B$4:$B$11)+COUNTIF($B$4:B4,B4)-1 Enter the Top N parameter value in F1: 5 (in this example). In F2 enter: =COUNTIF(B4:B11,LARGE(B4:B11,F1))-1 This calculates the ties of Nth highest value. In F3 enter: Top N In F4 enter & copy down: =IF(G4<"",INDEX($A$4:$A$11,MATCH(ROW()-ROW(F$4)+1,$D$4:$D$11,0)),"") The ROW(F$4) anchors the formula to the first cell it's entered: Here F4. In G3 enter: Value1 In G4 enter & copy down: =IF(ROW()-ROW($G$4)+1<=$F$1+$F$2,INDEX($B$4:$B$11,MATCH(ROW( )-ROW(G$4)+1,$D$4:$D$11,0)),"") The results area will look like this: {5,140;6,140;2,125;8,120;3,110;9,9;20,20} If you are on Excel 2003, do the following: Change the formula in D4 from: =RANK(B4,$B$4:$B$11)+COUNTIF($B$4:B4,B4)-1 to: =RANK(B4,$B$4:$B$11)+COUNTIF($B$4:OFFSET(B4,0,0),B 4)-1 Select A3:D11. Activate Data|List|Create List. Check the "My list has headers" option. Click OK. Repeat the foregoing steps for F3:G10. Whenever you add records to A:C, everything will be calculatad automatically without adjusting any formulas or copying them down manually. This List feature is just great: It solves the formula copying problem of the formula systems. A side note. It's surprising that the List functionality cannot cope with the original formula in D4, a fact that forces us to introduce an additional function call with the volatile OFFSET(). I'd urge Microsoft to lift up this shortcoming of the otherwise very promising feature. -- Aladin Akyurek ------------------------------------------------------------------------ Aladin Akyurek's Profile: http://www.excelforum.com/member.php...fo&userid=4165 View this thread: http://www.excelforum.com/showthread...hreadid=273740 |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How do I compare data in two worksheets to find matching cells? | Excel Discussion (Misc queries) | |||
Printing zip codes that start with 0 | Excel Discussion (Misc queries) | |||
Printing zip codes that start with 0 | Excel Discussion (Misc queries) | |||
Excel has a "Find Next" command but no "Find Previous" command. | Excel Discussion (Misc queries) | |||
Find & Replace results to display specified chosen fields | Excel Discussion (Misc queries) |