Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Berechnung der Schulunstage pro Monat

Berechnung der Schulunstage pro Monat
mommonde
Hallo miteinander,
ich habe da ein kleines Problem mit einer Formel.
Mehrere Dinge müssen gleichzeitig abgefragt werden .
Ich müsste wissen wie viele Tage ein Mitarbeiter pro Monat an einer Schulung teilgenommen hat.
Anbei ein Beispiel.
Beginn Ende
07.01.2009 17.02.2009
07.02.2009 17.03.2009
07.07.2009 07.08.2010
Rechts daneben erscheinend dann die einzelnen Monate ( Jan / Feb usw... )
Allerdings muss die Aufteilung nach Monaten aufgeteilt werden. Also dann 24 Tage im Januar und 17 Tage im Februar, restliche Monate 0 Tage und das müsste fortlaufend in die Tabelle.
Hat jemand eine Idee ?
Vielen Dank für die Hilfe !!!
Gruß Christoph
Version mit VBA
12.07.2010 12:28:13
Tino
Hallo,
kannst mal testen ob es so funktioniert.
In ein Modul kommt dieser Code
Function CountMonth(rngBereich As Range, iMonthIndex As Integer) As Integer Dim meAr() Dim A As Long, B As Long meAr = rngBereich.Value2 For A = 1 To Ubound(meAr) For B = 0 To 61 If meAr(A, 1) + B > meAr(A, 2) Then Exit For If Month(meAr(A, 1) + B) = iMonthIndex Then CountMonth = CountMonth + 1 Next B Next A End Function In Excel wie eine Formel anwenden.
 ABCDE
1     
207.01.200908.02.2009 Januar25
307.02.200917.03.2009 Februar28
407.07.200907.08.2010 März9
5   April0
6   Mai0
7   Juni0
8   Juli25
9   August6
10   September0
11   Oktober0
12   November0
13   Dezember0

Formeln der Tabelle
ZelleFormel
E2=CountMonth($A$2:$B$4;ZEILE($A1))
E3=CountMonth($A$2:$B$4;ZEILE($A2))
E4=CountMonth($A$2:$B$4;ZEILE($A3))
E5=CountMonth($A$2:$B$4;ZEILE($A4))
E6=CountMonth($A$2:$B$4;ZEILE($A5))
E7=CountMonth($A$2:$B$4;ZEILE($A6))
E8=CountMonth($A$2:$B$4;ZEILE($A7))
E9=CountMonth($A$2:$B$4;ZEILE($A8))
E10=CountMonth($A$2:$B$4;ZEILE($A9))
E11=CountMonth($A$2:$B$4;ZEILE($A10))
E12=CountMonth($A$2:$B$4;ZEILE($A11))
E13=CountMonth($A$2:$B$4;ZEILE($A12))

Gruß Tino
Anzeige
oder besser so
12.07.2010 12:40:38
Tino
Hallo,
Function CountMonth(rngBereich As Range, iMonthIndex As Integer) As Integer Dim meAr() Dim A As Long, B As Long meAr = rngBereich.Value2 For A = 1 To UBound(meAr) For B = 0 To meAr(A, 2) - meAr(A, 1) If Month(meAr(A, 1) + B) = iMonthIndex Then CountMonth = CountMonth + 1 Next B Next A End Function Gruß Tino
Schulungstage pro Monat
12.07.2010 12:41:29
FP
Hallo Christoph,
Tabelle2
 ABCDEFGHIJKLMN
1vonbisJänFebMärAprMaiJunJulAugSepOktNovDez
207.01.201017.02.201025170000000000
307.01.201022.01.20101600000000000
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Formeln in Spalte C ( nach rechts kopieren )
Tabelle2
 C
