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

Berechnetes Enddatum ggf. minus Anzahl P am Freitag

Berechnetes Enddatum ggf. minus Anzahl P am Freitag
22.02.2024 08:08:48
Nordic
Guten Morgen :)
in Spalte R$7 wird mit der Formel
=WENNFEHLER(ARBEITSTAG.INTL(D7;((P7+Q7)-1);"0000111";Ressourcen!C$2:C$16);"")
ein voraussichtliches Enddatum berechnet. Die klappt für gewöhnlich recht gut und zuverlässig.

Nun fiel auf, dass sich der Umstand ergeben kann, dass sich in der jeweiligen Zeile im Bereich W$7:NX$7 eine "5 Tage Woche" ergibt ("P" auf einen Freitag)
Es muss in diesem speziellen Fall die Gesamtanzahl der "P", die auf einen Freitag entfallen vom Ergebnis in R$7 abgezogen werden.

Ein KI-Tool speziell für VBA spuckte mir = R$7 - ZÄHLENWENN(W$6:NX$6, "Freitag") * ZÄHLENWENN(W$7:NX$7, "P") aus.
Wie bekomme ich das am besten zusammen?

https://www.herber.de/bbs/user/167236.xlsm

Viele Grüße, Nordic (Uwe)

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Berechnetes Enddatum ggf. minus Anzahl P am Freitag
22.02.2024 09:13:38
Rolf
Hallo Uwe

nimm ZÄHLENWENNS:

R$7 - ZÄHLENWENNS($W$6:$NX$6;"Fr";$W7:$NX7, "P")

Gruß Rolf
AW: Excel 2016 -> SUMMENPRODUKT
22.02.2024 09:19:37
Rolf
=R$7-SUMMENPRODUKT(($W$5:$NX$5)="Fr")*($W7:$NX7="P"))

Gruß Rolf
AW: Berechnetes Enddatum ggf. minus Anzahl P am Freitag
22.02.2024 12:11:22
Alwin Weisangler
Hallo Uwe,

das funktioniert nur mit einem größer / kleiner Vergleich und Matrixformel.
in S7:

=WENN(INDEX($W$6:$NX$6;MAX(ISTZAHL($W7:$NX7)*SPALTE($W7:$NX7)))-22>INDEX($W$6:$NX$6;MAX(ISTTEXT($W7:$NX7)*SPALTE($W7:$NX7)))-22;INDEX($W$6:$NX$6;MAX(ISTZAHL($W7:$NX7)*SPALTE($W7:$NX7)))-22;INDEX($W$6:$NX$6;MAX(ISTTEXT($W7:$NX7)*SPALTE($W7:$NX7)))-22)

mit Groß/Strg/Enter abschließen und runterziehen. Es sollte so nicht zu sehr die Rechenleistung belasten.
Aber besser wäre so was nicht mehr mit Formeln zu regeln.

Gruß Uwe
Anzeige
AW: Berechnetes Enddatum ggf. minus Anzahl P am Freitag
22.02.2024 13:41:43
Alwin Weisangler
statt dieser Arrayformel wäre es einfacher und ressourcenschonender es mit einer kleinen Prozedur zu erledigen, welche nach Bedarf angeschoben werden kann.



Sub AustrittsdatumBerechnen()
Dim i&, j&, k&, arr()
With Tabelle1
ReDim arr(1 To gLR - 6, 1 To 1)
For i = 7 To gLR
For j = 113 To 23 Step -1
If .Cells(i, j).Text > "" Then
k = k + 1
arr(i - 6, 1) = .Cells(6, j)
Exit For
End If
If k = 0 Then arr(i - 6, 1) = "keine Daten"
k = 0
Next j
Next i
.Range("S7:S" & gLR).ClearContents
.Range("S7").Resize(UBound(arr, 1), UBound(arr, 2)) = arr
End With
End Sub


Gruß Uwe
Anzeige
AW: Berechnetes Enddatum ggf. minus Anzahl P am Freitag
22.02.2024 21:28:55
Nordic
Hallo Uwe,
zunächst vielen Dank für Deine Mühe mir gleich mit zwei Ansätzen weiterzuhelfen.
Die Formel habe ich implementiert, dabei jedoch völlig falsche Ergebnisse erhalten.
Das jeweilige Enddatum war stellenweise deutlich früher als erwartet, auch in Zeilen in den dieser besondere Umstand nicht auftritt.
Abgesehen davon, dass mir nicht klar ist, wie ich das Ergebnis von AustrittsdatumBerechnen() in die Zellen der Spalte R ab Zeile 7 bekomme, gehe ich davon aus dass der Code zum gleichen Ergebnis kommt wie die Formel.

Vielleicht habe ich mich missverständlich ausgedrückt.
Folgender Umstand:
Ausgehend von einem Startdatum (D) wird zunächst analog der gewählten Module (E:O, jedes Modul hat eine unterschiedliche Dauer an Tagen -> Ressourcen!E2:E8 ) das voraussichtliche Enddatum berechnet. Soweit es zu Ausfalltagen kommt (Q) werden diese hinzu addiert.
Grundsätzlich wird von einer 4 Werktage-Woche (Mo-Do) ausgegangen. Daher sind natürlich auch ggf. Feiertage (Ressourcen!C2:C15) zu berücksichtigen.
Die bisherige Formel
=WENNFEHLER(ARBEITSTAG.INTL(D14;((P14+Q14)-1);"0000111";Ressourcen!C$2:C$16);"")
liefert korrekt diese Ergebnis .

Nun kann es sein, dass ein Praktikum (P) durchgeführt wird. In diesem Fall hat der TN an einem bis maximal drei Freitage gearbeitet, obgleich er "frei" gehabt hätte.
Um diese Anzahl "P" die auf einen Freitag entfallen reduziert sich das Enddatum in Tagen.

In der beiliegenden Demo https://www.herber.de/bbs/user/167255.xlsm ist der Teilnehmer 9 ein gutes Beispiel, bei dem mir vor wenigen Tagen das Problem aufgefallen ist.
Der TN war zwei Tage länger da als "notwendig". Durch das Praktikum hat er an zwei Freitagen (19. und 26.01.) gearbeitet. Daher hätte das Enddatum am 14.02. und nicht am 19.02. sein müssen.

Viele Grüße, Uwe
Anzeige
AW: mit einer Formelerweiterung ...
23.02.2024 10:34:56
neopa C
Hallo Uwe,

... wie folgt in R15:
=WENNFEHLER(ARBEITSTAG.INTL(D15; ((P15+Q15)-1-ZÄHLENWENNS(W$5:DI$5;"Fr";W$6:DI$6;">="&D15;W15:DI15;">")); "0000111"; Ressourcen!C$2:C$16); "") kannst Du da das gewünschte Ergebnis erzielen. Wobei durch ...W15:DI15;">"... jeglicher Eintrag an einem Freitag berücksichtigt wird. Soll nur "P" berücksichtigt werden, dann ersetze in der Formel ...W15:DI15;">"... durch ...W15:DI15;"P"...

Gruß Werner
.. , - ...
AW: Berechnetes Enddatum ggf. minus Anzahl P am Freitag
23.02.2024 15:42:52
Sigi.21
Hallo Nordic,

die Formel von Werner macht genau das, was du wolltest; aber ich fürchte, du hast da einen Denkfehler.

Wenn ich es richtig verstanden habe, dann willst du je Teilnehmer das Projekt-Ende ermitteln. Bei Fehltagen „f“ wird die Projekt-Dauer um die Anzahl der Fehltage einfach verlängert. In der Regel gilt die Viertage-Woche. Ausnahmen dann, wenn an einem FR ein Inhalt steht (Bsp. „P“). Soweit korrekt?

Als Lösungsweg schlägst du vor, die „P“s zu zählen und die Dauer um diese Anzahl „P“s zu verkürzen. Als Basisformel dient die Fkt. Arbeitstag.INTL mit dem Parameter „0000111“.

Dieser Weg kann oft (meistens sogar) gelingen, aber er deckt nicht alle denkbaren Möglichkeiten ab! Durch den Parameter „0000111“ kann das Projekt-Ende nie(!) an einem FR liegen. Jedoch ist eine solche Konstellation durchaus möglich!
(Bsp.: bei Teilnehmer 9, wenn statt 27 nur 16 Tage vorlägen, dann müsste das Projekt-Ende am FR (26.01.) liegen.)

Alternativ würde ich eine Lösung mit VBA vorschlagen.

Gruß Sigi
Anzeige
AW: Berechnetes Enddatum ggf. minus Anzahl P am Freitag
23.02.2024 17:42:03
Nordic
Hallo Sigi,
die zugrundliegenden Hintergründe hast Du korrekt wiedergegeben.
Auch der Schritt, den Du weitergedacht hast, ist natürlich nicht von der Hand zu weisen.
Allerdings läuft in diesem Projekt ohnehin manches etwas anders.
Ein Maßnahmeende auf einen Freitag ist rechnerisch und praktisch nicht möglich, da der Freitag grundsätzlich für die Teilnehmer frei ist.
Trotzdem vielen Dank, für die Gedanken, die Du Dir darum gemacht hast :)
das Umjk wandeln der Formel
=WENNFEHLER(ARBEITSTAG.INTL(D14; ((P14+Q14)-1-ZÄHLENWENNS(W$5:NX$5;"Fr";W$6:NX$6;">="&D14;W14:NX14;"P")); "0000111"; Ressourcen!C$2:C$16); "")
hört sich in jedem Fall verlockend an. wäre aber eher Zukunftsmusik, da ich die Zellen mit Formeln dahinter plane zu schützen.
(Im laufenden Jahr kann ich auf die ersten 7 Teilnehmer die "Ende-Formel" ohnehin nicht anwenden, da diese TN bereits im letzten Jahr gestartet und mit ins neue Jahr gegangen sind).
Grüße, Uwe

Anzeige
AW: sorry, hatte falsch gelesen ...
23.02.2024 10:51:04
neopa C
Hallo Jürgen,

.. Du willst ja den niedrigsten Kontostand ab dem jeweiligen Heute: Dann einfacher so: =AGGREGAT(15;6;D4:BW4/(D1:BW1>=HEUTE());1)

Gruß Werner
.. , - ...
AW: mit einer Formelerweiterung ...
23.02.2024 17:47:12
Nordic
Hallo Werner,
sehr gute Lösung, klappt hervorragend. Vielen lieben Dank :)
Grüße, Uwe
AW: bitteschön, gerne owT
23.02.2024 19:24:39
neopa C
Gruß Werner
.. , - ...
AW: sorry, und den Beitrag im falschen thread platziert owT
23.02.2024 12:15:32
neopa C
Gruß Werner
.. , - ...
AW: Excel 2016 -> SUMMENPRODUKT
22.02.2024 09:35:08
Nordic
Hallo Rolf,
lieben Dank, das geht mit aller Wahrscheinlichkeit in die richtige Richtung.
Nun müsste ja vom Ergebnis aus
=WENNFEHLER(ARBEITSTAG.INTL(D7;((P7+Q7)-1);"0000111";Ressourcen!C$2:C$16);"")

das Ergebnis Deiner Formel
SUMMENPRODUKT(($W$5:$NX$5)="Fr")*($W7:$NX7="P"))

abgezogen werden.
Verbinde ich die beiden Formeln also "nur" mit einem "-" zwischen den beiden oder muss das Gesamtkonstrukt irgendwie "geklammert" werden?
Gruß, Nordic (Uwe)
Anzeige
AW: Excel 2016 -> SUMMENPRODUKT
22.02.2024 20:39:44
Nordic
Moin Rolf,
ich hab das nun so versucht
=WENNFEHLER(ARBEITSTAG.INTL(D14; ((P14+Q14)-1); "0000111"; Ressourcen!C$2:C$16); "") - SUMMENPRODUKT(($W$5:$NX$5)="Fr") * ($W14:$NX14="P")

Leider ohne den gewünschten Erfolg.
Die Ausgabe zeigt #Wert an bzw. die Daten ändern sich nicht wenn ich die Formel mit Strg\Shift\Enter abschließe.
Grüße Uwe
AW: Excel 2016 -> SUMMENPRODUKT
23.02.2024 11:21:10
Rolf
Hallo Uwe,

die von dir gezeigte Formel muss ja #Wert anzeigen, weil eine Klammer in meiner Summenproduktformel zuviel ist.
Ich hatte die Formel natürlich getestet, muss beim Kopieren irgendwie reingerutscht sein, sorry

SUMMENPRODUKT(($W$5:$NX$5="Fr")*($W14:$NX14="P"))

die zählt aber alle P im gesamten Bereich.
für nur die P im Anwesenheitszeitraum wirds um einiges länger:
SUMMENPRODUKT(($W$5:$NX$5="Fr")*($W14:$NX14="P")*($W$6:$NX$6>=$D14)*($W$6:$NX$6=ARBEITSTAG.INTL(D14;((P14+Q14)-1);"0000111";Ressourcen!C$2:C$16)))
die Formel benötigt keinen Array-Abschluss.

Gruß Rolf
Anzeige
AW: hierzu ...
23.02.2024 12:29:32
neopa C
Hallo Rolf,

... damit wird aber in Zeile 15 (Teilnehmer 9) der zuletzt eingestellten Datei von Uwe als Ergebnis Sa, der 17.2.24 ermittelt, was ja nicht gewollt ist.

Gruß Werner
.. , - ...
AW: ...einfach mal ausprobieren! owT
22.02.2024 11:55:50
Rolf

Gruß Rolf
AW: Excel 2016 -> SUMMENPRODUKT
22.02.2024 15:26:04
Rolf
Hallo Uwe,

wenn du die nur die P's im Bereich Anfang:Ende berechnen willst, könnte man die Summenproduktformel noch erweitern.
Melde dich einfach.

Gruß Rolf

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige