Sortiert
Die einfachste Formel gilt für den Fall, dass die Spalte A
aufsteigend sortiert ist:
Geben Sie die folgende Formel in C1
und Strg-Eingabe / Kopieren-Einfügen / Ausfüllen / Auto-Ausfüllen in den Rest der Tabellenspalte ein:
=INDEX(A:A,1+MATCH(B1,A:A,1))
Erläuterung:
Das 1
als drittes Argument von MATCH()
bedeutet, dass es den größten Wert findet, der kleiner oder gleich dem ersten Argument ist. Addiert 1
man diesen Index, so erhält man den Index der nächst höheren Nummer. Die INDEX()
Funktion extrahiert dann die Nummer.
Beachten Sie, dass ich am Ende der Spalte einen zusätzlichen Wert hinzugefügt habe A
. Dies gilt für den Sonderfall, in dem es keinen nächst höheren Wert gibt.
Unsortiert
Für den Fall, dass die Spalte A
unsortiert ist (funktioniert auch, wenn sie sortiert ist), ist die Formel etwas komplizierter:
Geben Sie ( Ctrl+ Shift+ Enter) die folgende Formel in das Feld ein C1
und fügen Sie sie in die restliche Tabellenspalte ein. ( {
Und vergessen Sie nicht, das und zu entfernen }
):
{=SMALL(IF($A$1:$A$6>B1,$A$1:$A$6),1)}
Erläuterung:
Die Funktion gibt den n-ten kleinsten Wert des Arrays zurück und ignoriert boolesche Werte . Da das dritte Argument der Funktion standardmäßig voreingestellt ist, werden nur Werte geprüft, die größer als der Wert in der Spalte sind. Dies führt zu dem nächst höheren Wert.SMALL(array,n)
IF()
FALSE
B
Beachten Sie, dass kein spezieller Beendigungswert für die Spalte A
erforderlich ist, da ein #NUM!
Fehler das Ergebnis ist, wenn in der Spalte keine Werte vorhanden sind, die A
größer als der Wert in der Spalte sind B
.
Schließlich gibt es, wie Aventurin hervorgehoben hat, eine alternative, ähnliche Formel, die unabhängig von der Sortierung funktioniert (jedoch mit einem wichtigen Vorbehalt).
Für Excel 2016+:
=MINIFS($A$1:$A$6,$A$1:$A$6,">"&B1)
Dies funktioniert, weil die MINIFS()
Funktion die Werte herausfiltert, die den Kriterien nicht entsprechen, bevor der Mindestwert ermittelt wird.
Für frühere Versionen von Excel:
{=MIN(IF($A$1:$A$6>B1,$A$1:$A$6))}
Dies funktioniert aus demselben Grund wie die SMALL()
Funktion - es werden boolesche Werte ignoriert, die von der IF()
Funktion generiert werden .
Vorbehalt:
Sowohl die =MINIFS()
und {=MIN(IF())}
Formeln werden nicht korrekt funktionieren, wenn eine Null der richtige sein kann nächst höhere Wert als Null auch zurückgegeben, wenn es ist kein nächst höherer Wert. (Dies ist der gleiche Grund für das Hinzufügen eines zusätzlichen Werts am Ende der Spalte A
für die erste Formel - diese Formel gibt auch eine Null zurück, wenn keine höheren Werte vorhanden sind.)