1Jän
225
Formeln der Tabelle
C1 : =TEXT(SPALTE(A1)*28;"MMM")
C2 : =WENN(MONAT($B2)<MONAT(C$1&0); 0;REST(HÄUFIGKEIT(MONAT(ZEILE(INDIREKT($A2&":"&$B2))); MONAT(C$1&0)); B2))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Servus aus dem Salzkammergut
Franz
Anzeige
AW: Schulungstage pro Monat - leider falsch
12.07.2010 12:50:35
FP
Hallo Christoph,
man sollte immer erst testen :-(
melde mich später noch einmal
Servus aus dem Salzkammergut
Franz
AW: Berechnung der Schulunstage pro Monat
12.07.2010 12:56:34
FP
Hallo Christoph,
hier mal auf die Schnelle eine jetzt funktionierende Lösung per Formel:
Tabelle2
 C
1Jän
225
Formeln der Tabelle
C1 : =TEXT(SPALTE(A1)*28;"MMM")
C2 : =WENN((MONAT($A2)>MONAT(C$1&0))+(MONAT($B2)<MONAT(C$1&0)); 0;REST(HÄUFIGKEIT(MONAT(ZEILE(INDIREKT($A2&":"&$B2))); MONAT(C$1&0)-{0.1}); ((B2=0)+(MONAT($B2)>MONAT(C$1&0)))*99+B2))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Mal sehen ob man das noch kürzen kann.
Servus aus dem Salzkammergut
Franz
Anzeige
AW: Berechnung der Schulunstage pro Monat
12.07.2010 12:58:11
FP
Hallo Christoph,
Kürzung #1
Tabelle2
 C
1Jän
225
Formeln der Tabelle
C1 : =TEXT(SPALTE(A1)*28;"MMM")
C2 : =WENN((MONAT($B2)<MONAT(C$1&0)); 0;REST(HÄUFIGKEIT(MONAT(ZEILE(INDIREKT($A2&":"&$B2))); MONAT(C$1&0)-{0.1}); ((B2=0)+(MONAT($B2)>MONAT(C$1&0)))*99+B2))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Servus aus dem Salzkammergut
Franz
Anzeige
AW: Berechnung der Schulunstage pro Monat
12.07.2010 13:05:27
mommonde
Hallo Franz,
das ist perfekt, allerdings sehe ich grade das auf Werte für das Jahr 2010 auftauchen...
z.B. 08.12.2009 bis 18.01.2010
Sorry wenn ich dich quäle !!!
Gruß
Christoph
AW: Berechnung der Schulunstage pro Monat
12.07.2010 13:22:58
FP
Hallo Christoph,
Tabelle2
 C
1Jän
225
Formeln der Tabelle
C1 : =TEXT(SPALTE(A1)*28;"MMM")
C2 : {=WENN((MONAT($B2)<MONAT(C$1&0))*(MONAT($A2)<MONAT(C$1&0)); 0;REST(HÄUFIGKEIT(MONAT(ZEILE(INDIREKT($A2&":"&$B2))); MONAT(C$1&0)-{0.1}); ((B2=0)+(MONAT($B2)>MONAT(C$1&0)))*99+B2))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Beispiele:
Tabelle2
 ABCDEFGHIJKLMN
1vonbisJänFebMärAprMaiJunJulAugSepOktNovDez
207.01.201017.02.201025170000000000
307.01.201022.01.20101600000000000
405.03.201004.05.201000273040000000
525.06.201003.11.20100000063131303130
608.12.200918.01.201018000000000024
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Servus aus dem Salzkammergut
Franz
Anzeige
AW: Berechnung der Schulunstage pro Monat
12.07.2010 13:31:02
FP
Hallo Christoph,
Mann oh Mann, habe ja völlig umständlich gedacht - geht viel einfacher:
in C2
=HÄUFIGKEIT(MONAT(ZEILE(INDIREKT($A2&":"&$B2)));MONAT(C$1&0)-{0.1})
und nach rechts kopieren
Servus aus dem Salzkammergut
Franz
AW: Berechnung der Schulunstage pro Monat
12.07.2010 13:05:48
Dirk
Hallo Christoph
vielleicht so:
Die Monate sind als tt.mm.jjj eingegeben und mit folgendem Format MMM. hinterlegt.
Tage pro Monat

 ABCDEF
1VonBisJan.Feb.Mrz.Jul.
207.01.201017.02.2010251700

Formeln der Tabelle
ZelleFormel
C2=ABRUNDEN(SUMMENPRODUKT((MONAT(ZEILE(INDIREKT($A2&":"&$B2)))=MONAT(C$1))*1); 0)
D2=ABRUNDEN(SUMMENPRODUKT((MONAT(ZEILE(INDIREKT($A2&":"&$B2)))=MONAT(D$1))*1); 0)
E2=ABRUNDEN(SUMMENPRODUKT((MONAT(ZEILE(INDIREKT($A2&":"&$B2)))=MONAT(E$1))*1); 0)
F2=ABRUNDEN(SUMMENPRODUKT((MONAT(ZEILE(INDIREKT($A2&":"&$B2)))=MONAT(F$1))*1); 0)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Dirk
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige