Microsoft Excel

Herbers Excel/VBA-Archiv

Inhalt letzter Zelle ohne Blank

Betrifft: Inhalt letzter Zelle ohne Blank von: Die Johanna
Geschrieben am: 20.09.2020 15:13:10

Hallo,

in einer umfangreichen Liste gibt es 90 Spalten, in denen ein Eintrag vorgenommen werden kann. Nun würde ich gerne den Inhalt (genauer einen Teil des Inhalts, die ersten 8 Zeichen) der letzten befüllten Zelle in eine weitere Spalte schreiben. Die letzte Spalte habe ich über

=AGGREGAT(14;4;(ZX11:ACD11<>"")*SPALTE(ZX11:ACD11);1)

erfolgreich ermittelt. Allerdings gibt es Zellen, die ein Blank enthalten, diese sollen NICHT ausgegeben werden. Ich habe es deshalb im mittleren Teil versucht mit: UND(ZX11:ACD11<>"";ZX11:ACD11<>" "), was aber nicht funzte.

Habt ihr einen Tipp für mich?

Herzlichen Dank und einen schönen Sonntag
wünscht
Die Johanna

Betrifft: nicht UND sondern multiplizieren
von: WF
Geschrieben am: 20.09.2020 15:22:25

=AGGREGAT(14;4;(ZX11:ACD11<>"")*(ZX11:ACD11<>" ")*SPALTE(ZX11:ACD11);1)

WF

Betrifft: AW: nicht UND sondern multiplizieren
von: Die Johanna
Geschrieben am: 21.09.2020 17:38:41

Hallo WF,

habe - wie alle anderen natürlich auch - herzlichen Dank für deine Hilfe. So klappt es prima, ich habe es gerade in die Liste eingefügt.

Der ganze Befehl lautet jetzt:
=LINKS(INDIREKT(ADRESSE(ZEILE();AGGREGAT(14;4;(ZX11:ADP11<>"")*(ZX11:ADP11<>" ")*SPALTE(ZX11:ADP11); 1);4;1));8)

Passt genau. Das Ergebnis gibt mir das Datum (TT.MM.JJ)des letzten Eintrags für eine Gesprächsdokumentation. Einziges Manko - ich sehe jetzt, wieviele Einträge ich selbst noch vornehmen muss :-(. Meine Kolleg*Innen sind da deutlich weiter.

Viele Grüße wünscht

Die Johanna

Betrifft: AW: nicht UND sondern multiplizieren
von: Daniel
Geschrieben am: 21.09.2020 17:52:49

hat das denn mit dem GLÄTTEN funktioniert?

statt dem sperrigen: Indirekt(Adresse(Zeilennummer, Spaltennummer))
kannst du auch Index(14:14;1;Spaltennummer) verwenden.

(wobei 14:14 immer die Zeile sein sollte, in die du die Formel eingibst)

Gruß Daniel

Betrifft: AW: nicht UND sondern multiplizieren
von: Die Johanna
Geschrieben am: 21.09.2020 18:51:50

Hallo Daniel,

Glätten kenne ich, aber die Blanks sind bewusst eingefügt. Die sollen nicht weg ;-)

Die Johanna

Betrifft: AW: nicht UND sondern multiplizieren
von: Daniel
Geschrieben am: 21.09.2020 19:01:08

du hast es immer noch nicht gecheckt.
in den Zellen können die Blanks bleiben.
nur innerhalb der Formel (ich wiederhole NUR INNERHALB DER FORMEL) entfernst du die Blanks!!!, damit du nicht auf " " und "" abfragen musst, sondern nur auf "".
Aber wie gesagt, das passiert INNERHALB DER FORMEL, deine Zellinhalte brauchst du nicht verändern:
nochmal: DIE ZELLINHALTE BRAUCHST DU NICHT VERÄNDERN!!!! IN DEN ZELLEN KÖNNEN DIE BLANKS STEHEN BLEIBEN.
Gruß Daniel

Betrifft: AW: nicht UND sondern multiplizieren
von: Die Johanna
Geschrieben am: 23.09.2020 12:14:10

Hallo,

okay, hatte ich wirklich nicht. Danke für die Klarstellung.

Die Johanna

Betrifft: AW: Inhalt letzter Zelle ohne Blank
von: Daniel
Geschrieben am: 20.09.2020 16:06:07

Hi

Schmeiß das Blank über Glätten raus.

(Glätten(ZX11:ACD11)<>"")

Gruß Daniel

Betrifft: AW: Inhalt letzter Zelle ohne Blank
von: Die Johanna
Geschrieben am: 21.09.2020 12:41:18

Hallo,

danke für den Tipp.
Die Blanks stehen allerdings extra drinnen, die sollen nicht weg. Es handelt sich um reine Texteinträge von ordentlicher Länge. Sichtbar sollen immer die ersten Zeichen sein, deshalb kein Zeilenumbruch. Ohne die Blanks wird der letzte Text dann über alle Leerzellen ausgebreitet, mit einem Blank dann nur bis zu dieser Zelle.

Deshalb funktionieren auch die anderen Vorschläge leider nicht. Danke trotzdem für die Mühe.

Grüße sendet

Die Johanna

Betrifft: AW: Inhalt letzter Zelle ohne Blank
von: Daniel
Geschrieben am: 21.09.2020 13:02:08

