Keresés

Új hozzászólás Aktív témák

  • m.zmrzlina

    senior tag

    válasz Dr V #29914 üzenetére

    Ha jól értem a feladatot van öt terület, mindegyiken öt csoport dolgozik. Egymás munkáját kell leellenőrizniük, sajátjukat nem lehet. Az hogy melyik műszak az most mindegy, egymástól függetlenül lehet kezelni.

    Az én táblázatom így néz ki:

    A hozzá való makró (magyarázattal) pedig így:

    Sub kioszt()
    For i = 2 To 52 'a 2.-tól az 52. hétig
    For j = 2 To 16 '15 csoportot oszt be
    Do
    Do
    vel_szam = Int(15 * Rnd) + 1 'válasszunk ki egy tetszőleges csoportot
    Loop While vel_szam + 1 = j 'de ne az legyen amelyikhez ellenőr csoportot akaronk rendelni (lásd 2. mondat)

    If j = 15 And Application.WorksheetFunction.CountIf(Range(Cells(1, i + 2), Cells(j - 1, i + 2)), Cells(16, 3).Value) = 0 Then
    'ha a kék_5 nevű csoport még nincs beosztva legkésőbb utolsó előttiként beosztjuk
    Cells(j, i + 2).Value = Cells(16, 3).Value
    Else
    'egyébként véletlenszerűen kapja mindenki a beosztását :-)
    Cells(j, i + 2).Value = Cells(vel_szam + 1, 3).Value '
    End If
    'ha már be van osztva a kiválasztott csoport válasszunk másikat
    Loop While Application.WorksheetFunction.CountIf(Range(Cells(1, i + 2), Cells(j - 1, i + 2)), Cells(j, i + 2).Value) = 1
    Next
    Next
    End Sub

    Az a két ronda munkalapfüggvény ott a makróban nem túl elegáns de hirtelen nem jutott jobb az eszembe.
    A 6. hét után természetesen még folytatódik a táblázat.
    Egy szépséghibája van ennek a megoldásnak, hogy a kék_5-ös csoport a véletlennél egy kicsit nagyobb eséllyel fog a kék_4-es csoporthoz beosztódni ellenőrnek.

  • Dr V

    őstag

    válasz Dr V #29914 üzenetére

    Eegy kicsit egyszerűbben leírom a problémámat, hátha úgy könnyebben kapok rá megoldást:
    Egy listát kell véletlenszerűen értékekhez hozzárendelnem. Ami fontos, h a lisátban szereplő adatok csak 1szer fordulhatnak elő. Ezért nem jó a rand és a randbetween használata, mert ott többször is elő tud fordulni egy szám (eddig próbálkozásaim alapján).

Új hozzászólás Aktív témák

Hirdetés