Excel: Wenn leer, dann nächste Zelle überprüfen ob leer

laura94

Cadet 1st Year
Registriert
Juli 2016
Beiträge
13
Hallo zusammen :)

ich habe folgendes Problem:
Ich habe vier Zellen mit unterschiedlichen Zahlen. Nun sollen immer die letzten zwei Zahlen subtrahiert werden. Excel soll also prüfen, ob die Zelle leer ist und wenn ja, zu der vorherigen springen usw.

Excel.PNG

In der ersten Zeile also 15-13 = 2.
In der zweiten Zeile ist D leer, also soll es überprüfen ob in C was steht und wenn ja, dann C3 - B3.

Hoffe es kann mir jemand helfen.
Danke und liebe Grüße
 
In E2 schreibst du (ohne das 1. am Anfang)

Code:
=INDEX(A1:D1;KGRÖSSTE(WENN(A1:D1<>"";SPALTE(A1:D1)-SPALTE(A1)+1);1))-INDEX(A1:D1;KGRÖSSTE(WENN(A1:D1<>"";SPALTE(A1:D1)-SPALTE(A1)+1);2))
und schließt (WICHTIG, nie vergessen!) die Eingabe mit STRG+UMSCHALT+ENTER ab. (es erscheinen {} um die Formel)
Die Formel kannst du dann in die anderen Zeilen runterziehen.
Es müssen aber auch mindestens zwei Zahlen pro Zeile vorhanden sein, sonst bringt die Formel dir nen Fehler.

Die Lösung sieht zwar etwas groß aus, ist aber dafür flexibel:
Code:
=INDEX(A1:D1;KGRÖSSTE(WENN(A1:D1<>"";SPALTE(A1:D1)-SPALTE(A1)+1);1))
findet die erste Zahl von rechts.

Code:
=INDEX(A1:D1;KGRÖSSTE(WENN(A1:D1<>"";SPALTE(A1:D1)-SPALTE(A1)+1);2))
findet die zweite Zahl von rechts.

Die Zahl ganz am Ende legt fest, die wievielte Zahl du willst.
Du kannst diese Zahl also ändern und jede beliebige andere Zahl raussuchen lassen.

Wenn du das KGRÖSSTE durch KKLEINSTE ersetzt, suchst du von links, uswusf...

EDIT: Danke für den Tipp mit den Smileys!
 
Zuletzt bearbeitet:
Im erweitertes Modus beim antworten die Code funktion nutzen, schon bist die Smileys los :)

Code:
=SUMME(INDEX(A22;KGRÖSSTE(WENN(A22<>"";SPALTE(A22)-SPALTE(A2)+1);2))2)
 
Hallo Tarkoon,

danke für die Hilfe. Es kommen zwar Zahlen, aber irgendwie nicht die richtigen, obwohl ich es genau so eingegeben habe und auch mit STRG + Umschalt + Enter abgeschlossen habe.

Excel2.png

Es müsste ja 3 (15-12) und 4 (14-10) rauskommen.

Was kann ich da anders machen ?

Danke und liebe Grüße
Ergänzung ()

Ok hab gerade selbst den Fehler gefunden, ich hab es in die falsche Zelle kopiert. Jetzt geht es :)
 
Hallo Laura,

sorry, du hast ja noch eine Zeile Überschriften drüber.
Es müsste bei dir dann richtig heißen:
Code:
=INDEX(A2:D2;KGRÖSSTE(WENN(A2:D2<>"";SPALTE(A2:D2)-SPALTE(A2)+1);1))-INDEX(A2:D2;KGRÖSSTE(WENN(A2:D2<>"";SPALTE(A2:D2)-SPALTE(A2)+1);2))
Was er bei dir anzeigt ist immer das Ergebnis aus der Zeile oben drüber... ;-)
1=4-3
3=15-12
etc.
War natürlich mein Fehler!

P.S.
Fall jemanden interessiert, WIE das funktioniert, kann man sich hier etwas einlesen:
Richtlinien und Beispiele für Arrayformeln
Gegen Ende wird es der Lösung von oben schon etwas ähnlich... ;-)
 
Zuletzt bearbeitet:
Zurück
Oben