ich stehe absolut auf dem Schlauch bei folgender Aufgabe:
Mit =MAX(NICHT(ISTLEER(A2:A1000))*ZEILE(2:1000)) ermittle ich die letzte befüllte Zelle in Spalte A Mit =ZEICHEN(MAX(WENN(NICHT(ISTLEER(A2:D6));SPALTE(A2:D6)))+64) ermittle ich die letzte befüllte Spalte im Bereich A2:A6 im meine Beispiel kommt hier die Spalte B raus
nun meine Frage, wie kann ich bei der ersten Formel die Spalte A dynamisch durch die Zweite Formel gestalten?
12.04.2025, 20:05 (Dieser Beitrag wurde zuletzt bearbeitet: 12.04.2025, 20:08 von Ego.)
Hallo Alexandra,
wenn ich es richtig verstanden habe anstelle von
"A2:A1000"
"INDEX(A2:D1000;;SPALTE)"
PS. Hierbei ist SPALTE eine Zahl und nicht der Buchstabe.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
damit bekomme ich die Zeile ausgegeben, wo das "x" das letzte Mal vorkommt, wenn man von links nach rechts und von oben nach unten durchgeht.
Hiermit bekomme ich die Adresse der Zelle ausgegeben: =ADRESSE(MAX(NICHT(ISTLEER(INDEX(A2:D1000;;MAX(WENN(NICHT(ISTLEER(A2:D11));SPALTE(A2:D11))))))*ZEILE(2:1000));MAX(WENN(NICHT(ISTLEER(A2:D11));SPALTE(A2:D11)));4) Hiermit die Nummer: =INDIREKT("A"&MAX(NICHT(ISTLEER(INDEX(A2:D1000;;MAX(WENN(NICHT(ISTLEER(A2:D11));SPALTE(A2:D11))))))*ZEILE(2:1000))) Hiermit die Überschrift der dazugehörigen Spalte: =INDIREKT(ZEICHEN(MAX(WENN(NICHT(ISTLEER(A2:D6));SPALTE(A2:D6)))+64)&"1")
kann man diese formeln etwas kürzen/vereinfachen, damit ich: 1. Die Adresse der letzten Zelle mit x bekomme 2. Die dazugehörige Nummer in Spalte A 3. Die dazugehörige Überschrift in Zeile 1 ?
wenn es sich um ein Excel365 handelt, das bereits über die Funktion ABSCHNBEREICH(..) verfügt, stellt sich die Aufgabe, den kleinsten Zellbereich zu ermitteln, der Daten enthält und der sich innerhalb des Bereiches A1:G1000 befindet, ganz einfach dar:
=LET(b;A1:.G1000; HSTAPELN(SPALTEN(b);ZEILEN(b))) oder mit vorgenannter Funktion =LET(b;ABSCHNBEREICH(A1:G1000;2;2); HSTAPELN(SPALTEN(b);ZEILEN(b)))
Der Syntaxausdruck A1:.G1000 (mit dem zusätzlichen Punkt nach dem Doppelpunkt) bewirkt, dass von Zeile 1000 bzw. von Spalte G ausgehend, nach oben bzw. nach links gesucht wird, bis ein Bereich mit Daten gefunden wird. Dasselbe macht auch der Ausdruck ABSCHNBEREICH(A1:G1000;2;2)
Gruß Anton.
Windows 10 64bit Office365 32bit
Folgende(r) 1 Nutzer sagt Danke an EA1950 für diesen Beitrag:1 Nutzer sagt Danke an EA1950 für diesen Beitrag 28 • Jockel
13.04.2025, 17:39 (Dieser Beitrag wurde zuletzt bearbeitet: 13.04.2025, 17:39 von BoskoBiati.)
Hi Anton,
leider funktioniert von den hier vorgestellten Formeln nur eine richtig:
Cysu11.xlsm (Größe: 17,26 KB / Downloads: 1)
In Tabelle2 mal eine veränderte Ausgangssituation, bei 3 der Formeln versagen. Bitte beachten: es werden nicht die tatsächlichen Spalten-/Zeilennummern angezeigt, sondern die Spalten/Zeilen innerhalb der Tabelle!
sucht von Zeile 1000 bzw. Spalte G solange nach oben bzw. nach links, bis Daten gefunden werden. Dadurch ergibt sich ein Bereich, der der Variablen b zugewiesen wird. Da dein Bereich in B2 beginnt, muss 1 Zeile bzw. 1 Spalte für b abgezogen werden. Wenn der Bereich in A1 beginnen würde, hätte b um 1 Zeile bzw. Spalte mehr. Analoges gilt auch für ABSCHNBEREICH(B2:G1000;2;2).
Vermutlich willst du Folgendes: =LET(b;A1:.G1000; VSTAPELN("Spalte: "&SPALTEN(b);"ID: "&ZEILEN(b)-1;"Überschrift: "&INDEX(1:1;SPALTEN(b)))) =LET(b;ABSCHNBEREICH(A1:G1000;2;2);x;SPALTEN(b);y;ZEILEN(b)-1;VSTAPELN("Spalte: "&x;"ID: "&y;"Überschrift: "&INDEX(1:1;x))) Du darfst den Ausgangsbereich A1:G1000 nicht auf B2:G1000 verkleinern, wenn in Spalte A mehr Datenzeilen enthalten sind als in B:G
dann habe ich wohl die Anfrage falsch verstanden. Ich bin davon ausgegangen, dass das am weitesten unten stehende x gesucht wird. Für den Fall funktionieren drei der Formeln nicht korrekt.
Die Geschichte mit dem geänderten Bereich ist mir schon bewußt und eingearbeitet.
Dann warten wir mal auf eine Antwort von Alexandra.
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
vermutlich willst du Folgendes: =LET(b;A1:.G1000; VSTAPELN("Spalte: "&SPALTEN(b);"ID: "&ZEILEN(b)-1;"Überschrift: "&INDEX(1:1;SPALTEN(b)))) =LET(b;ABSCHNBEREICH(A1:G1000;2;2);x;SPALTEN(b);y;ZEILEN(b)-1;VSTAPELN("Spalte: "&x;"ID: "&y;"Überschrift: "&INDEX(1:1;x))) Du darfst den Ausgangsbereich A1:G1000 nicht auf B2:G1000 verkleinern, wenn in Spalte A mehr Datenzeilen enthalten sind als in B:G