Suchen des höchsten numerischen Werts aus einem Bereich hybrider Daten in Excel

Suchen des höchsten numerischen Werts aus einem Bereich hybrider Daten in Excel

Ich habe eine Reihe mit 6 alphanumerischen Werten wie im Bild. Ich brauche eine Formel, die die drei höchsten numerischen Werte in jeder Reihe ermittelt und dann die mit diesen Werten verbundenen Buchstaben in der richtigen Reihenfolge (absteigend) anzeigt. Zeile 1 ergibt beispielsweise eine Antwort RES, da R der höchste Wert in der Reihe ist, gefolgt von E, gefolgt von S. Wo eine Übereinstimmung vorliegt (wie oben), wird der zuerst angezeigte Wert bevorzugt. Ich bin ein einfacher Excel-Benutzer und bin damit ratlos. Ich kann Elemente der Lösung erstellen, aber es gefällt mir nicht, wenn ich versuche, sie zu kombinieren. Ich bin dankbar für Ihre Hilfe.

Bildbeschreibung hier eingeben

Antwort1

Bildbeschreibung hier eingeben

Wie es funktioniert:

Meine Quelldaten liegen im Bereich A2:F3.

  • Schreiben Sie diese Formel in die Zelle, B6um Alphabete aus den Quelldaten zu trennen und auszufüllenRechts.

      =LEFT(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)
    
  • Um Zahlen aus Quelldaten zu trennen, geben Sie diese Formel in die Zelle ein B7, füllen SieRechts, dann runter.

     =VALUE(RIGHT(A2,LEN(A2)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1))
    
  • In Zelle B10schreiben Sie diese Array-Formel, füllenRechtsdann drücken F2und fertigstellen Ctrl+Shift+Enterund füllenRunter.

    {=LARGE(B7:G7,{1,2,3})}
    
  • Schreiben Sie diese Formel in „Zellenfüllung B13RechtsDannRunter.

       =IFERROR(INDEX(B$6:$G$6,MATCH(B10,B7:$G7,0)),"")
    
  • B16Zum Schluss schreiben Sie diese Formel in Cell und füllen sie ausrunter.

=CONCATENATE(B13,C13,D13)

Passen Sie die Zellabstände in der Formel nach Bedarf an.

Antwort2

Angenommen, Ihre Daten „R35“ befinden sich unter A1.

Tun

H1  --->  =VALUE(RIGHT(A1,LEN(A1)-1))

und ziehen Sie, bis L1, dann

N1  --->  =IF(COUNTIF($H1:$L1,H1)=1,H1,H1+0.5)
O1  --->  =IF(COUNTIF($H1:$L1,I1)=1,I1,I1+0.4)
P1  --->  =IF(COUNTIF($H1:$L1,J1)=1,J1,J1+0.3)
Q1  --->  =IF(COUNTIF($H1:$L1,K1)=1,K1,K1+0.2)
R1  --->  =IF(COUNTIF($H1:$L1,L1)=1,L1,L1+0.1)

Dann

T1  --->  =RANK(N1,$N1:$R1,0)

und ziehen Sie, bis X1, dann

Z1  --->  =INDEX($A1:$F1,MATCH(1,$T1:$X1,0))
AA1  --->  =INDEX($A1:$F1,MATCH(2,$T1:$X1,0))
AB1  --->  =INDEX($A1:$F1,MATCH(3,$T1:$X1,0))

Dann

AD1  --->  =LEFT(Z1)&LEFT(AA1)&LEFT(AB1)

zuletzt... auswählen H1:AD1und ziehen, bis AD6.

Die Spalte AD sollte das sein, wonach Sie suchen. Sie können die Spalten ausblenden oder in einem anderen Blatt ausführen, damit es einfacher aussieht.

Teilen Sie uns bitte mit, wenn Sie nicht weiterkommen (beim Verstehen oder Umsetzen der Formel). (:

ich hoffe es hilft.

p/s: +0,5, +0,4 ... +0,1 wird verwendet, um diese Anforderung zu erfüllen

der Erste, der erscheint, erhält den Vorzug

Antwort3

Ich brauchte 6 Hilfszellen, ohne VBS zu verwenden. Wenn Ihre Daten also in A1 bis F1 liegen:

setze G1 auf

=INT(RIGHT(A1,2)&"006")

setze H1 auf

=INT(RIGHT(B1,2)&"005")

setze I1 auf

=INT(RIGHT(C1,2)&"004")

setze J1 auf

=INT(RIGHT(D1,2)&"003")

setze K1 auf

=INT(RIGHT(E1,2)&"002")

setze L1 auf

=INT(RIGHT(F1,2)&"001")

und M1 zu

=LEFT(INDIRECT(ADDRESS(ROW(),MATCH(LARGE(G1:L1,1),G1:L1,0))),1)&LEFT(INDIRECT(ADDRESS(ROW(),MATCH(LARGE(G1:L1,2),G1:L1,0))),1)&LEFT(INDIRECT(ADDRESS(ROW(),MATCH(LARGE(G1:L1,3),G1:L1,0))),1)

Sie sollten in der Lage sein, diese 7 Formeln in Ihre Zeilen zu kopieren und einzufügen. Beachten Sie, dass doppelte Werte von links nach rechts behandelt werden.

verwandte Informationen