Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
640to644
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
640to644
640to644
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Werte nach Datum auslesen über Makro?

Werte nach Datum auslesen über Makro?
27.07.2005 00:03:30
Walter
Gute nächtele Zusammen,
ich habe ein großes Problem:
Wenn "a" selektiert ist, soll der Wert aus der folgenden Tabelle nach Datum, welches in F11 steht genommen werden:
cl
g
Datum a c cls r
b clk e s
v slk ml sl
01.07.2005 6,72 7,18 6,93 5,41
01.08.2005 5,60 5,50 6,01 4,50
01.09.2005 5,65 6,00 5,80 6,12
in der Tabelle F11 steht das aktuelle Datum z.b. 15.07.2005, dann sollen die Werte aus Monat 01.07.2005 genommen werden, oder 3.8.2005 dann sollen die Werte
aus der Tabelle die neben den Werten 01.0.8.2005 genommen werden.
Es soll aber auch erkannt werden das nach 01.09.2005 kein Datum meh kommt, vielleicht MSGBOX " kein Datum nach dem Datum vorhanden!" (Abbruch)
Ausgangspunkt ist die Selektion aus:
----------------------------------------
a 150 5t a 6,72
----------------------------------------
z.b. das a oder wenn ein "e" steht etc.
Wie kann ich so aus der obrigen Tabelle den Wert auslesen ?
Über Verweis klappt nicht da ja einige Leerzellen in der Tabelle vorhanden sind.
Geht das alles überhaupt ?
Gruß Walter

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hier die Mustertabelle
27.07.2005 07:56:27
Erich
Hallo Walter,
die Formel für F14 in der Mappe
https://www.herber.de/bbs/user/25029.xls
ist etwas länglich geraten, bringts aber hoffentlich.
Grüße aus Kamp-Lintfort
Erich
Danke aber
27.07.2005 08:07:22
Walter
Guten Morgen Erich,
SUPER Danke, das läuft.
Wenn ich jetzt das Datum 15.10.2005 eingebe kommt Fehlermeldung "#Wert".
Kann man das hinkriegen wenn das Datum größer ist das letzte in der Tabelle, z.b.
15.10.2005 soll dann vom 01.09.2005 genommen werden ?
Wenn das Datum kleiner ist als 01.07.2005 soll immer das Datum 01.07.2005 genommen werden ?
Ich hoffe das das geht, DEINE Formel vertehe ich nicht wirklich ist aber wirkungsvoll,
gruß Walter
Anzeige
AW:Du bist ja SUPER !!! Noch eine Frage
27.07.2005 10:25:40
Walter
Hallo Erich,
ich habe gedacht ich würde schon einige Formeln kennen z.b. Wenn etc., Du
bist jedoch wohl Spitze !!!
Noch eine Frage: Ich werde ja irgenwann die Tabelle erweiteren, also
Datum dazufügen und die Werte neben dem Datum einfügen.
Kann man das so variabel gestalten das die "Verlängerung" erkannt wird. ?
Ansonsten werde ich halt die Reihe mit einfügen reinsetzen und dann die letzten Werte
nach oben kopieren und in der letzten Reihe dann die neuen Werte eingeben, das geht habe
probiert, da sich dann die Werte in DEINER Formel verändern also der Bereich sich vergrößert.
Für eine kurze Info bedanke ich mich
im voraus,
gruß Walter
Anzeige
AW: AW:Du bist ja SUPER !!! Noch eine Fra
27.07.2005 11:30:20
Erich
Hallo Walter,
danke für das überschwängliche (oder überschwengliche?) Lob, aber das ist zu viel des Guten! Ich habe gerade mal angefangen, Matrixformeln ein wenig zu verstehen. Wirkliche Spezialisten gibts hier auch, die findest du auch z. B. bei http://www.excelformeln.de oder http://www.online-excel.de
Wenn du in
https://www.herber.de/bbs/user/25040.xls
neue Datumszeilen VOR der letzten (ich glaube die war im Jahr 2010) einfügst oder kopierst, sollte das weiter funzen, die Formel passt sich an den vergrößerten Bereich an.
Grüße aus Kamp-Lintfort
Erich
Anzeige
Leider noch nicht ganz...
27.07.2005 13:23:46
Walter
Hallo Erich,
herzlichen Dank, für deie weiteren Tips.
Leider werden die Werte, obwohl ich Zeile eingefügt habe, nicht angezeigt.
Siehe Datei: https://www.herber.de/bbs/user/25046.xls
vielleicht kannst Du mir einen Tip geben ?
Im übrigen war mein Lob ernst gemeint, da ich das so nicht kenne.
Gruß Walter
AW: Doch, doch ...
27.07.2005 13:57:16
Erich
Hallo Walter,
die Datei, in der es nicht klappt (und die du zuletzt als 25040.xls hochgeladen hast), hat noch die alte Formel.
Ich hatte mit dem letzten Beitrag diese Mappe geschickt, in der ich die Formel noch etwas flexibler aufgeschrieben hatte - die solltest du verwenden:
https://www.herber.de/bbs/user/25040.xls
Grüße aus Kamp-Lintfort
Erich
P.S.: Wenn du dir ein wenig anschauen wilst, wie ich das von Menschen lerne, die sich mit Matrixformeln gut auskennen:
https://www.herber.de/forum/archiv/640to644/t640500.htm
Anzeige
Nein...
27.07.2005 14:07:16
Walter
Hallo Erich,
Danke für die neue Mappe. Wenn ich 01.11.2007 eingebe, sollte doch
6,66 erscheinen, da die letzte Zeile dies ist oder ?
01.12.2010----991,00----992,00----6,66----994,00
Wieso nicht, es wird aber aus der vorletzten Zeile der Wert genommen:
01.11.2005----5,83----7,13----6,53----5,13 also 6,53
Gruß Walter
Nachtrag
27.07.2005 14:17:52
Walter
Hallo Erich,
mir ist aufgefallen, das in der Formel am Anfang steht: "INDEX(A1:G28;"
da ich später dies in eine anderen Mappe anwende und erst bei AS420 anfange, was soll ich
da machen ?
Walter
AW: funktioniert doch aber
27.07.2005 16:23:33
Walter
Hallo Erich,
funktioniert doch war ein bissss blöd !!!
Aber die Frage nach der Formel "INDEX(A1:G28;", wenn ich "INDEX(C10:G28;"schreibe,
kommt Fehlermeldung "#Bezug" wieso ?
Gruß Walter
Anzeige
AW: Nachtrag
27.07.2005 16:39:32
Erich
Hallo Walter,
hier die Antworten auf deine Fragen:
1.
"Wenn ich 01.11.2007 eingebe, sollte doch 6,66 erscheinen, da die letzte Zeile dies ist oder ?
01.12.2010----991,00----992,00----6,66----994,00
Wieso nicht, es wird aber aus der vorletzten Zeile der Wert genommen:
01.11.2005----5,83----7,13----6,53----5,13 also 6,53

