Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1452to1456
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeile : Einträge listen ohne leere Zellen

Zeile : Einträge listen ohne leere Zellen
16.10.2015 12:01:21
udo
Hallo Forum-Experten,
ich bräuchte bitte eure Hilfe bei folgendem Fall:
Zeilenbereich AY60:QE60
dort stehen in versch. Zellen einzelne Buchstaben,
dazwischen unterschiedlich leere Zellen.
Ich suche eine Formel die mir dann in AY55 rechts-wärts kopierend bis QE55
alle Einträge aus dem ersten Bereich Zeile 60 dann nach und nach in Zeile 55
listet, ohne leere Zellen dazwischen, sozusagen wie ein Autofilter...
In der Recherche " ohne leere Zellen " kommt ein Beitrag indem folgende Formel
beschrieben ist
=WENNFEHLER(INDEX(AD:AD;AGGREGAT(15;6;ZEILE(Z$6:Z$9123)/(AD$6:AD$9000"");ZEILE()));"")
ich doktore daran rum es quer zu meinem Bereich umzubauen, bekomme es aber leider nicht selber hin ...
Sollte dazu bitte eure Hilfe in Anspruch nehmen.
LG Udo

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nach und nach ohne leere Zellen kann man ...
16.10.2015 13:50:56
Luc:-?
…als flfd ÜbernahmeFml in AY55ff ansehen, Udo,
die in den leeren Zellen dann aber den Vorgängerwert wiederholen und so bis QE55 laufen würde. Wenn es dabei um flfd Kombination ginge, würdest du wohl auch kein AGGREGAT und auch keine UDF ala VJoin, die alles auf 1× zusammenfasst, benötigen. Ein simples AY55:=AY60 und in den Folgezellen, zB AZ55:=AY55&AZ60 würde da wohl reichen.
Falls es aber nur darum geht, Zeile 60 in 55 ohne Leerzellen zu wiederholen, würde die Fml wohl nur dann bis QE55 laufen müssen, wenn keine Leerzellen auftreten. Insofern ist dein Text etwas missverständlich. Hier muss eine MatrixFml her, die erst alle Werte einsammelt und dann meinethalben auf AY55:QE55 verteilt, wobei Leerzellen als Leerstring (oder FALSCH dargestellt wdn und so bei entsprd Sortierung nach hinten gelangen. Das kann auch mit …
AY55:QE55:{=WENNFEHLER(INDEX(AY60:QE60;KKLEINSTE(WENN(ISTTEXT(AY60:QE60);SPALTE(AY60:QE60));SPALTE(INDIREKT("ZS1:ZS"&SPALTEN(AY60:QE60);0))));"")}
…erreicht wdn. Hoffe keine () vergessen zu haben!
Alternativ kann man auch 2 UDFs in einer MatrixFml verwenden:
AY55:QE55:{=VSplit(GLÄTTEN(VJoin(AY60:QE60)))}
Für die beiden UDFs ggf mal die RECHERCHE bemühen!
Gruß, Luc :-?
Besser informiert mit …

Anzeige
Hallo Luc, lieben Dank, schaue es später an ...
16.10.2015 15:02:46
udo
... danke dir, kanns grad von unterwegs nicht nachvollziehen, melde mich noch später
Einstweilen herzlichen Dank vorab
LG udo

Die 1.MatrixFormel enthält noch einen Fehler, ...
16.10.2015 19:11:27
Luc:-?
…Udo,
richtig wäre es so:
AY55:QE55: {=WENNFEHLER(INDEX(AY60:QE60;KKLEINSTE(WENN(ISTTEXT(AY60:QE60);SPALTE(INDIREKT("ZS1:ZS"&SPALTEN(AY60:QE60);0)));SPALTE(INDIREKT("ZS1:ZS"&SPALTEN(AY60:QE60);0))));"")}
Beide Fmln sind mehrzellig, d.h., AY55:QE55 muss ausgewählt sein, wenn die Fml in AY55 eingetragen und als MatrixFml abgeschlossen wird. Außerdem setzt die 1. voraus, dass leere Zellen tatsächlich leer sind und nicht etwa nur einen Leer-String enthalten, der bspw von einer Fml erzeugt wird oder ursprünglich wurde.
Luc :-?

Anzeige
Falls du die 1.MatrixFormel verwenden willst ...
16.10.2015 19:19:22
Luc:-?
…und diese dir mit obiger Korrektur zu lang wird, Udo,
kannst du stattdessen auch das 1.Argument von INDEX auf A60:QE60 ändern, also nur das Y weglassen. Aber nur 1× und nur dort, nicht an anderer Stelle!
Luc :-?

hmmm, passt noch nicht .. habe Beispiel hochgelad.
20.10.2015 11:03:58
udo
Hallo Luc, zunächst einmal herzlichen Dank für deine Mühe.
Hab es auch in verschiedener Weise versucht zu integrieren, teils mit Dollarzeichen vor den Bereichen usw. oder ohne, mit Shift Strg gedrückt Return ( Matrix ) usw. irgendwie will es noch nicht klappen ...
Ich habe dir den Bereich mal herausgelöst und als Beispiel hochgeladen
https://www.herber.de/bbs/user/100898.xlsx
könntest Du / Ihr mir bitte dabei nochmal helfen, wäre Dir / Euch sehr dankbar.
ich schaffe es leider nicht.
LG udo

Anzeige
Die MatrixFml ist mehrzellig, darf nicht über ...
20.10.2015 19:30:58
Luc:-?
…den Anwendungsbereich zellenweise gezogen wdn, Udo,
sondern der ganze Bereich muss ausgewählt wdn, bevor die Fml in seine 1.Zelle eingetragen und dann wie für MatrixFmln üblich abgeschlossen wird. Die Fml liefert einen ErgebnisVektor, keine Einzelwerte! Das ist hier auch nicht anders möglich, da Leerzellen weggelassen wdn sollen!
Die auf dein Bsp angepasste Fml lautet dann so:
D8:AS8:{=WENNFEHLER(INDEX(INDEX(D11:AS25;VERGLEICH(C8;C11:C25;0);0);KKLEINSTE(WENN(ISTTEXT(INDEX(D11:AS25;VERGLEICH(C8;C11:C25;0);0));SPALTE(INDIREKT("ZS1:ZS"&SPALTEN(D11:AS11);0)));SPALTE(INDIREKT("ZS1:ZS"&SPALTEN(D11:AS11);0))));"")}
Deshalb steht da jetzt auch als Einsatzgebiet D8:AS8:, nicht etwa D8[:AS8]:! Das heißt, die Fml gilt für alle Zellen, sieht also immer gleich aus; die andere Darstellung bedeutet, dass die Fml nur für die 1.Zelle so gelten würde und in den anderen relative Adressen angepasst würden. Folglich konntest du mit deinen Anpassungsversuchen nicht erfolgreich sein, weil du den grundlegenden Unterschied nicht verstanden hattest. Mehrzellige MatrixFmln sind auch ihr HptAnwendungsgebiet, denn dafür sind sie unabkömmlich; 1zellige MxFmln sind dagg ein Sonderfall, der mitunter mit anderer Fml vermieden wdn kann.
Die mehrzellige MatrixFml mit den beiden UDFs würde angepasst übrigens so lauten:
D8:AS8:{=VSplit(GLÄTTEN(VJoin(INDEX(D11:AS25;VERGLEICH(E$5;C11:C25;0);0)))&WIEDERHOLEN(" ";SPALTEN(D8:AS8)))}
Hier ist der Teil mit WIEDERHOLEN erforderlich, um #NV-Anzeigen zu verhindern (der Rest des Ergebnisbereichs wird so mit LeerTexten gefüllt).
Gruß, Luc :-?
Besser informiert mit …

Anzeige
Geht allerdings auch mit einer gezogenen ...
20.10.2015 22:12:12
Luc:-?
…1zelligen MatrixFml, Udo,
wenn dir das lieber ist:
D8[:AS8]:{=WENNFEHLER(INDEX($A11:$AS25;VERGLEICH($C8;$C11:$C25;0);KKLEINSTE(WENN(INDEX($D11:$AS25;VERGLEICH($C8;$C11:$C25;0);0)="";"";SPALTE($D1:$AS11));SPALTE(A1)));"")}
Das ist aber unrationell, da so nicht nur 1×, sondern in jeder Zelle alles wieder neu berechnet wird.
Luc :-?

..kann es erst heute Mittag testen ... melde mich
21.10.2015 10:33:23
udo
Hallo Luc, vielen herzlichen Dank schon mal, kann es leider erst heute Mittag testen und mich dran versuchen ... Ich danke Dir aber wirklich sehr für deine Mühe die Du damit hast.
LG udo

339 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige