Jak napisać taką funkcję ? Excel

Witam. Nie wiedziałem w jakim dziale napisać ale myślę, że tutaj może się znaleźć ktoś kto może mi pomóc. Potrzebuję napisać funkcję, która za prognozuje mi zapotrzebowanie na odzież roboczą w roku 2015 (załączam plik w celu objaśnienia). Mam kwartałami tam podane kto kiedy i ile brał danego typu odzieży i co jaki czas mu się należy co 12 msc, co 2 okresy zimowe, 3 , 36 msc, do zużycia itd. (chociaż nie zawsze ludzie z zakładu pobierają należącą im się odzież ale chciałbym żeby program policzyć wg. tego co się należy) I żeby mi excel policzył  teraz pytanie czy jest to w ogóle wykonalne w takim programie jak excel ? Np ktoś wziął w 3 kwartale 2014 roku dany asortyment i teraz żeby program policzył, że w 2015 też mu się należy w 3 kwartale ponieważ należy mu się co 12 msc itd. Mam jeszcze drugie pytanie, otóż w 3 arkuszu są podane imiona. nazwiska ( ze względu na ochronę danych wykasowane tak samo w arkuszu numer 2), stanowiska na jakich się znajdują oraz jaki to jest dział danego stanowiska w skrócie np PP, EE itd. Czy istnieje możliwość, żeby excel odpowiednio automatycznie dopasował stanowiska oraz odpowiedni dział do danego imienia i nazwiska i wstawił je w odpowiednie komórki w arkuszu numer 2 ? Dziękuje z góry za pomoc. 

 

ADRES PLIKU XLS :  http://www.sendspace.pl/file/7ba630b637b6f430990620c

Jako pierwsze to poradziłnym w ramach samodoskonalenie przeczytać jedną książkę o relacyjnych bazach danych. Myślę że po jednej lekturze potrafiłbyś duże lepiej uporządkować  a potem zarządzać tego typu dannymi. Byś Sql server jest nieco za ciężki ale użycie MS accessa powinno spokojnie wystarczyć do takich zadań. I zapewniam że trud opanowania tego zagadnienia szybko się spłaci jeśli w pracy masz do czynienia z takim arkuszami excela.

 

 

Wracając do tematu. Po zgrubnej analizie twojego dokumentu proponuję taką funkcję (pseudokod:

IF E9 = 12
then suma(W9:Z9) // ewentualnie max z poprzednich lat albo średnia. - avg(suma(O9:R9), suma(S9:V9), suma(W9:Z9))
else IF E9 = 24 // to okres za lata 2011, 2013
then suma(S9:V9)
else IF E9 = 36
then suma(O9:R9)

żeby powyższa funckja działa musisz jeszce ustalić co dla okresów, i pełnego zużycia oraz ujednolić zapisy żeby nie było 36 i 36msc.

 

Kopiowanie działu jest możliwe przy użyciu makra (może funkcji nie jestem expertem w excelu) ale widzę tu kilka spraw które popsuć cały koncept:

  1. W akrusz 3 imię i nazwisko jest w osobnych polach, w akruszu 2 w jednym - jeśli w arkuszu 2 będzie:

   a) inny separtor

   b) inna liczba spacji

   c) różnica polskie znaki brak polskich znaków

   d) albo będzie dwóch pracowników o takich samych danych imię i nazwisko

To wszystko będzie prowadzić do błędu lub nie uzupełnienia pola.

 

Dane typu imię i nazwisko nie jest poprawnym identyfkatorem, Dla ludzi do takiego celu można użyć no nr PESEL.

Odnośnie pytania 2, funkcja “WYSZUKAJ.PIONOWO” byłaby zapewne pomocna.

Ale musisz mieć wartość unikalną dla każdego rekordu . A imię i nazwisko nie jest unikalne. Gdybyś miał np. PESEL to zapewne rozwiązałoby to sprawę.