2017-06-01 1 views
1

Ich habe eine Datei von ~ 40K Zeilen, die Firma, Teilenummer und Preis anzeigt. Beispiel unten.AUSGABE 2 NIEDRIGSTE WERTE IN ARRAY OF EXCEL DATEN

Company PART NUMBER PRICE 
COMPANY14 4063-16082-3  $4,350.00 
COMPANY51 4063-16082-3  $3,481.00 
COMPANY11 321-400-703-0 $3,275.00 
COMPANY11 4063-16082-3  $3,200.00 
COMPANY11 283200-1005 $3,200.00 
COMPANY42 321-400-703-0 $2,800.00 
COMPANY4 4063-16082-3  $2,750.00 
COMPANY4 283200-1005 $2,750.00 
COMPANY35 283200-1005 $2,495.00 
COMPANY59 283200-1005 $2,250.00 
COMPANY24 4063-16082-3  $1,800.00 
COMPANY64 321-400-703-0 $1,145.00 
COMPANY8 4063-16082-3  $1,000.00 
COMPANY60 321-400-703-0 $1,000.00 
COMPANY60 283200-1005 $1,000.00 
COMPANY63 283200-1005 $325.00 

Ich brauche die 2 niedrigsten Preiswerte für jede Teilenummer und die entsprechende Firma. Hier ist, was ich brauche oder etwas Ähnliches.

PART NUMBER Company PRICE 
283200-1005 COMPANY63 325 
283200-1005 COMPANY60 1000 
321-400-703-0 COMPANY60 1000 
321-400-703-0 COMPANY64 1145 
4063-16082-3 COMPANY8 1000 
4063-16082-3 COMPANY24 1800 

Ich habe eine Pivot und haben MIN-Funktion in Pivot verwendet, aber nicht sicher, wie die beiden niedrigsten Werte im Format oben zu bekommen. Hier ist das Bild von Pivot, das ich benutzt habe.

enter image description here

+0

Sie könnten verwenden, was Sie die niedrigsten Werte kennzeichnen müssen und verwenden Sie dann das Flag, um diese herauszufiltern, um die verbleibenden niedrigsten Werte zu erhalten. – pnuts

Antwort

0

Formel Lösung

Angenommen Sheet2 die Quelldaten und die Zieldaten hat die Teilenummer in der Spalte A, die in Comapny B und den Preis in C.

C2: 
=AGGREGATE(15, 6, Sheet2!$C$2:$C$17/(Sheet2!$B$2:$B$17=Sheet4!A2), 1) 

C3: 
=AGGREGATE(15, 6, Sheet2!$C$2:$C$17/(Sheet2!$B$2:$B$17=Sheet4!A2), 2) 

B2: (array formula: Ctrl+Shift+Enter) 
=INDEX(Sheet2!$A$2:$A$17,MATCH(1,(Sheet2!$B$2:$B$17=Sheet4!A2)*((Sheet2!$C$2:$C$17=C2)))) 

Sie können B2 kopieren und einfügen. Für Spalte C, kopieren Sie beide C2 and C3 dann in Spalte C einfügen.

+0

AGGREGATE benötigt keine CSE, es ist standardmäßig eine Array-Typ Formel wie SUMMENPRODUKT –

+0

@ScottCraner es ist weniger flexibel als 'SumProduct' obwohl, d. H. Es * saugt * mit Zeilenarrays. –

+0

Nicht sicher, ich verstehe, was du meinst. –