Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Excel, Datum im bestimmten Zeitraum





Frage

Ich habe auf einem Arbeitsblatt eine Tabelle in der verschiedene Zeiträume angegeben sind. (z.B. 24.02.04 - 03.02.04 Seminar). Wenn ich nun auf einem anderen Arbeitsblatt einen Zeitraum eintrage (Urlaub vom 25.03.04 - 7.04.04), soll in der "Zeitraumtabelle" geprüft werden, in welchen Zeitraum der Urlaub fallen würde. (z.B. im Zeitraum Seminar). HIIIILLLLFFFFEEEE!!!!!!!

Antwort 1 von Trinnity

ich habe leider auch keine Idee... würde das aber auch mal gerne wissen! ! ! ! !

Antwort 2 von want2cu

Hallo manea,

wie sind denn in der ersten Tabelle die Zeiträume eingetragen?
Stehen die Daten jeweils alleine in einer Zelle, so dass Excel diese als Daten erkennen kann oder handelt es sich bei dem Eintrag "24.02.04 - 03.02.04 Seminar" um einen Text, der nur in einer einzigen Zelle steht?

Wie sollen denn die Einträge in der anderen Tabelle erfolgen?
Was soll dann in der anderen Tabelle ausgegeben werden, wenn der Urlaub z.B. in den Zeirtaum eines Seminars fallen würde?
Ein Hinweis? Andewre EInfärbung des Urlaubs? ....?

Ein paar Tipps könnten für eine brauchbare Lösung nicht schaden ;-)

CU
want2cu


Antwort 3 von Manea

hallo want2cu

Also: Die Daten (von....bis) stehen jeweils als Datum formatiert in getrennten Zellen. Um was es sich handelt (Seminar) noch mal in einer getrennten Zelle:

Von bis Phase
23.01.04 15.02.04 Praxis
17.02.04 02.03.04 Seminar

usw.
Die Einträge in der anderen Tabelle könnten wiefolgt aussehen:
Gewünschter Urlaub:
von bis
20.03.04 01.04.04

es soll nach der Prüfung ausgegeben werden, in welcher Phase der Urlaub ist (z.B. Seminar).
und ob es möglich ist, ihn zu nehmen. (Urlaub nur in Praxiszeit möglich)

hoffe, das sind jetzt ein paar nähere Erläuterungen...

Antwort 4 von nighty

hi alle

ueber eine formel geht das bestimmt auch want2cu !!!

ich erklaer kurz :)

seminar 24.02.04 - 03.02.04
20040224-20040203
s1=20040224
s2=20040203


urlaub 25.03.04 - 7.04.04
20040325-20040407
u1=20040325
u2=20040407

if u1<s2 ist urlaub im seminar

gruss nighty

Antwort 5 von nighty

hi :)

opps

so natuerlich

if u1<s2 and u1>s1 ist urlaub im seminar

gruss nighty

Antwort 6 von manea

ich hab mich schon gewundert... danke erstmal. Ich probiere das jetzt, und wenns nicht funktioniert melde ich mich noch mal! :)
Danke nighty

Antwort 7 von manea

das Problem ist, dass es nicht nur ein s1 und s2 gibt.
es gibt ja mehrere. es muss erst geguckt werden, in welchem intervall der Urlaubszeitraum liegt, bevor er diese Abfrage starten kann....
(!?!?!?!)

Antwort 8 von want2cu

hallo manea,

ich schau es mir nach der MIttagspause mal an.
Es gibt - wie nighty schon gesagt hat - dafür auch ne Formellösung ;-)))

CU
want2cu

Antwort 9 von manea

Das wäre echt klasse. ich mach dann auch erstmal mittag.
Wäre toll, wenns wirklich eine Lösung geben würde! :)

Viel Spaß in der Mittagspause!

bis denn

Manea

Antwort 10 von nighty

hi :)

ich wart want2cu ab,schniff was krieg ich zum mittag :(

gruss nighty



Antwort 11 von want2cu

hallo zusammen,

gegessen habe ich zwar, aber leider kleine LÖsung auf die Schnelle.
Ich habe nighty in Verdacht, dass er die Problematik schon wesentlich früher besser durchblickt hat als ich und seine Bemerkung mir der Formel vielleicht ein wenig ironisch gemeint war (hat ja auch hingehauen ;-))) )

Ich habe leider momentan nicht die Zeit, um mich jetzt länger mit dem Problem zu beschäftigen.
Ich werde mich aber darum bemnühen, sobald ich meine "aktuelle Baustelle" fertig habe. Sorry,
geht leider aus Kapazitätsgründen nicht anders
<schäm>

CU
want2cu

Antwort 12 von manea

Kein Problem want2cu

mal sehen, ob ich alleine irgendwie weiter komme.
Aber falls du irgendwann mal Zeit hast, würde ich mich freuen!
Frohes schaffen noch!

Manea

Antwort 13 von nighty

hi :)

@want2cu
so schnell gibst du auf,hach mit vollen magen kommen keine ideen,ich hunger immer noch :( ,nix ironisch gemeint,immer spontan,wobei manchmal auch seltsames bei rauskommt :)

@manea
wenn du moechtest schick mir eine beispieltabelle so kann ich ein makro besser anpassen.bei zeitraumueberschneidung soll was passieren,messageboxmeldung oder eintrag in einer 4 spalte mit angabe von ueberschreitenden tagen oder vorschlag fuer neuen urlaub .

gruss nighty

werd jetzt auch was essen :)

Antwort 14 von nighty

hi :)

hier erst mal so aus dem stehgreif

spalte a anfangsdatum
spalte b enddatum
spalte c bezeichner wie praxis,seminar,urlaub

wobei der text
"urlaub"
bezug nimmt

es werden zur zeit 1000 zeilen abgearbeitet untereinander

in spalte d kommt der ermittelte ueberschnitt

gruss nighty

Sub Makro1()
Dim g4(1000, 2)
For t = 1 To 1000
b1$ = Str$(Range("a" & t))
b2$ = Str$(Range("b" & t))
a1$ = Mid$(b1$, 1, 2)
a2$ = Mid$(b1$, 4, 2)
a3$ = Mid$(b1$, 7, 4)
a1a$ = Mid$(b2$, 1, 2)
a2a$ = Mid$(b2$, 4, 2)
a3a$ = Mid$(b2$, 7, 4)
g4(t, 1) = Val(a3$ + a2$ + a1$)
g4(t, 2) = Val(a3a$ + a2a$ + a1a$)
Next t
For t = 1 To 1000
If Range("c" & t) = "urlaub" Then
b1$ = Str$(Range("a" & t))
b2$ = Str$(Range("b" & t))
a1$ = Mid$(b1$, 1, 2)
a2$ = Mid$(b1$, 4, 2)
a3$ = Mid$(b1$, 7, 4)
a1a$ = Mid$(b2$, 1, 2)
a2a$ = Mid$(b2$, 4, 2)
a3a$ = Mid$(b2$, 7, 4)
g5a = Val(a3$ + a2$ + a1$)
g5a = g5a - 1
g5b = Val(a3a$ + a2a$ + a1a$)
g5b = g5b + 1
For t1 = 1 To 1000
If g5a > g4(t1, 1) And g5a < g4(t1, 2) And Range("c" & t1) <> "urlaub" Then
Range("d" & t) = "urlaub ueberschneidet sich mit " + Range("c" & t1) + " vom " + Str$(Range("a" & t1)) + " - " + Str$(Range("b" & t1))
End If
Next t1
End If
Next t
End Sub

Antwort 15 von Manea

hallo nighty
Das ist ja wirklich alles ganz toll und lieb von dir. Aber ich sehe hier nur Hyroglyphen... es tut mir wirklich leid, aber ich habe davon keine Ahnung. *verzweifelt ist*
Ich habe noch nie mit Visual Basic gearbeitet...
:((

Antwort 16 von nighty

hi nochmal

es wird abwaertsbezogen die letzte auftretende ueberschneidung angezeigt,keine mehrfachbezogenen zudem es bestimmt auch kuerzer geht,war ja spontan und es erfolgte keine optimierung.

war ja mal wieder lustiges problem,was mich doch vom essen abhielt,doch jetzt ist es getan,wo ist der kuehlschrank :)

gruss nighty

Antwort 17 von nighty

hi manea

schick mir deine tabelle oder jemand beschreibt wie einsetzbar ist,kann nicht gut erklaeren :)

gruss nighty

Antwort 18 von Manea

Hey Schatzi.
wie gesagt, ich verstehe GAR NICHTS!
aber trotzdem danke!

Antwort 19 von nighty

hi manea

macht ja nix,ich versteh dafuer die formeln nicht.
schick mir deine tabelle als email mit anhang,ich setze es dann ein :)

gruss nighty

Antwort 20 von manea

wie lange bist du denn noch da? kann ich das auch noch so um sieben machen?
ich kann dir das nicht von der Arbeit aus schicken

Antwort 21 von nighty

hi manea

zu jeder zeit :)

gruss nighty

Antwort 22 von Arnim

Hallo Manea,

in Spalte A stehen die Beginn-Daten, in Spalte B die "Bis"-Daten und in C der Text (Terminbeschreibung).
In E2 schreibe 25.03.04 und in F2 07.04.04 (also evtl.neue Aufgabe).
In E3 die Array-Formel:
=INDEX(C2:C101;VERGLEICH(MIN(WENN((A2:A101<=E2)*(B2:B101>=E2);A2:B101));A2:A101;0))
in F3 die Array-Formel:
=INDEX(C2:C101;VERGLEICH(MIN(WENN((A2:A101>=E2)*(B2:B101>=F2);A2:B101));A2:A101;0))
Eingabe der beiden Formeln mit Tastenkombination Strg/Shift/Enter

Somit wird, solbald ein Datum in E2 oder F2 eingetragen wird, ob und was für ein Termin diesem Zeitraum eingetragen ist.

Etwas verfeinert sähen die Formeln so aus:
in E2:
=WENN(MIN(WENN((A2:A101<=E2)*(B2:B101>=E2);A2:B101))=0;"frei";INDEX(C2:C101;VERGLEICH(MIN(WENN((A2:A101<=E2)*(B2:B101>=E2);A2:B101));A2:A101;0)))
in F2:
=WENN(MIN(WENN((A2:A101>=E2)*(B2:B101>=F2);A2:B101))=0;"frei";INDEX(C2:C101;VERGLEICH(MIN(WENN((A2:A101>=E2)*(B2:B101>=F2);A2:B101));A2:A101;0)))

