Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1596to1600
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

Matrixforlmel

Matrixforlmel
24.12.2017 14:01:11
Severiens
Hallo zusammen,
ich betreibe Excel nur als ein kleines Hobby und um mein Hirn etwas zu fordern.
Bislang habe ich alles was ich brauche in Netzt gefunden und für meine Zwecke umgewandelt.
Jetzt scheinen aber die Grenzen erreicht zu sein.
Mit der Formel
{=ADRESSE(MAX(WENN(A6:L6"";ZEILE(6:6)));MAX(WENN(A6:L6 "";SPALTE(A:L)));4)}
ermittele ich die letzte gefüllte Zelle einer Zeile, geht natürlich auch mit Spalten.
Jetzt möchte ich aber die Werte A6:L6 und 6:6, durch Werte aus Zellen ersetzen.
Wenn ich die Formel so ändere,
{=ADRESSE(MAX(WENN(N8"";ZEILE(6:6)));MAX(WENN(A6:L6 "";SPALTE(A:L)));4)},
bleibt die Funktion der Formel erhalten.
In Zelle N8 steht z.B. A7:L7
Ändere ich aber auch die beiden nächsten Bereiche, funktioniert die Formel nicht mehr.
Kann mir da jemand weitehelfen?
Gruß Dirk

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
2 Anmerkungen
24.12.2017 15:02:41
lupo1
1. Willst Du die Formeln nur verwenden oder auch verstehen?
2. Wenn Du die Matrixfunktionalität gänzlich rausnimmst (also auch im zweiten Teil), brauchst Du sie nicht mehr.
AW: 2 Anmerkungen
25.12.2017 11:27:35
Severiens
Ich würde gerne verstehen, warum das so nicht funktioniert.
Das Ziel war, über die letzte belegte Zelle, die nächste freie zu ermitteln. Dies geht aber über VBA viel besser, hier habe ich gleich die nächste freie ermitteln können.
AW: ohne diese ... und meist ohne ADRESSE() ...
25.12.2017 11:14:12
...
Hallo Dirk,
... wie Lupo schon angedeutet hat, bedarf es keiner (klassischen) Matrixformel, um zu Deinem gesuchten Ergebnis zu gelangen. Wobei Lupo möglicherweise es etwas anders gemeint hat, als ich es nachfolgend aufzeige.
Zunächst für Deine Ausgangsformel. Hier reicht z.B.:
=ADRESSE(ZEILE(A6:L6);MAX(INDEX((A6:L6 "")*SPALTE(A6:L6);));4)
und wenn "A6:L6" in N8 steht dann so:
=ADRESSE(ZEILE(INDIREKT(N8));MAX(INDEX((INDIREKT(N8)"")*SPALTE(INDIREKT(N8));));4)
Allerdings nachgefragt: Wozu ermittelst Du überhaupt die Zelladresse? Diese wird mE ganz selten wirklich gebraucht. Meist wird doch nur der Zellwert der gesuchten Zelle gesucht und dazu braucht es nicht den Umweg über ADRESSE().
Auch ist es ungünstig mit Zellbereichsangaben als Textwerte in einer Zelle zu arbeiten. Das benötigt dann wie aufgezeigt die volatile Funktion INDIREKT(). Mehr hierzu sieh mal hier: http://www.online-excel.de/excel/singsel.php?f=24 und diese lässt sich anderweitig meist auch relativ einfach umgehen.
Gruß Werner
.. , - ...
Anzeige
AW: ohne diese ... und meist ohne ADRESSE() ...
25.12.2017 12:15:45
Severiens
Die Ermittelung der letzten freien Zelle hat den Hintergrund, dass dort das aktuelle bzw. vorgegebene Datum eingetragen werden soll. Wie aber schon erwähnt, geht dies mit VBA viel besser.
ich frage mich manchmal nur, ob mein Code eventuell zu umständlich ist.
AW: das ist ein aber ein anderer Sachverhalt ...
25.12.2017 12:34:22
...
Hallo Dirk,
... und war und ist aus Deiner Fragestellung nicht erkennbar.
Gruß Werner
.. , - ...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige