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

Planungsliste erstellen

Planungsliste erstellen
Jürgen
Ich habe folgende beiden Tabellen:
1. Tabelle mit Bedarf (für welche Aktion benötige ich welche Ressourcen)
Aktion Res. Benötigt
A1 R1 Nein
A1 R2 Nein
A2 R1 Ja
A2 R2 Nein
A3 R1 Ja
A3 R2 Ja
2. Tabelle mit Ressourcenverfügbarkeiten
Datum Res Verfügbar
01.10.2011 R1 Ja
01.10.2011 R2 Ja
02.10.2011 R1 Nein
02.10.2011 R2 Nein
03.10.2011 R1 Ja
03.10.2011 R2 Nein
04.10.2011 R1 Ja
04.10.2011 R2 Ja
Jetzt möchte ich eine Tabelle, wann welche Aktion möglich ist
Aktion Datum Möglich
A1 01.10.2011 Ja
A1 02.10.2011 Ja
A1 03.10.2011 Ja
A1 04.10.2011 Ja
A2 01.10.2011 Ja
A2 02.10.2011 Nein
A2 03.10.2011 Ja
A2 04.10.2011 Ja
A3 01.10.2011 Ja
A3 02.10.2011 Nein
A3 03.10.2011 Nein
A3 04.10.2011 Ja
Übliche Planungstools (MS Projekt, Fertigungsplanung - Plantafel etc.) bieten das nicht, zumindest habe ich das da nicht gefunden.
Wenn ich in MS Projekt einem Vorgang mehrere Ressourcen zuordne (jeweils mit eigenem Kalender), dann bedeutet das, das diese Ressourcen alle parallel dran arbeiten können. Mehr Ressourcen = schneller fertig (wenn Ressourcen dann verfügbar). Es ist also eher eine Oder-Verknüpfung der Ressourcen (Welche Ressourcen können das machen).
Was ich benötige, ist eine UND-Verknüpfung der Ressourcen. Nur wenn alle Ressourcen verfügbar sind (Bedingungen erfüllt sind), ist die Aktion möglich. (Welche Ressourcen MÜSSEN alle verfügbar sein).
Wie kann ich diese Ergebnistabelle aus den beiden Tabellen erstellen?

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Planungsliste erstellen
21.09.2011 15:15:02
Jürgen
Genau genommen liegen diese Tabellen ursprünglich anders vor. In den Zellen jeweils ein Kreuz für benötigt bzw. verfügbar)
Tabelle 1:
Spalten: Aktion, R1, R2, R3, R4, R5, ...
Tabelle 2:
Spalten: Datum, R1, R2, R3, R4, R5, ...
Gewünschtes Ergebnis:
Spalten: A1, Datum
Aus den beiden Tabellen habe ich per Formeln die im Ursprungsposting beschriebenen erstellt (um sie wie eine Datenbank behandeln zu können, ist aber evtl. nicht erforderlich).
OT Anfragen stellen
21.09.2011 15:49:35
Reinhard
Hallo Grußloser,
schon mal über die Anfrageform
Anrede, klare Fragen, Grußfloskel
nachgedacht?
Sicher, du bist völlig frei darin wie du was tust.
Genauso wie ich völlig frei darin bin wem ich versuche zu helfen. Grußlosen helfe ich meist nicht, erst nach "besserung"
Just my 2 Pfennige
Gruß
Reinhard
Anzeige
AW: OT Anfragen stellen
21.09.2011 15:53:11
Jürgen
Hallo Reinhard,
entschuldige die Form.
Sicher wirst du mir auch noch sagen können, was OT bedeutet.
Viele Grüße
Jürgen
AW: OT Anfragen stellen
21.09.2011 16:58:57
Reinhard
Hallo Jürgen,
das sieht doch schonmal viel netter aus, wie so Mensch zu Mensch :-)
OT bedeutet Off Topic, also das was derjenige schreibt der im Betreff dies voranstellt schreibt etwas was mit der eigentlichen Anfrage, also dem Excelproblem nix zu tun hat.
Könnte auch sein daß jemand fragt, sach mal biste nicht der Jürgen aus Düsseldorf oder so.
Dieses OT soll Leute die dir bei deinem Problem helfen wollen signalisieren, hier in dem OT Beitrag steht nix was mit dem Problem zu tun hat.
Dann ersparen sie sich den in der masse bei vielen Anfragen unnötigen Klick auf den OT-Beitrag.
Genauso gibt es m.T. oder o.w.T.
Das bedeutet mit Text oder ohne weiteren Text.
Ist ähnlich. Ich schreibe z.B. wenn einer anfragt und auf eine in seinem Beitrag stehende hochgeladene Mappe verweist und er hat schlichtweg vergessen sie auch hochzuladen und den Link zu zeigen so wird ihm schon geantwortet:
Wo ist die mappe o.w.T.
Dann weiß jeder andere Bescheid, aha, da hat einer vergessen die angkündigte mappe hochzuladen
und erspart sich den Klick auf den o.w.T. Beitrag denn da steht ja nix drin.
Das ist alles nix Schlimmes. Man ist so am Formulieren seiner Anfrage wo man an die beigefügte Mappe verweist, dann schickt man den Beitrag ab...
Daß man vergessen durch das ganze aufsProblemkonzentrieren un die Anfrageformulierung die mappe auch hochzuladen ist halt menschlisch, sehr menschlich.
Genauso wie hier oben rechts das Häkchen bei "Frage noch offen " zu setzen.
Nicht unnormal daß man das sehr vorhat, schreibt den Artikel, schickt ihn ab und naja, man hat das Häkchen zu setzen vergessen :-))
Gruß
Reinhard
Anzeige
AW: OT Anfragen stellen
21.09.2011 17:01:23
Jürgen
Hallo Reinhard,
kann man das Häkchen bei "noch offen" auch noch nachträglich setzen?
Viele Grüße
Jürgen
Noch offen
21.09.2011 17:47:00
Uwe
Hallo Jürgen,
Nein, kann man nicht.
Einfach nochmal "Antworten", wenn man es vergessen hat.
Ich habe es jetzt mal für Dich gesetzt.
Gruß
Uwe
(:o)
AW: Planungsliste erstellen
21.09.2011 19:43:47
Uduuh
Hallo,
in ein Modul:

