Excel leere Zellen überspringen?

2 Antworten

Was sind bei Dir "Nullwerte"? Leere Zellen oder wirklich der Wert 0? Und was steht dann bei den Namen?

Angenommen in A1:A100 stehen Namen und in B1:B100 stehen Werte, die ab und zu auch mal 0 sind und wenn das so ist, soll diese Zeile nicht angezeigt werden. Dann erreichst Du das mit:

{=WENNFEHLER(INDEX($A$1:$A$100;KKLEINSTE(WENN($B$1:$B$100<>0;ZEILE($A$1:$A$100));ZEILE(A1)));"")}

und runterkopieren.

** ACHTUNG!**   
Das ist eine Matrixformel. 
Das bedeutet: Die geschweiften Klammern {} NICHT mit eingeben, sondern die Eingabe der Formel NICHT mit ENTER abschließen, sondern mit: 
STRG & SHIFT & ENTER (alle drei gleichzeitig). 
DAS erzeugt die { } und macht die Formel zu einer Matrixformel. 

Falls es nicht um 0 geht, sondern um Leerzellen, einfach das <>0 durch <>"" ersetzen.

Hilft Dir das? Sonst frage nochmal gezielt nach.

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)
GCMoritzGC 
Fragesteller
 08.04.2018, 08:53

Ja, mit Nullzeile meinte ich den Eintrag 0. Ich versuche die Formel bei Gelegenheit. Danke schon mal!

1
Iamiam  08.04.2018, 23:29
@GCMoritzGC

@ Oubyi: siehe meinen Kommentar zu deinem in meiner AW!

0

s. Oubyi oder alternativ (ebenfalls Matrixformel):

{=WENNFEHLER(INDEX(_xl!A$1:A$999;KKLEINSTE(WENN(ISTZAHL(_xl!A$1:A$999);ZEILE(_xl!A$1:A$999));ZEILEN(A$1:A999)));"-")}

Bei Nichterfüllen der Bedingung liefert Wenn(Bed;dann|kein sonst!) FALSCH und das wird von Kkleinste ignoriert (genauso in Oubyis Formel). Ich verwende lieber ZeileN mit aufgespanntem Bereich, weil das nie aus dem Blatt rauswandert und dann #Bezug! liefert, egal, wo der Block steht und wie er verschoben wurde (als ganzes) bzw Zeilen oberhalb gelöscht wurden. Ist aber Geschmackssache.

Das Datenblatt mit den externen Werten (aber in derselben Datei) heißt hier kurz _xl

GCMoritzGC 
Fragesteller
 08.04.2018, 08:54

Werde ich ausprobieren. Danke.

0
Oubyi, UserMod Light  08.04.2018, 14:28

Hallo lamiam.
Ich sehe Deine Antwort gerade erst.
ISTZAHL ist natürlich eine gute Alternative, aber Dein ZEILEN verstehe ich nicht so richtig. Das liefert erstmal 999 als k für KKLEINSTE. Also wäre imho höchstens:

{=WENNFEHLER(INDEX(_xl!A$1:A$999;KKLEINSTE(WENN(ISTZAHL(_xl!A$1:A$999);ZEILE(_xl!A$1:A$999));ZEILEN(A$1:A999)-998));"-")}

sinnvoll, bzw. so wie ich die Aufgabe verstanden habe:

{=WENNFEHLER(INDEX(_xl!A$1:A$999;KKLEINSTE(WENN(ISTZAHL(_xl!B$1:B$999);ZEILE(_xl!A$1:A$999));ZEILEN(A$1:A999)-998));"-")}

Aber das ZEILEN verstehe ich im Prinzip nicht. #Bezug wird doch durch WENNFEHLER abgefangen.

0
Iamiam  08.04.2018, 23:27
@Oubyi, UserMod Light

Wenn ich die Matrixformel nur in die oberste Zelle schreibe (dann natürlich mit Zeilen(A$1:A1) [ die zweite Zelle NICHT $ ! ] und runterziehe, wächst der aufgespannte Bereich immer um eine Zeile. Oben steht also das KKleinste für den ersten Eintrag, darunter der für den zweiten usw., also genau das gleiche Bild wie mit Zeile, aber eben unempgfindlich gegen verschieben (was ich sehr häufig mache)

1