Excel - vzoreček
Dobrý den,
mám dotaz na vzoreček v excelu. Popíšu to hned na příkladě:
Ve sloupci A mám seznam testerů - jmenovitý seznam pracovníků, kteří testují součástky našich výrobků
Ve sloupcích B až K je seznam 10 výrobků a jejich součástek. Co sloupec, to jeden výrobek a každý z těch výrobků má 10 součástek na testování. Každý tester má přiřazen jeden výrobek a jeho 10 součástek.
Ve slopci L je datum, kdy je testování (doplním si sám ručně)
Ve slopci M si ručně zadám jméno testera
a teď celá pointa:
Sloupec N se jmenuje "Součástka" a zde bych chtěl mít vzoreček, který si vezme jméno ze sloupce M a náhodně mu přiřadí nějakou součástku ze sloupce výrobků, který je přiřazen tomu konkrétnímu testerovi. Například Jakub má na starosti výrobek 1. Proto mu bude přiřazena náhodně nějaká součástka ze slobce B, protože Výrobek 1 je ve sloupci B. A aby to nebylo moc jednoduché, tak další den, kdy Jakub přijde do práce a já zadám jeho jméno, mu bude opět náhodně přiřazena nějaká součástka z jeho výrobku 1, ale už se nesmí opakovat ta, co už je otestovaná. Takže během 10dnů otestuje 10 součástek.
Jde na to udělat nějaký vzoreček?
Díky moc.
PS: Bohužel formát jako v tabulce se mi nezachoval, takže to není tak přehledné, ale snad to píšu srozumitelně.
Přikládám víše popsaný příklad.
Seznam testerů Výrobek 1 Výrobek 2 Výrobek 3 Výrobek 4 Výrobek 5 Výrobek 6 Výrobek 7 Výrobek 8 Výrobek 9 Výrobek 10 Datum Tester Součástka
Jakub Součástka 1 Součástka 11 Součástka 21 Součástka 31 Součástka 41 Součástka 51 Součástka 61 Součástka 71 Součástka 81 Součástka 91 28.7.2013 Jakub
Pavel Součástka 2 Součástka 12 Součástka 22 Součástka 32 Součástka 42 Součástka 52 Součástka 62 Součástka 72 Součástka 82 Součástka 92 28.7.2013 Petr
Petr Součástka 3 Součástka 13 Součástka 23 Součástka 33 Součástka 43 Součástka 53 Součástka 63 Součástka 73 Součástka 83 Součástka 93 29.7.2013 Jakub
David Součástka 4 Součástka 14 Součástka 24 Součástka 34 Součástka 44 Součástka 54 Součástka 64 Součástka 74 Součástka 84 Součástka 94
Jarda Součástka 5 Součástka 15 Součástka 25 Součástka 35 Součástka 45 Součástka 55 Součástka 65 Součástka 75 Součástka 85 Součástka 95
Mirek Součástka 6 Součástka 16 Součástka 26 Součástka 36 Součástka 46 Součástka 56 Součástka 66 Součástka 76 Součástka 86 Součástka 96
Karel Součástka 7 Součástka 17 Součástka 27 Součástka 37 Součástka 47 Součástka 57 Součástka 67 Součástka 77 Součástka 87 Součástka 97
Michal Součástka 8 Součástka 18 Součástka 28 Součástka 38 Součástka 48 Součástka 58 Součástka 68 Součástka 78 Součástka 88 Součástka 98
Alex Součástka 9 Součástka 19 Součástka 29 Součástka 39 Součástka 49 Součástka 59 Součástka 69 Součástka 79 Součástka 89 Součástka 99
Vojta Součástka 10 Součástka 20 Součástka 30 Součástka 40 Součástka 50 Součástka 60 Součástka 70 Součástka 80 Součástka 90 Součástka 100
vzoreček nikoli, ale makro/kód.
Sice nechápu, proč jsou jména v separátním sloupci, ale budiž.
Obecně si postavíš VBA ve kterém si funkcí rnd (random) vygeneruješ číslo od 1 do 10 a přiřadíš k němu součástku. Následně použiješ podtabulku již zkontrolovaných čísel výrobků daného pracovníka, pokud daná součástka ještě nebyla testována, tak ji vložíš do políčka "aktuálně testovat", jinak celý postup generování součástky opakuješ dokud nenajdeš neotestovanou součástku. Jde to samozřejmě řešit elegantněji (např. výběrem z ještě neotestovaných položek), ale to je celkem jedno (rozdíl bude v neoptimalitě výběru součástky, kdy může proběhnout několik desítek iterací než se najde ještě nevybraná součástka).
Já bych si takovou věc udělal v Accessu, je na tyhle věci o dost vhodnější a navíc umožňuje "skladovat" historické záznamy.
Díky za návod, bohužel si s VBA nerozumím. Proto jsem to chtěl vyřešit vzorečkem. Opravdu tam není cesta?
regulérně není jak jednoduše zajistit náhodný výběr z postupně se zmenšujícího se seznamu.
Dobrá, tak ještě jinak bych to mohl zkusit. Šlo by to udělat nenáhodně? To znamená, že by nejdříve vzal součástku 1 pak 2 atd? Bral by je postupně v pořadí v jakém jsou v tom sloupci, klidně nenáhodně, ale tak aby nevzal tu co už měl? Šlo by alespoň tohle udělat vzorečkem?