Function AktionMoeglich(strAktion As String, dteDatum As Date, rngAktRec As Range, rngDatRec As  _
Range)
Dim strAktRec As String, strDatRec As String, rngC As Range
Dim arrRec, arrDat, strTmp, iRec
For Each rngC In rngAktRec.Columns(1).Cells
If rngC = strAktion And rngC.Offset(, 2) = "Ja" Then
strAktRec = strAktRec & rngC.Offset(, 1).Value & ","
End If
Next
For Each rngC In rngDatRec.Columns(1).Cells
If rngC = dteDatum And rngC.Offset(, 2) = "Ja" Then
strDatRec = strDatRec & rngC.Offset(, 1).Value & ","
End If
Next
If strAktRec  "" Then
strAktRec = Left(strAktRec, Len(strAktRec) - 1)
arrRec = Split(strAktRec, ",")
Else
strTmp = "Ja"
End If
If strDatRec  "" Then
strDatRec = Left(strDatRec, Len(strDatRec) - 1)
arrDat = Split(strDatRec, ",")
Else
strTmp = "Ja"
End If
If strTmp = "" Then
For iRec = 0 To UBound(arrRec)
If Not IsError(Application.Match(arrRec(iRec), arrDat, 0)) Then strTmp = "Nein"
Next
End If
If strTmp = "" Then strTmp = "Ja"
AktionMoeglich = strTmp
End Function

Die Tabelle sieht so aus:
 ABCDEFGHIJK
1AktionRecourceUsed DatumRecourceUsed AktionDatumMöglich
2A1R1Nein 01.10.2011R1Ja A101.10.2011Nein
3A1R2Nein 01.10.2011R2Ja A102.10.2011Ja
4A1R3Ja 01.10.2011R3Ja A103.10.2011Ja
5A2R1Ja 02.10.2011R1Nein A104.10.2011Ja
6A2R2Nein 02.10.2011R2Nein A201.10.2011Nein
7A2R3Nein 02.10.2011R3Nein A202.10.2011Ja
8A3R1Ja 03.10.2011R1Ja A203.10.2011Nein
9A3R2Ja 03.10.2011R2Nein A204.10.2011Nein
10    03.10.2011R3nein A301.10.2011Nein
11    04.10.2011R1Ja A302.10.2011Ja
12    04.10.2011R2Ja A303.10.2011Nein
13    04.10.2011R3Nein A304.10.2011Nein

ZelleFormel
K2=aktionmoeglich(I2;J2;$A$2:$C$9;$E$2:$G$13)
K3=aktionmoeglich(I3;J3;$A$2:$C$9;$E$2:$G$13)

Gruß aus’m Pott
Udo

Anzeige
AW: Planungsliste erstellen
22.09.2011 10:04:21
Jürgen
Hallo Udo,
danke für die Antwort. Die Ergebnistabelle ist aber nicht korrekt.
Damit es klarer wird, nennst du C1 besser "uses (benötigt)".
Zu lesen : Aktion A1 benötigt Resource R3, aber R1 und R2 nicht.
"A1 benötigt R1: Nein"
"A1 benötigt R2: Nein"
"A1 benötigt R3: Ja"
Damit es klarer wird, nennst du G1 besser "availabe (verfügbar)".
Zu lesen:
Am 1.10.2011 sind die Ressourcen R1, R2 und R3 verfügbar.
Am 2.10. ist keine Ressource verfügbar.
Am 3.10. ist nur R1 verfügbar.
Am 4.10. sind R1 und R2 verfügbar.
Oder:
Die Ressource R1 ist am 1.10., 3.10. und 4.10. verfügbar, am 2.10. jedoch nicht.
Die Ressource R2 ist am 1.10. und 4.10. verfügbar, am 2.10. und 3.10. jedoch nicht.
Die Ressource R3 ist am nur am 1.10. verfügbar.
Daraus ergibt sich in deiner Ergebnistabelle in Spalte K:
K12 ist korrekt, alle anderen sind falsch, also genau umgekehrt.
Oder Lesart Deiner Tabelle (wie von mir benötigt):
Aktion A1 benötigt nur Ressource R3.
R3 ist nur am 1.10. verfügbar.
Also kann Aktion A1 nur am 1.10. durchgeführt werden (möglich = Ja), an allen anderen Terminen nicht (möglich = Nein).
Aktion A2 benötigt nur Ressource R1.
R1 ist am 1.10., 3.10. und 4.10. verfügbar, am 2.10. nicht.
Also kann Aktion A2 am 1.10., 3.10. und 4.10. durchgeführt werden (möglich = Ja) am 2.10. jedoch nicht (möglich = Nein).
Aktion A3 benötigt Ressourcen R1 und R2.
R1 ist am 1.10., 3.10. und 4.10. verfügbar, am 2.10. nicht.
R2 ist am 1.10. und 4.10. verfügbar, am 2.10. und 3.10. nicht.
Also kann Aktion A3 am 1.10. und 4.10. durchgeführt werden (möglich = Ja) am 2.10. und 3.10. jedoch nicht (möglich = Nein).
Ist meine Absicht jetzt klar geworden?
Mit anderen Worten:
Für Tagung A benötigt man Beamer, Raum 1012, Flipchart.
Beamer, Raum und Flipchart stehen jeweils zu diversen Terminen zur Verfügung (sind frei).
Die Tagung kann nur an Terminen durchgeführt werden, an denen ALLE (Beamer, Raum, Flipchart) zur Verfügung stehen.
Fazit: "Kleinster gemeinsamer Nenner" (also nur wenn alle verfügbar) außer: es werden keine Ressorcen benötigt, dann gehen alle Termine.
Viele Grüße und einen hoffentlich noch guten Morgen
Jürgen
Anzeige
AW: Planungsliste erstellen
22.09.2011 10:06:10
Jürgen
Ist noch offen (hatte ich vergessen, abzuhaken)
AW: Planungsliste erstellen
22.09.2011 11:49:01
Rudi
Hallo,
mal ein bisschen geändert:

Function AktionMoeglich( _
strAktion As String, _
dteDatum As Date, _
rngAktRec As Range, _
rngDatRec As Range)
Dim strAktRec As String, strDatRec As String, rngC As Range
Dim arrRec, arrDat, iRec
'für die Aktion benötigte Recourcen
For Each rngC In rngAktRec.Columns(1).Cells
If rngC = strAktion And LCase(rngC.Offset(, 2)) = "ja" Then
strAktRec = strAktRec & rngC.Offset(, 1).Value & ","
End If
Next
'zum Datum belegte Recourcen
For Each rngC In rngDatRec.Columns(1).Cells
If rngC = dteDatum And LCase(rngC.Offset(, 2)) = "ja" Then
strDatRec = strDatRec & rngC.Offset(, 1).Value & ","
End If
Next
If strAktRec = "" Then
'Aktion braucht keine Resourcen
AktionMoeglich = "Ja"
Exit Function
Else
strAktRec = Left(strAktRec, Len(strAktRec) - 1)
arrRec = Split(strAktRec, ",")
End If
If strDatRec = "" Then
'keine belegten Recourcen zum Datum
AktionMoeglich = "Ja"
Exit Function
Else
strDatRec = Left(strDatRec, Len(strDatRec) - 1)
arrDat = Split(strDatRec, ",")
End If
For iRec = 0 To UBound(arrRec)
'ist eine der benötigten Recourcen zum Datum belegt?
If Not IsError(Application.Match(arrRec(iRec), arrDat, 0)) Then
AktionMoeglich = "Nein"
Exit Function
End If
Next
AktionMoeglich = "Ja"
End Function

Gruß
Rudi
Anzeige
AW: Planungsliste erstellen
22.09.2011 12:04:09
Jürgen
Hallo Rudi,
danke für die Antwort. Damit war es fast richtig.
Ich habe noch folgenden Blcok korigiert:
'zum Datum belegte Recourcen
For Each rngC In rngDatRec.Columns(1).Cells
If rngC = dteDatum And LCase(rngC.Offset(, 2)) "ja" Then
strDatRec = strDatRec & rngC.Offset(, 1).Value & ","
End If

Da in der Tabelle nicht angegeben ist, ob belegt, sondern ob verfügbar, also das Gegenteil, hab eich "=" durch "" ersetzt und damit ist das Ergebnis dann korrekt.
Bis bald mal
Jürgen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige