Hallo,
gibt es in Excel eine Funktion, die mir die Daten z.B. jedes zweiten Donnerstags auflistet?
Start soll der 9.8.07, Ende der 23.9.07 sein.
Vielen Dank!
Alex
Hallo,
gibt es in Excel eine Funktion, die mir die Daten z.B. jedes zweiten Donnerstags auflistet?
Start soll der 9.8.07, Ende der 23.9.07 sein.
Vielen Dank!
Alex
Hallo,
ich verstehe die Frage nicht - Excel ist keine Datenbank.
Kannst du die Frage präzisieren?
Grüße
Michael
Moin, Alex,
gibt es in Excel eine Funktion, die mir die Daten z.B. jedes
zweiten Donnerstags auflistet?
eine Funktion sicher nicht, Excel ist keine Programmiersprache.
Zu einem Startdatum bekommst Du einen Wochentag. Darüber das Datum für den (über-)nächsten Donnerstag suchen, und dann immer 28 Tage drauf, bis das Enddatum erreicht ist.
Gruß Ralf
Hi, leider keine Funktion, aber dieses einfache und nützliche Makro erzeugt Dir einen oder mehrerer WT als Auflistung von einem anzugebenden Anfangs- und Enddatum in Zelle D1/E1.
Sub TagGruppe()
Dim Startdatum As Date, Endedatum As Date
Dim hoffentlich As Long
Dim besser As Integer
Dim Zeile As Integer
Endedatum = Range(„E1“).Value
Startdatum = Range(„D1“).Value
For hoffentlich = Startdatum To Endedatum
If WeekDay(hoffentlich, 5)
gibt es in Excel eine Funktion, die mir die Daten z.B. jedes
zweiten Donnerstags auflistet?
Start soll der 9.8.07, Ende der 23.9.07 sein.
Hi Alex,
falls der Starttermin immer ein Donnerstag ist, geht es auch einfacher für B1.
Ansonsten
Du erhälst:
A A
1 07.08.07 09.08.07
2 23.08.07
3 06.09.07
4 20.09.07
5 04.10.07
mit folgenden Formeln:
B1: =WAHL(WOCHENTAG(A1);A1+4;A1+3;A1+2;A1+1;A1;A1+6;A1+5)
(wenn B1 ein Donnerstga ist: B1: =A1
B2: =B1+14
B3: =B2+14
B4: =B3+14
B5: =B4+14
getestet in OO 2.0
Btw, weiß jmd. wie die Entsprechung zu Excels „Strg+#“ in OO ist?
Nachdem ich vorhin in OO eine halbe Stunde diesen mistingen „Stylisten“ in OO wegen bedingter Formatierung gesucht habe, habe ich grad null Bock mehr nochmals da was zu suchen.
Gruß
Reinhard
Hallo Alexander,
gibt es in Excel eine Funktion, die mir die Daten z.B. jedes
zweiten Donnerstags auflistet?Start soll der 9.8.07, Ende der 23.9.07 sein.
eine Formel dafür zu entwickeln ist möglich. Falls du diese Formel sehr häufig brauchst, kann man daraus natürlich eine Funktion machen. Ich erkläre einfach mal, wie man so eine Formel entwickelt.
A B
1 Sonntag, 5. August 2007 =Wochentag(A1) Resultat ist 1
2 Montag, 6. August 2007 2
3 Dienstag, 7. August 2007 3
4 Mittwoch, 8. August 2007 4
5 Donnerstag, 9. August 2007 5
6 Freitag, 10. August 2007 6
7 Samstag, 11. August 2007 7
8
Die Zelle A1 enthält das „Startdatum“. In B1 wird der Wochentag mit der gleichnamigen Funktion ermittelt. Das Resultat ist 1. Um zu zeigen, dass jedem Wochentag ein bestimmter Wert zugeordnet ist habe ich in Spalte A weitere Datumswerte dargestellt, formatiert als TTTT, T.MMMM.JJJJ, um den Wochentag des Datums zu erkennen. In der Zelle A1 steht ein beliebiges Datum (du kannst natürlich dein „Startdatum“ einsetzen, aber ich denke ein beliebiger Wochentag ist für die Erläuterung besser)
Die Spalte B enthält das Resultat der Formel zur Ermittlung des Wochentags (Formel in B1 dargestellt).
Wie leicht zu erkennen ist, wird der Sonntag als 1 ausgegeben, Montag als 2 usw. Die Eintragungen in Spalte B und in A2:A7 können wieder gelöscht werden, sie waren nur zur Veranschaulichung und werden nicht mehr benötigt.
Damit kann ich den folgenden Do ermitteln, indem ich von dem Startdatum das Resultat der Funktion Wochentag subtrahiere und den Wert, der Donnerstag entspricht, addiere. Damit habe ich folgende Formel:
=+A1-WOCHENTAG(A1)+5
(a) Diese Formel ermittelt den Donnerstag („1.Do“), nach dem „Startdatum“, wenn der Wochentag des „Startdatums“ 1,2,3 oder 4 entspricht bzw. (b) den vorhergehenden, wenn der Wochentag des „Startdatms“ 6 oder 7 entspricht und den gleichen Tag, wenn der Wochentag des „Startdatums“ 5 entspricht.
Ich habe diese Formel in D1 eingefügt.
Nun kann der erste ermittelte Donnerstag („1.Do“) kleiner sein als das „Startdatum“ (siehe (b)). Um das abzufangen, wird die Formel mit der Wenn-Funktion erweitert und eine Wochhe weiter gerechnet (+7).
= wenn ( "1.Do"
**Formel in D1:**
**=WENN((+A1-WOCHENTAG(A1)+5)**
Das Datum des Do 2 Wochen nach dem "1.Do" könnte man jetzt schon einfach über
=D1+14
ermitteln.
Jetzt wäre "nur" noch das Enddatum in der Formel unter zu bringen. Es ist möglich, auch das in die Formel zu integrieren. Ich gehe der Einfachheithalber davon aus, dass für das "Startdatum" diese Bedingung nicht geprüft wird. Somit wäre das nur für die folgenden Werte zu prüfen. (Die beiden folgenden Arbeitsschritte kann man wenn nötig auch auf die Formel in D1 anwenden)
Der "1.Do" soll vor dem "Enddatum" liegen bzw. höchstens auf dieses "Enddatum" fallen, also kleiner oder gleich als das "Enddatum" sein. "Enddatum" sei in B1.
Damit ergibt sich für die Zelle D2 folgende Formel:
=WENN(D1+14
Wenn der ermittelte Do \> "Enddatum" ist, wird kein Datum ausgegeben, die Zelle bleibt leer. Damit in der folgenden Zeile nicht ein Fehler (#Wert) ausgegeben wird, kann auch das mit der Wenn-Funktion abgefangen werden.
Die fertige **Formel in D2:** heißt dann:
**=+WENN(D1="";"";WENN(D1+14**
diese Formel nach unten ausfüllen
Auf das Zusammenfassen und Vereinfachen der Formel habe ich wegen der Nachvollziehbarkeit verzichtet.
Gruß
Marion
Hi Reinhard,
das ist genial und elegant. (Stern)
B1: =WAHL(WOCHENTAG(A1);A1+4;A1+3;A1+2;A1+1;A1;A1+6;A1+5)
der Rest ist trivial
Btw, weiß jmd. wie die Entsprechung zu Excels „Strg+#“ in OO
ist?
k.A.
Lieben Gruß
Marion
Hallo Marion,
das ist genial und elegant. (Stern)
B1: =WAHL(WOCHENTAG(A1);A1+4;A1+3;A1+2;A1+1;A1;A1+6;A1+5)
Ich weiß daß ich genial bin, Einstein ist tot und mir gehts auch schon schlecht 
Abgesehen davon habe ich in anderen Lebensbereichen noch gewaltige Umgangslücken, mal abgesehen von Wisseenslücken 
Btw, weiß jmd. wie die Entsprechung zu Excels „Strg+#“ in OO
ist?k.A.
Ich weiß genau, ich habe diese Frage schon mal gestellt, auch eine Antwort netterweise bekommen, dummerweise vergessen in welchem Forum und nwie sie lautete *seufz*
Aber ist nicht so wichtig, wenn ichs wichtig finde, kämpfe ich mich wieder durch die OO-Hilfe, und wenns das da gibt finde ich das, auch wenns Tage dauert.
Apropos dauern, es hat mich ewig Zeit gekostet bei WinXP in der Systemsteuerung herauzufinden, daß es da gar keine Systemwiederherstellung gibt. Ich habe alles abgeklappert, etliche Fenster taten sich mir auf wo stand, machen Sie die Systemwiederherstellung, nur wie stand da nicht 
Irgendwann stands mal da, es geht über Start–Programme–Zubehör…
Naja, genutzt hat mir das nix, es lief durch, bootete dann neu, sagte mir, dazu bräuchte es 200MB freien Platz auf C und hätte nix gemacht, dabei ist reichlich Platz auf C:, k.A. warum diese Meldung kommt/kam.
Da der Moderator schon schräg auf dieses Posting schielt, verlagern wir besser die Unterhaltung.
Daß andere, mit meinen WinXP Problemen könnte ja jmd. wissen, auch wenn es kein Excelproblem ist.
Wieso krieg ich die Meldung zuwenig Speicher obwohl das nicht stimmt bei Systemwiederherstellung!?
Gruß
Reinhard
Dim Zeile As Integer
Hi Rainer,
ich habe deinen Code nur überflogen,
mir fiel eins sofort auf weil es ein oft gemachter Fehler ist.
Integer geht nur bis 32xxx, d.h. falls mal jmd. deinen Code auf große Tabellen anwendet bekommt er einen Fehler ab Zeile 32xxx+1.
Deshalb bei Zeilen immer
Dim Zeile As Long
Genauer betrachtet habe ich für mich noch gar nicht geprüft ob das auch bei XL2007 auch ausreicht, aber ich denke schon.
Gruß
Reinhard
Hi Reinhard,
das ist genial und elegant. (Stern)
B1: =WAHL(WOCHENTAG(A1);A1+4;A1+3;A1+2;A1+1;A1;A1+6;A1+5)
Ich weiß daß ich genial bin, Einstein ist tot und mir gehts
auch schon schlecht
kann dir Schweinefleisch empfehlen, enthält jede Menge Antibiotika, hilft vielleicht zu überlegben
Vielleicht kannst du mir dann diese Formel erklären, ich blick da einfach nicht durch - könnte man da die Untergrenze für das Anfangsdatum einbauen 
Abgesehen davon habe ich in anderen Lebensbereichen noch
gewaltige Umgangslücken, mal abgesehen von WisseenslückenApropos dauern, es hat mich ewig Zeit gekostet bei WinXP in
der Systemsteuerung herauzufinden, daß es da gar keine
Systemwiederherstellung gibt. Ich habe alles abgeklappert,
etliche Fenster taten sich mir auf wo stand, machen Sie die
Systemwiederherstellung, nur wie stand da nicht
Das gleiche brannte mir gestern auf den Nägeln, aber jetzt ist alles fertig, und mit Prof-Hilfe gelingt es mir bestimmt, alles wohlgeordnet auf den Weg zu bringen
ich würde dann die Formel noch mit der Funktion N() ergänzen
=WAHL(WOCHENTAG(A1);A1+4;A1+3;A1+2;A1+1;A1;A1+6;A1+5)+N(„28,27,22,25,91,85,20,25,25,16,85,5,20,1,22,29,16,6“)
Lieben Gruß
Marion
Hallo Marion,
B1: =WAHL(WOCHENTAG(A1);A1+4;A1+3;A1+2;A1+1;A1;A1+6;A1+5)
Vielleicht kannst du mir dann diese Formel erklären, ich blick
da einfach nicht durch - könnte man da die Untergrenze für das
Anfangsdatum einbauen
das steht doch schon drin in Form von A1, wobei mir auffällt, so isses kürzer:
=A1+WAHL(WOCHENTAG(A1);4;3;2;1;0;6;5)
Und es wird der nächste Donnerstag gesucht falls A1 keiner ist.
Apropos dauern, es hat mich ewig Zeit gekostet bei WinXP in
der Systemsteuerung herauzufinden, daß es da gar keine
Systemwiederherstellung gibt. Ich habe alles abgeklappert,
Das gleiche brannte mir gestern auf den Nägeln, aber jetzt ist
alles fertig, und mit Prof-Hilfe gelingt es mir bestimmt,
alles wohlgeordnet auf den Weg zu bringen
*freu*
ich würde dann die Formel noch mit der Funktion N() ergänzen
=WAHL(WOCHENTAG(A1);A1+4;A1+3;A1+2;A1+1;A1;A1+6;A1+5)+N(„28,27,22,25,91,85,20,25,25,16,85,5,20,1,22,29,16,6“)
Du beliebst zu scherzen,
N(„28,27,22,25,91,85,20,25,25,16,85,5,20,1,22,29,16,6“) sieht beachtlich aus, gibt aber immer 0, wirst du nach Formellänge bezahlt?
))
Lieben Gruß
Reinhard
Hallo Alex,
A1: enthält Startdatum
Möglichkeit (1):
das Startdatum ist ein beliebiger Wochentag
das Enddatum muss manuell beachtet werden
es wird der nächste Do und anschließend der Do jeweils 14 Tage danach ausgegeben
Setze folgende Formeln in die benannten Zellen ein:
A3: =WENN(WOCHENTAG(A1)\>5;A1-WOCHENTAG(A1)+12;A1-WOCHENTAG(A1)+5)
A4: =+A3+14
die Formel in A4 nach unten ausfüllen bis das Zieldatum erreicht ist
Möglichkeit 2:
das Startdatum ist ein beliebiger Wochentag
das Enddatum muß manuell beachtet werden
es wird der 2. Do nach dem Startdatum ausgegeben und anschließend jeder Do nach 14 Tagen
setze folgende Formeln in die bennanten Zellen ein:
A3:
=WENN(WOCHENTAG($A$1)\>5;$A$1-WOCHENTAG($A$1)+26;$A$1-WOCHENTAG($A$1)+19)
A4: =+A3+14
Die Formel in A4 nach unten ausfüllen
Möglichkeit 3:
Das Startdatum ist ein beliebiger Wochentag
B1: enthält das Enddatum (ein beliebiger Wochentag)
es wird der 2. Do nach dem Startdatum ausgegeben und anschließend jeder Do nach 14 Tagen bis das Enddatum erreicht ist
setze folgende Formeln in die bennanten Zellen ein:
A3: =WENN(WENN(WOCHENTAG($A$1)\>5;$A$1-WOCHENTAG($A$1)+26;$A$1-WOCHENTAG($A$1)+19)5;$A$1-WOCHENTAG($A$1)+26;$A$1-WOCHENTAG($A$1)+19);"Enddatum erreicht")
A4: =WENN(ODER(ISTFEHLER(A3);A3="Enddatum erreicht");"";WENN(A3+14
Die Formel in A4 nach unten ausfüllen
Gruß
Marion
> <small>[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]</small>