2016-05-12 5 views
0

Ich habe 3 verschiedene Zellen wie dies in meiner Excel-Tabelle:die nächste Zahl, die größer als ein bestimmte Wert unter den Zellen

[B1] = 2 
[N50] = 5 
[V25] = 10 

Ich mag, dass die nächste Zahl, die größer als ein bestimmte Wert in diesen Zellen zu finden. Wenn der Wert beispielsweise 1 lautet, sollte die Nummer 2 in Zelle [B1] lauten. Wenn der Wert 4 ist, sollte die Nummer 5 in Zelle [N50] sein.

+0

einige Beispieldaten groß sein würde, unterstützen. Diese Seite ist ein großartiges [Tool zum Posten von Daten aus einer Tabelle] (http://www.sensefulsolutions.com/2010/10/format-text-as-table.html). Nicht so gut mit leeren Zellen, aber wenn Sie ein * oder ein - in den leeren Zellen als vorübergehender Halte setzen, funktioniert es groß. –

Antwort

2
=IF(A2<LARGE(CHOOSE({1,2,3},D2,F3,H1),1), 
    IF(A2<LARGE(CHOOSE({1,2,3},D2,F3,H1),2), 
    IF(A2<LARGE(CHOOSE({1,2,3},D2,F3,H1),3), 
LARGE(CHOOSE({1,2,3},D2,F3,H1),3), 
LARGE(CHOOSE({1,2,3},D2,F3,H1),2)), 
LARGE(CHOOSE({1,2,3},D2,F3,H1),1)), 
"larger or equal to all searched numbers") 

und in einer schönen geraden Linie für das Kopieren und Einfügen Zwecke:

=IF(A2<LARGE(CHOOSE({1,2,3},D2,F3,H1),1), IF(A2<LARGE(CHOOSE({1,2,3},D2,F3,H1),2), IF(A2<LARGE(CHOOSE({1,2,3},D2,F3,H1),3), LARGE(CHOOSE({1,2,3},D2,F3,H1),3), LARGE(CHOOSE({1,2,3},D2,F3,H1),2)), LARGE(CHOOSE({1,2,3},D2,F3,H1),1)), "larger or equal to all searched numbers") 

Das schwierigste für mich Teil und ich verstand es nicht und noch nicht ... nur zu akzeptieren, baut Ihr Trennen Sie die Zellen in ein Array. Dieser Teil ist durch das Auswählen() durchgeführt:

CHOOSE({1,2,3},D2,F3,H1) 

Sobald es in einem Array ist, eine große Funktion erfüllen sie kleinste von der größten zu sortieren. Überprüfen Sie dann über eine Reihe von geschachtelten IF-Anweisungen, ob die angegebene Zahl in A2 kleiner als die größte K-Zahl ist.

Hier ist ein Proof of Concept, der auf einen kleineren Bereich herunterskaliert ist, aber auf die Idee kommt.

Proof of Concept

Jetzt habe ich es mit einem großen, können Sie es mit einer kleinen Funktion auch getan haben könnten, würden Sie müssen nur Ihre Logik in der if-Anweisungen ändern.

Dies ist ein alternativer Ansatz, ohne die if-Anweisungen:

=IF(A2>=MAX(A7,C8,E6),"Greater than or equal to all options",INDEX(CHOOSE({1,2,3},A7,C8,E6),IFERROR(MATCH(A2,CHOOSE({1,2,3},A7,C8,E6),1)+1,1))) 
+0

Ich habe beide Formeln ausprobiert und sie funktionieren super. Vielen Dank Ed, deine Antwort hat mir sehr geholfen! – Teiv

+0

Ich bin kein Fan der IF-Anweisung-Methode, weil seine repetitive und Art von festen 3 Vergleiche. Die letzte Formel hat einen anderen Ansatz und funktioniert für so viele Zellen, wie Sie das Array erstellen möchten. Es ist auch kürzer, also bevorzuge ich es. Wenn Sie den Max-Check nicht zu Beginn ausführen, gibt die Formel den größten Wert in der Liste zurück. –

Verwandte Themen