Hi
das "Schmeiß die Blanks über Glätten raus" ist nur Formel-Intern.
in den Zellen dürfen die Blanks stehen bleiben, aber innerhalb der Formel können sie temporär entfernt werden, damit die Formel die "richtige" letzte Zelle mit Wert ermittelt:

falls dich meine Kurzschreibweise überfordrt hat, ändere deine gesamtformel mal so ab und prüfe, ob sie das gewünschte Ergebnis liefert:

=AGGREGAT(14;4;(Glätten(ZX11:ACD11)<>"")*SPALTE(ZX11:ACD11);1)

Gruß Daniel

Betrifft: AW: so wie Du jetzt schreibst ...
von: neopa C
Geschrieben am: 21.09.2020 13:37:34

Hallo Johanna,

... interessiert Dich die zutreffende letzte Spalte nur als Zwischenergebnis und Du willst nur dessen ersten Textteil und außerdem auch keinen evtl. vorh. Textumbruch berücksichtigt haben?

Wenn dem so sein sollte, dann z.B. für die ersten 8 Zeichen des letzten Textes:

=LINKS(VERWEIS(9;1/(WECHSELN(GLÄTTEN(ZX11:AGC11);ZEICHEN(10);"")<>"");ZX11:AGC11);8)

Gruß Werner
.. , - ...

Betrifft: AW: so wie Du jetzt schreibst ...
von: Die Johanna
Geschrieben am: 23.09.2020 17:41:50

Hallo,

Formel sieht schicker aus - und funktioniert prima. Vielen Dank. So ganz habe ich noch nicht verstanden, was das Zeichen bewirkt. Das schaue ich mir am WE mal an.

Ganz herzliche Grüße an Alle, die mir geholfen haben

Die Johanna

Betrifft: AW: mit ZEICHEN(10) in der Formel ...
von: neopa C
Geschrieben am: 23.09.2020 17:57:40

Hallo Die Johanna,

... wird ein (evtl.) vorhandener Zeilenumbruch in den Texten "angesprochen" und durch WECHSELN() ausgewechselt durch ein "" (also Nichts).

Gruß Werner
.. , - ...

Betrifft: AW: mit ZEICHEN(10) in der Formel ...
von: Die Johanna
Geschrieben am: 24.09.2020 09:54:51

Ah, das war auch deine Bemerkung/Frage im Text. Danke für die Erläuterung.

Herzliche Grüße von

Der Johanna

Betrifft: AW: gerne owT
von: neopa C
Geschrieben am: 24.09.2020 10:49:27

Gruß Werner
.. , - ...

Betrifft: AW: geht auch einfach ohne AGGREGAT() ...
von: neopa C
Geschrieben am: 20.09.2020 17:02:33

Hallo Johanna,

... so: =VERWEIS(9;1/(GLÄTTEN(ZX11:ACD11)<>"");SPALTE(ZX11:ACD11))

Gruß Werner
.. , - ...

Betrifft: einfacher mit MAX
von: WF
Geschrieben am: 20.09.2020 19:17:26

{=MAX((GLÄTTEN(ZX11:ACD11)<>"")*SPALTE(ZX1:ACD1))}

Wozu die 11 bei Spalte ?

WF

Betrifft: AW: einfacher mit MAX
von: Daniel
Geschrieben am: 20.09.2020 20:53:06

Weils besser ist.
Excel hat ne Automatik, die Formeln automatisch anpasst, wenn Zellen gelöscht oder eingefügt werden.
Wenn mit deiner Formel jemand die Zelle ACB1 mit "nach links verschieben" löscht, dann wird aus deiner Formel
{=MAX((GLÄTTEN(ZX11:ACD11)<>"")*SPALTE(ZX1:ACC1))}
Und dann knallts, weil die Zellbereiche in der Matrixformel unterschiedliche Anzahlen an Zellen haben.
Daher sollte man in solchen Matrixformeln die Zellbereiche immer möglichst gleich wählen, damit automatische Formelanpassungen durch das Löschen oder Einfügen von Zellen in allen Zellbezügen gleich ankommen.

Gruß Daniel

Betrifft: AW: einfacher mit MAX
von: Luschi
Geschrieben am: 21.09.2020 08:47:56

Hallo Excel-Fan's

- was mich wundert ist Folgendes:
in einer umfangreichen Liste gibt es 90 Spalten,
- 'ZX' hat aber die Spalten-Nr. 700
- wie paßt das da zusammen?

fragt sich Luschi
aus klein-Paris

Betrifft: solltest du diese Frage nicht besser
von: Daniel
Geschrieben am: 21.09.2020 09:24:17

an Johanna direkt richten?
Sie müsste ja wissen, wie sie auf die Zahl gekommen ist.
Gruß Daniel

Betrifft: AW: muss ja auch nicht zusammenpassen ...
von: neopa C
Geschrieben am: 21.09.2020 10:09:07

Hallo Luschi,

... die Spaltennummer von ZX (700) und ACD1(758) muss keinen Zusammenhang mit der von Johanna angegebenen Spaltenzahl haben und spielt auch hier keinerlei Rolle.

Gruß Werner
.. , - ...

Betrifft: AW: einfacher mit MAX
von: Die Johanna
Geschrieben am: 21.09.2020 12:47:09

Hallo,

@Luschi aus Klaa-Paris: ab Spalte 700 sind es 90 mit diesen Eintragungen. Davor und dahinter kommen andere Spalten, insgesamt ca. 1.600. Tatsächlich geht es von ZX - AGC.

Grüße

Die Johanna