Eine wirklich einfache Möglichkeit wäre ein Rangindex und dann WOOOOKUP, um die entsprechenden Werte zu finden:
%Vor%%Vor%
%Vor%
%Vor%
Okay, hier ist die Lösung "Eine Formel macht alles" ohne zusätzliche temporäre Spalten:
Formel in A6:
%Vor%Geben Sie es als Array-Formel ein, d. h. drücken Sie Strg - Shift - Geben Sie ein. Dann kopiere es in die angrenzenden Spalten.
Um auch die Zahl zu erhalten, verwenden Sie diese Formel in A7 (wieder als Matrixformel):
%Vor%Beide Formeln sind etwas aufgebläht, da sie auch mit den möglichen Duplikaten umgehen müssen. Die Lösung besteht darin, einfach einen sehr kleinen Teil der Spalte hinzuzufügen, bevor die Sortierung angewendet wird (Funktion KLEIN) - und sie dann wieder zu entfernen ...
Obwohl ich die "add number number technique" verwendet habe, finde ich das eleganteste für eine Hilfszeile / -spalte:
%Vor%(Kopieren über die Zeilenspalte) RANK bringt Sie in die Nähe und der COUNTIF-Teil behandelt Duplikate, indem die Anzahl der Duplikate der Zelle bis zu diesem Punkt gezählt wird. Da es immer eine Übereinstimmung gibt (selbst), subtrahierst du 1 für den letzten Rang. Dies "sortiert" Bindungen in der Reihenfolge, in der sie angezeigt werden. Beachten Sie, dass eine leere Zelle # N / A und Zeichendaten als #Values generiert.
Es ist machbar! : -)
Hier ist die Beispieldatei .
Erläuterung
Ich nehme an, dass sich Ihre Daten in Zeile 1 von Tabelle1 befinden und dass die Daten in Spalte 1 eines anderen Blattes sortiert werden sollen - wenn nicht, passen Sie sie entsprechend an.
Platzieren Sie diese Formel in Spalte 1 des Zielblattes, etwa in Zeile 2:
%Vor%Sie müssen die Formel als Array-Formel eingeben, d. h. drücken Sie Strg-Umschalt-Eingabe.
Wenn Sie es in eine andere Spalte als Spalte eins einfügen, müssen Sie COLUMN()
durch COLUMN()-COLUMN($A)+1
ersetzen, wobei $A
eine Referenz auf die Zelle selbst sein muss.
Diese Formel liefert Ihnen die niedrigste Zahl in Ihrem Bereich - wenn Sie die nächsten 4 Spalten kopieren, erhalten Sie Ihre Bestellliste mit Zahlen.
Um dies zurück in die Spaltennummer zu übersetzen, müssen wir 2 Schritte ausführen:
=ROUND(SMALL(Sheet1!$A:$E+COLUMN(Sheet1!$A:$E)/100000000,COLUMN()),6)- erneut, um als Matrixformel eingegeben zu werden. Wenn die Quelldaten nicht in Spalte A beginnen, müssen Sie
+COLUMN(Sheet1!$A)-1
hinzufügen, wobei $ A $ 1 durch die Zelle ganz links der Quelldaten ersetzt werden muss. Natürlich können Sie auch Schritt 1 und 2 kombinieren, dies führt zu dieser Megaformel:
=MATCH(SMALL(Sheet1!$A:$E+COLUMN(Sheet1!$A:$E)/100000000,COLUMN()),Sheet1!$A:$E+COLUMN(Sheet1!$A:$E)/100000000,0)Wiederum als Array-Formel einzugeben.