Stehen diese Formeln in einem anderen Tabellenblatt, muss dieses entsprechend in die Formel eingetragen werden (z.B. Tabelle1!(.

Gruß Arnim

PS: Wollte mich in die Diskussion nicht einmischen - jetzt habe ich es halt doch getan!:-(

Antwort 23 von nighty

hi arnim

mit einer formel waere sie bestimmt besser dran,da fuer sie leicht weiter zu verarbeiten ist,kurzer anmerk noch,mein makro haett ich bestimmt noch ein drittel kleiner bekommen hehe :)

gruss nighty

Antwort 24 von Arnim

Hallo nighty,
Du Glücklicher! Ich wäre froh, wenn ich die Formel verkürzen könnte - doch dazu fehlt mir die geistige Gabe. :-(

Gruß Arnim

Antwort 25 von manea

Hallo Armin..
vielen Dank für den Tip

ich werde das gleich mal ausprobieren...

Melde mich dann gleich wieder...

Antwort 26 von manea

Hallo Armin

habe alles so gemacht wie beschrieben, aber in der Zelle bleibt die gesamte Formel stehen.
Kann ich das irgendwie ändern??
:(

Antwort 27 von Manea

uups... ich habe dich ja die ganze Zeit falsch geschrieben, verzeih, Arnim...
Ich dachte du hättest dich verschrieben, aber es steht ja die ganze zeit so da...
Nighty, bist du noch da???
ich habe euch beiden eine eMail geschrieben

Antwort 28 von manea

mmh... keine mehr da??
:(
schade...

Antwort 29 von Arnim

Hallo Manea,
wie ich feststellen musste, haben sich in die Formel Fehler eingeschlichen (es lag an den leidigen "größer und kleiner als").
Hier also nochmals
für Datum in E2:
=WENN(MIN(WENN((A2:A100<=E2)*(B2:B100>=E2);A2:B100))=0;"frei";INDEX(C2:C100;VERGLEICH(MIN(WENN((A2:A100<=E2)*(B2:B100>=E2);A2:B100));A2:A100;0)))
und in F2:
=WENN(MIN(WENN((A2:A100<=F2)*(B2:B100>=F2);A2:B100))=0;"frei";INDEX(C2:C100;VERGLEICH(MIN(WENN((A2:A100<=F2)*(B2:B100>=F2);A2:B100));A2:A100;0)))
Beides sind Array-Formeln (Eingabe mit Strg/Shift/Enter).

Gruß Arnim

Antwort 30 von Manea

Hallo Arnim!

Das klappt super!
Bin wirklich überglücklich! ich dachte ich müsste an dieser Aufgabe verzweifeln!

Tausend Dank!
*knuddl*

bis dann

Manea

Antwort 31 von want2cu

Hallo zusammen,

ich hätte es mir ja denken können, dass Arnim - als graue Formeleminenz im Hintergrund - wieder mit einer Superlösung aufwarten würde.

ich finde es immer wieder toll, was man (Arnim & CO) mit Formeln so alles machen kann.
Es gibt noch viel zu formeln - packen wir es an!

CU
want2cu

Antwort 32 von Arnim

Nach 32 Beiträgen kommt es nun auf einen 33. auch nicht mehr darauf an!

@ want2cu:
Herzlichen Dank für die Blumen, die ich in einem viel größeren Stauß zurückgebe!!!
Und wenn ich mir die Beiträge der anderen Helfer im Forum ansehe, werde ich fast rot vor Scham - vor allem, wenn es um VBA geht!
Der "Hintergrund" gefällt mir sehr; besser wäre "Mauerblümchen"!
Doch was meinst Du mit "grauer Eminenz"??
"Eminenz" : na ja - schmeichelt ungemein!
Aber "grau"??? Ich bin (fast) noch ein Teenager!


@ Manea:
Vielen Dank für die nette Rückmeldung!

Allen noch einen schönen Tag!

Arnim


Antwort 33 von nighty

hi alle :)

fuer mich war dies eine perle im sn ,verbeugung :)

gruss nighty



Antwort 34 von want2cu

Hallo Arnim,

wenn es um VBA geht, kann ich in dein "Erröten" einstimmen.
Aber mit Formeln geht doch auch eine ganze Menge, nicht wahr?

Mit grauer Eminenz im Hintergrund meinte ich, dass du dir die Sache erstmal dezent angesehen hast und dann - als ich mich wegen HUnger/Nichtideen erstmal ausgeklinkt habe - in gewohnt souveräner Weise mit einer Super-Formellösung aufgewartet hast.

"Graue Eminenz im Hintergrund" war also als großes Kompliment gemeint für jemanden, der im SN ein absolut hohen Maß an Fachwissen in sehr angenehmer, dezenter Weise einbringt und damit anderen hilft und wieder andere (dazu zähle ich mich übrigens auch) mit seinen Ideen und LÖsungsansätzen inspiriert.

@nighty: schön, dass du das SN wieder mit deinem VBA-Wissen in der Excel-Rubrik bereicherst. Ich krieg es einfach immer noch nicht auf die Reihe mit diesem VBA ;-)))

CU
want2cu

Antwort 35 von Manea

Ihr seid ALLE einfach klasse!
Aber so viele Blumen habe ich ja noch nie hin und her schicken sehen! ;)
Leider kann ich in diesem Themenbereich keine Lorbeeren ernten.
Aber ich bin sehr froh, dass ich diese Seite gefunden habe...

Habe ein weiteres Prob. *heul*
Siehe "Datum im best. Zeitraum die 2.!"

wie alt bist du denn arnim, wenn man fragen darf?
(fast) noch ein teenager?

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: