Autor Beitrag
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Fr 25.07.14 00:22 
Hi.

Da ich bisher niemals in Excel groß arbeiten musste, stellt sich mir nun folgende Frage:

Für einen Urlaubsplaner benötige ich jeden Tag (Mo-Fr) in einer Reihe, beginnend bei z.B.

C5 = 01.01.

D5 sollte dann logischerweise der 02.01. sein. Und so weiter.

Meine Frage nun: wie kann ich diese Reihe automatisieren, so dass ich nicht 365 - (2X (ca 54)) Daten per Hand erstellen muss?

Und dann kommt es ja noch dicker:

In die Zeile drunter soll dann bitte auch noch der Wochentag als Klarname (Montag, Dienstag..) passend zum jeweiligen Jahr und dem Datum eine Zeile weiter höher dargestellt werden.

Kann mir da bitte jemand einen Tipp geben?
Ich nehme auch gern Links (lmgtfy) entgegen.

Liebe Grüße
Mathias



Edit:

Ich haber eben bemerkt, dass meine Idee totaler Humbug war. Allein schon die Sache, falls das mal ausgedruckt werden soll...

Ich habe es nun so gemacht, dass Links die Namen untereinader stehen, rechts davon hintereinander die Monate Jan - Dez, in diese Spalten kommen dann einfach die Urlaubstage als Daten rein. Alternativ erstelle ich noch eine Bedingung, die mir die Zellen, in denen etwas drin steht, farblich hervorhebt.


Dennoch, die Frage würde ich gern beantwortet haben. Wie könnte man das erste Problem lösen?

Mein dilettantischer Ansatz sieht wie folgt aus:

Gesetzt dem Fall, das erste Datum steht ab der Spalte C (ist leider im Anschluß nicht leicht erweiterbar, falls mal eine weitere Spalte vorne dran muss..)

=DATUM(Setup.F4;Setup.F6;SPALTE()-2)

Diesen Code erhält im Prinzip jede weitere Spalte bis zu Oi (So, 31.12.)

Die Samstage und Sonntage konnte ich somit natürlch nicht herausfiltern.


Moderiert von user profile iconChristian S.: Topic aus Algorithmen, Optimierung und Assembler verschoben am Fr 25.07.2014 um 07:34

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
baumina
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 305
Erhaltene Danke: 61

Win 7
Delphi 10.2 Tokyo Enterprise
BeitragVerfasst: Fr 25.07.14 07:18 
Du kannst mal folgendes machen:

Schreibe in Zelle A1 01.01.2014 rein.
Markiere A1-A30.
Klicke auf Start / Füllbereich / Reihe und OK.

Danach steht von A1 bis A30 01.01.2014 - 30.01.2014 drin.

Für diesen Beitrag haben gedankt: trm
trm Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Fr 25.07.14 08:36 
user profile iconbaumina hat folgendes geschrieben Zum zitierten Posting springen:
Klicke auf Start / Füllbereich / Reihe und OK.


Unter Calc (LibreOffice) versteckt sich die Funktion unter dem Menüpunkt "Bearbeiten" -> Füllbereich.


Das coole dabei ist, der nimmt eine Abfrage vor, was gefüllt werden soll. Wochentag ist hier möglich, somit bleiben die Wochenenden, wo der Pfeffer wächst. Außerdem macht der am Monatsende auch einen Sprung in den neuen Monat hinein.

Eigentlich perfekt und fast das, was ich gesucht hatte.

Gäbe es doch noch die Möglichkeit, das ganze nicht FiX zu gestalten, d.h., dass im kommenden Jahr einfach nur eine Zelle geändert werden muss, damit der Kalender auch für 2015 benutzbar gemacht werden kann. (Auch, wenn ich es inzwischen anders gelöst habe. Die Lösung interessiert mich dennoch.)

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Fr 25.07.14 08:52 
Als Ansatz fiele mir ein, in die erste Zelle 1.1.2014 zuschreiben, und die folgenden Zellen berechnen zu lassen A2 = A1 + 1. Diese Formel dann fortführen. So müsstest Du nur den 1.1.2014 im Folgejahr ändern, alle anderen Zellen werden berechnet. Die Formel müsstest Du noch so erweitern, dass die Wochenenden übersprungen werden, wenn das gewünscht ist.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 25.07.14 11:19 
Einfach Datum in eine Zelle schreiben und an der Zelle ziehen um den markierten Bereich zu vergrößern. Excel inkrementiert das Datum in den anderen Zellen dann von selbst (auch wenn man das manchmal nicht will). Das am besten mit Nersgatt vorschlag kombinieren. Also Datum in eine Zelle in die nächste die Formel (=Zelle+1) und dann an dieser Zelle ziehen bis man die gewünschte Tagesanzahl hat.
trm Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Fr 25.07.14 14:25 
Ob ihr es glaubt, oder nicht. Diese Funktion des "Zellenziehens" kannte ich gar nicht.
Zuerst, als ich das gelesen habe, dachte ich, ihr wollt mich veralbern. Aber das funktioniert tatsächlich.

Nun habe ich mir eine Formel gebastelt, die ich testweise in A2 geschrieben habe, anschließend die Zelle gezogen - und schwupps, zeigt es mir die Daten an. Leider ist noch ein Fehler in den Bedingungen, die Wochenenden werden nicht herausgenommen:

ausblenden Quelltext
1:
=WENN(ARBEITSTAG(A1+1;;);A1+1;WENN(ARBEITSTAG(A1+2;;);A1+2))					

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
trm Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Fr 25.07.14 15:21 
user profile icontrm hat folgendes geschrieben Zum zitierten Posting springen:
Ob ihr es glaubt, oder nicht. Diese Funktion des "Zellenziehens" kannte ich gar nicht.
Zuerst, als ich das gelesen habe, dachte ich, ihr wollt mich veralbern. Aber das funktioniert tatsächlich.

Nun habe ich mir eine Formel gebastelt, die ich testweise in A2 geschrieben habe, anschließend die Zelle gezogen - und schwupps, zeigt es mir die Daten an. Leider ist noch ein Fehler in den Bedingungen, die Wochenenden werden nicht herausgenommen:

ausblenden Quelltext
1:
=WENN(ARBEITSTAG(A1+1;;);A1+1;WENN(ARBEITSTAG(A1+2;;);A1+2))					




Edit:

Hier die richtige Lösung:

ausblenden Quelltext
1:
=WENN(WOCHENTAG(A1+1)=7;A1+3;A1+1)					


Wobei 7 = Samstag steht und 1 = Sonntag wäre.

Schönes Wochenende :)

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 25.07.14 16:56 
Hinweis:

Microsoft Excel speichert Datumsangaben als fortlaufende Zahlen, damit sie für Berechnungen verwendet werden können. Standardmäßig ist der 1. Januar 1900 die fortlaufende Zahl 1 und der 1. Januar 2008 die fortlaufende Zahl 39448, da dieses Datum 39448 Tage hinter dem 01.01.1900 liegt. Microsoft Excel für den Macintosh verwendet als Standard ein anderes Datumssystem.

WOCHENTAG(Zahl;Typ)
Typ ist eine Zahl (1, 2, oder 3), die den Typ des Rückgabewerts bestimmt.

1 oder nicht angegeben Zahl 1 (Sonntag) bis 7 (Samstag). Verhält sich wie frühere Microsoft Excel-Versionen.
2 Zahl 1 (Montag) bis 7 (Sonntag).
3 Zahl 0 (Montag) bis 6 (Sonntag).

office.microsoft.com...tag-HP005209336.aspx
office.microsoft.com...ion-HP010343015.aspx

Für diesen Beitrag haben gedankt: trm
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Sa 26.07.14 02:04 
user profile iconhathor hat folgendes geschrieben Zum zitierten Posting springen:
Standardmäßig ist der 1. Januar 1900 die fortlaufende Zahl 1

Kleine Ergänzung:

Es kann in den Excel-Optionen auch "1904-Datumswerte verwenden" aktiviert sein. Dann entspricht dem 01.01.1904 die fortlaufende Zahl 0.
mibe201067
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 140
Erhaltene Danke: 19

Win XP, Win 7; Win 8.1

BeitragVerfasst: Fr 22.09.17 23:21 
1) in [A1] 1.1.18 eintragen, dann mit LMT am Anfasssymbol in A1 nach rechts ausfüllen (würde auch nach unten funktionieren). Dann bekommt man alle Folgetage.

2) In Zeile 2 die Daten kopieren und mit "Zellen formatieren" einstellen: Option "benutzerdefiniert" und bei "Typ" TTT eintragen. Dann bekommt man nur die Daten als Wochentag.