Genommen wird immer die Zeile mit dem größten Datum, das kleiner oder gleich G11 ist, also die mit dem 01.11.2005. Das ist bei den anderen Datumsen in der Liste doch auch so, oder?
Die Zeile mit dem 01.12.2010 (ich hatte 31.12.2010 geschrieben, 31.12.2100 wäre noch klarer) habe ich als "Dummyzeile" angehängt, deren Werte nie im Ergebnis auftauchen, weile der 31.12.2100 noch sehr lange größer ist als das Eingabedatum in G11. Daher habe ich dieser Zeile auch Werte über 900 verpasst. Sie dient allein dazu, dass du VOR dieser Zeile weitere Zeilen einfügen kannst, ohne die Formel ändern zu müssen.
2.
mir ist aufgefallen, das in der Formel am Anfang steht: "INDEX(A1:G28;"
da ich später dies in eine anderen Mappe anwende und erst bei AS420 anfange, was soll ich
da machen ?

In der "alten" Formel, beginnend mit =INDEX(D23:G25), wurden die relative Zeilen- und die Spaltenummer innerhalb dieses Bereichs berechnet. Dazu war die Zeile in der Formel um 22 zu vermindern ("- 22"), die Spalte um 3.
=INDEX(D23:G25;MAX(1;MIN(3;MAX((G11&gt=C23:C25)*ZEILE(C23:C25)-22)));MAX((E14=D18:G22)*SPALTE(D18:G22))-3)
In der neuen Formel
=INDEX(A1:G28;MAX(ZEILE(C23);MIN(ZEILE(C28);MAX((G11&gt=C23:C28)*ZEILE(C23:C28))));MAX((E14=D18:G22)*SPALTE(D18:G22)))
werden Zeilen und Spalten absolut, also ab A1 gerechnet, bestimmt, die Verminderungen konnten entfallen. Dem entsprechend habe ich beim ersten MAX ZEILE(C23) statt 1 (1. Zeile) geschrieben. Beim MIN habe ich die "3" durch ZEILE(C28) ersetzt, damit auch mehr als 3 Zeilen (Datumse) funktionieren - zum einfachen Einfügen neuer Datumszeilen (siehe oben).
Wenn du die neue Formel an eine andere Stelle überträgst, musst du sicherstellen, dass das A1 am Anfang der Formel wieder da steht.
Alles klar?
Grüße aus Kamp-Lintfort
Erich
Anzeige
Wenn das so ist, dann i.o. ?
27.07.2005 17:03:43
Walter
Hallo Erich,
wenn das so ist, obwohl in der anderen Mappe von Spalte"A" bi "AS" mit anderen Zahlen
belegt ist, dann i.o.
Werde heute Abend noch testen
gruß Walter
Jetzt brauch ich noch...
27.07.2005 23:48:10
Walter
Hallo Erich,
Kamp-Lintfort ist bei Krefeld, dort arbeite ich.
Habe noch einen Wunsch: Wie kriege ich es hin das das Datum in meine Zelle,
welches ausgewählt wurde also z.b. 01.07.2005 oder 01.08.2005
mir in der Zelle dargestellt wird, geht das ?
Meine Zelle ist jetzt die "BO430".
Und hier Deine angepasste Formel, funktioniert aber auch prima !!!
=INDEX(A1:BP548;MAX(ZEILE(BL435);MIN(ZEILE(BL445);MAX((BP431&gt=BL440:BL445)*ZEILE(BL440:BL445))));MAX((BM431=BL435:BP439)*SPALTE(BL435:BP439)))
Gruß Walter
Anzeige
AW: Jetzt brauch ich noch...
28.07.2005 07:33:24
Erich
Hallo Walter,
das "Trefferdatum" bekommst du mit
=SVERWEIS(MAX(G11;C23);C23:C28;1) (in meiner Beispieltabelle).
Bei dir müsste die Formel wohl so aussehen:
=SVERWEIS(MAX(BP431;BL440);BL440:BL445;1)
(ungestestet - deine Tabelle soll ich jetzt wohl nicht nachbauen ...)
Freut mich, dass das Verschieben der Index-Formel gut geklappt hat!
Grüße aus Kamp-Lintfort ins nahe Krefeld
Erich
AW: Jetzt brauch ich noch...
28.07.2005 07:59:17
Erich
Hallo Walter,
noch eine kleine Verbesserung - die Index-Formel geht auch kürzer:
=INDEX(A1:G28;MAX((MAX(G11;C23)&gt=C23:C28)*ZEILE(C23:C28));MAX((E14=D18:G22)*SPALTE(D18:G22)))
Grüße aus Kamp-Lintfort
Erich
Anzeige
Danke o.t.
28.07.2005 07:59:29
Walter
Guten Morgen Erich,
DANKE,
es funktioniert alles,
gruß Walter aus Krefeld

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige