Microsoft Excel

Herbers Excel/VBA-Archiv

Zahl in kleinere Zahlen aufteilen

Betrifft: Zahl in kleinere Zahlen aufteilen von: Sebastian
Geschrieben am: 23.08.2014 19:38:44

Hallo zusammen! :-)

Nachdem ich nun angefangen hab mein Problem in gefühlten 100 Hilfszellen immer weiter auszubauen um es zu lösen, denk ich mir, vielleicht frag ich einfach mal, ob jemand eine etwas einfachere Lösung findet. Aaaaaalso:

Ich möchte einen Schichtplan aufstellen. Folgende Informationen hab ich je nach Mitarbeiter:

- Arbeitsstunden im Monat.

- Mögliche Schichttypen: bspw. 4h, 5h und 6h.

Mein Ziel ist es nun, die Arbeitsstunden in diese vier Schichttypen aufzuteilen, so dass am Ende kein Rest übrig bleibt. Vorgabe dabei: Die größten Schichten sollten dabei Priorität haben.

Beispiele:
- 30 Arbeitsstunden sollen aufgeteilt werden in: 5x 6h.
- 33 Arbeitsstunden sollen aufgeteilt werden in: 4x 6h und 1x 5h und 1x 4h.
- 35 Arbeitsstunden sollen aufgeteilt werden in: 5x 6h und 1x 5h.
- 37 Arbeitsstunden sollen aufgeteilt werden in: 4* 6h und 1x 5h und 2x 4h.

Während der Kopf sowas in drei Sekunden schafft, fällt es ihm schwer das auch Excel beizubringen. Naja, meinem jedenfalls. *g*

Hat da wer eine Idee, was ich da in meine Formel neben dem Namen schreibe?

Liebe Grüße!
Sebastian

  

Betrifft: SVerweis eventuell von: Frank
Geschrieben am: 23.08.2014 21:01:56

Hallo Sebastian,

je nachdem, wie die Tabelle aufgebaut ist und was letzendlich neben dem Namen stehen soll, könnte man das mit SVerweis lösen. Einfach das, was Du als Erklärung geschrieben hast in zwei Spalten nebeneinander (Spalte A die Stunden, Spalte B die Aufteilung).
Und in die Zelle neben dem Namen eben dann den SVerweis, mit dem Suchkriterium, wieviele Stunden der MA hat.

Grüsse,
Frank


  

Betrifft: AW: Zahl in kleinere Zahlen aufteilen von: Adis
Geschrieben am: 24.08.2014 15:51:18

Hallo

es gibt eine passende Makro Lösung als Beispiel Datei. Ich hoffe ihr könnt sie verwenden. Würde mich freuen wenn es passt.

https://www.herber.de/bbs/user/92263.xls

Gruss Adis


  

Betrifft: Zahl aufteilen - mit VBA von: Erich G.
Geschrieben am: 25.08.2014 10:00:48

Hi Sebastian,
damit könntest du es mal probieren:

 ABCDEF
1 654 Kontrolle
230500 30
333411 33
435510 35
59011 9
613012 13
78002 8
810101 10
97keineAufteilunggefunden 0

Formeln der Tabelle
ZelleFormel
B2{=Summanden($A2;$B$1:$D$1)}
C2{=Summanden($A2;$B$1:$D$1)}
D2{=Summanden($A2;$B$1:$D$1)}
F2=SUMMENPRODUKT(B$1:D$1;B2:D2)
B3=INDEX(Summanden($A3;$B$1:$D$1); SPALTE(A3))
C3=INDEX(Summanden($A3;$B$1:$D$1); SPALTE(B3))
D3=INDEX(Summanden($A3;$B$1:$D$1); SPALTE(C3))
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Ob du die Matrixformel in Zeile 2 oder die INDEX-Formel in Zeile 3 nimmst, ist Geschmackssache.
Hier der Code der Funktion Summanden():
Option Explicit

Function Summanden(rngS As Range, rngT As Range)
   Dim arS, s1 As Long, s2 As Long, s3 As Long, r1 As Long, r2 As Long

   arS = rngT.Value
   For s1 = Fix(rngS / arS(1, 1)) To 0 Step -1
      r1 = rngS - s1 * arS(1, 1)
      If r1 Then
         For s2 = Fix(r1 / arS(1, 2)) To 0 Step -1
            r2 = r1 - s2 * arS(1, 2)
            If r2 Then
               s3 = Fix(r2 / arS(1, 3))
               If r2 = s3 * arS(1, 3) Then
                  Summanden = Array(s1, s2, s3)
                  Exit Function
               End If
            Else
               Summanden = Array(s1, s2, 0)
               Exit Function
            End If
         Next s2
      Else
         Summanden = Array(s1, 0, 0)
         Exit Function
      End If
   Next s1
   Summanden = Split("keine Aufteilung gefunden")
End Function
@Adis:
Deine Beispielmappe kann nicht sinnvoll geöffnet werden. Diese Hinweise erscheinen beim vergeblichen Versuch:
"... wird eine Komponente benötigt, die derzeit nicht installiert ist. Diese Datei wird ohne VBA-Projekt geöffnet ..."
"Diese Arbeitsmappe hat ihr VBA Projekt, alle ActiveX-Steuerelemente und alle anderen programmierbaren Elemente verloren."

Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich


  

Betrifft: AW: Zahl in kleinere Zahlen aufteilen von: Adis
Geschrieben am: 25.08.2014 17:41:45

Hallo

schau mal bitte in die Beispiel Datei -Arbeitstunden- auflisten. Geschrieben für 300 Mitarbeiter.
Würde mich freuen wenn das Programm euch die Arbeit erkeichtert. Einfach mal reinschauen.

https://www.herber.de/bbs/user/92286.xls

Gruss Adis


  

Betrifft: AW: Zahl in kleinere Zahlen aufteilen von: Adis
Geschrieben am: 26.08.2014 22:02:07

Hallo

ich weiss nicht ob Interesse an der Beispiel Datei besteht und ob sie heruntergeladen wurde.
Falls sie sich nicht öffnen laesst gibt es eine überarbeitete Version im Excel 2003 Format.

Gruss Adis


 

Beiträge aus den Excel-Beispielen zum Thema "Zahl in kleinere Zahlen aufteilen"