Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Kłopot z funkcją w excelu

zwieszu 06 Lis 2008 16:58 2930 9
  • #1 06 Lis 2008 16:58
    zwieszu
    Poziom 9  

    Witam wszystkich.
    Mam problem z excelem a mianowicie funkcją.
    Przejdę od razu do rzeczy: (fotka.jpg) jest pokazana jedna ze stron projektu nad którym pracuję.
    punkty:
    1 - zaplanowana produkcja na dziś dzień (4487) (ilość sztuk)
    2 - aktualnie wyprodukowana (ilość sztuk)
    3 - procent tego co zrobiliśmy
    tak samo wygląda to dla każdego dnia tygodnia
    4 – całość z tygodnia.
    I teraz problem, który mam. Chcę żeby 4 pokazywała mi aktualnie ile procent zrobiliśmy z całego tygodnia.
    Czyli jeśli w poniedziałek zrobiliśmy 100% a we wtorek 50% to chciałbym żeby 4 pokazywała mi 75% i tak samo w momencie kiedy wypełnimy wszystkie komórki w każdym dniu tygodnia.

    Jak to zrobić? jakie marko zrobić?
    Albo może będzie ktoś tak dobry i podrzuci mi jakiś skrypcik?
    Przepraszam za brak polskich znaków.
    Bardzo proszę o pomoc i z góry dziękuję.
    :)

    Kłopot z funkcją w excelu

    Proszę przeczytać i stosować...
    Ogłoszenie: Wklejanie zdjęć.
    Następne naruszenie tego punktu to automatyczne skazanie się na uzyskanie ostrzeżenia....
    [K!lleR]


    Dodano po 3 [godziny] 22 [minuty]:

    a teraz umieszcze odpowiedz na moje pytanie czyli funkcje ktora trzeba wkleic w pole T4;

    =(F4+I4+L4+O4+R4)/(D4/5*(IF(F4>0,1,0)+IF(I4>0,1,0)+IF(L4>0,1,0)+IF(O4>0,1,0)+IF(R4>0,1,0)))

    moze komus jeszcze przyda sie
    dziekuje swojemu przyjacielowi za odpowiedz

    0 9
  • #2 07 Lis 2008 09:40
    marek003
    Poziom 40  

    Nie wiem czy do końca cię rozumiem.

    Co ma być wynikiem w 4?
    Jeżeli to ma być % zrobionych sztuk przez cały tydzień do wszystkich sztuk zaplanowanych na cały tydzień to ta formuła podaje błędny wynik.
    W takim przypadku po prostu zsumuj rzeczywiste wykonanie w każdym dniu i podziel przez plan na cały tydzień.

    Jeżeli chcesz aby w 4 pokazywało ci procent wykonania z jedynie przepracowanych dni produkcji (tzn. jeżeli to trzeci dzień tygodnia to w 4 jest % wykonania przez 3 dni) to ta formuła jest prawie ok.

    Kłopot jest wtedy gdy rzeczywiście w danym dniu nie zrobi się ani jednej sztuki (zero) . Wtedy "twoja" formuła potraktuje taki dzień jako taki którego jeszcze nie było i poda błędny wynik (przykład poniedziałek 100% wtorek 100% środa 0% [nic nie zrobiono w środę] - twoja formuła podaje 100% a powinno być 66,6%

    Proponuje zastąpić warunek >0 warunkiem czy.pusta() (nie wiem jak to brzmi w angielskiej wersji excela - popatrz w funkcje)

    Tak wygląda zmodyfikowana Formuła
    =(F4+I4+L4+O4+R4)/(D4/5*(JEŻELI(CZY.PUSTA(F4);0;1)+JEŻELI(CZY.PUSTA(I4);0;1)+JEŻELI(CZY.PUSTA(L4);0;1)+JEŻELI(CZY.PUSTA(O4);0;1)+JEŻELI(CZY.PUSTA(R4);0;1)))

    (zwróć uwagę że jest inna kolejność 0 i 1 i w polskiej wersji są ; zamiast , )

    Teraz jeżeli ma być wyprodukowane zero wstawiasz 0 w przeciwnym wypadku pozostawiasz komórkę pustą.

    Nie wiem ale może warto by było jeszcze się zabezpieczyć poprzez sprawdzanie poprawności aby nikt nie wpisał wartości mniejszej od 0. Chyba że takie rzeczy sa dopuszczalne.

    Jeszcze coś:
    żeby to ładnie wyglądało (nie było błędu "dzielenia przez zero) warto by było dodać jeszcze jedno jeżeli (jeżeli w mianowniku 0 to "" [czyli komórka pusta] w przeciwnym wypadku dopiero licz).
    Druga rzecz:
    Zwróć uwagę że pozycja D4 jest większa o jeden od sumy z planu na każdy dzień. Tu też by trzeba było niewielka korektę zrobić.
    Np. jeżeli ma być po równo w każdym dniu to podzielić przez pięć z zaokrągleniem do 0 miejsc po przecinku a w piątek wprowadzić formułę odejmująca od wartości na tydzień wartości z pozostałych dni tygodnia.

    lub jeżeli ma być różnie w każdy dzień to wprowadzić albo kolumnę kontrolującą sumę z całym tygodniem albo wielkość na cały tydzień powinna być wyliczana z cząstkowych planów na każdy dzień.
    Z tym że w tym przypadku " główna" formuła będzie pokazywać głupoty. Trzeba by było wtedy napisać ją trochę inaczej (bez kombinacji):

    =(F4+I4+L4+O4+R4)/(JEŻELI(CZY.PUSTA(F4);0;E4)+JEŻELI(CZY.PUSTA(I4);0;H4)+JEŻELI(CZY.PUSTA(L4);0;K4)+JEŻELI(CZY.PUSTA(O4);0;N4)+JEŻELI(CZY.PUSTA(R4);0;Q4))
    (ta funkcja będzie dobrze działać i w pierwszym przypadku i jest mniej skomplikowana)


    A żeby nie było błędu dzielenia przez zero :

    =JEŻELI(F4+I4+L4+O4+R4=0;"";(F4+I4+L4+O4+R4)/(JEŻELI(CZY.PUSTA(F4);0;E4)+JEŻELI(CZY.PUSTA(I4);0;H4)+JEŻELI(CZY.PUSTA(L4);0;K4)+JEŻELI(CZY.PUSTA(O4);0;N4)+JEŻELI(CZY.PUSTA(R4);0;Q4)))

    0
  • #3 07 Lis 2008 14:33
    adamas_nt
    Moderator Programowanie

    czyli: =ŚREDNIA(G4;J4;M4;P4;S4) z warunkami?
    Czy chodzi o średnią z przepracowanych dni? 100% w poniedziałek i 50% we wtorek daje 75% w tym tygodniu?
    Kłopot w zapisie autora polega na tym, że dzień w którym wyprodukowano 0 szt. nie różni się od dnia, którego jeszcze nie było.
    Gdyby zostawić puste komórki, w których wpisywane są wyprodukowane sztuki, 0 wpisywać dopiero za dzień w którym wyprodukowano 0 szt. a procent produkcji za dzień wyliczać z zastosowaniem funkcji CZY.PUSTA np.
    =JEŻELI(CZY.PUSTA(F4);"";F4/E4)
    to formuła =ŚREDNIA(G4;J4;M4;P4;S4) zwróci wynik 75%
    Edit:
    >marek003
    Właściwie to jest to samo

    0
  • #4 07 Lis 2008 14:58
    marek003
    Poziom 40  

    adamas_nt napisał:

    >marek003
    Właściwie to jest to samo


    Ale podajesz najprostszą funkcję

    Popieram i proponuje autorowi pozmieniać formuły w komórkach obliczających dzienne procenty wg. przepisu adamas_nt a w komórce ostatniej (4) dać średnią z tych procentów.

    0
  • #5 07 Lis 2008 17:23
    zwieszu
    Poziom 9  

    witam ponownie :) w moim przypadku komorka nigdy nie bedzie pusta poniewaz jest ona wypelniana danymi z produkcji w ktorej musi byc wpisane 0 lub inna wartosc wieksza od zera dbaja oto inne pliki z ktorych sa pobierane informacje (informacje z hyperlink'ow).
    Probowalem zastosowac sie do udzielonych przez Was odpowiedzi ale z niewiadomych mi przyczyn wywala mi bledy ktorych nie jestem w stanie poprawic :(
    Postaram sie nad tym popracowac i napewno napisze jeszcze na forum

    0
  • #6 07 Lis 2008 17:47
    adamas_nt
    Moderator Programowanie

    Przyjrzałem się bliżej załączonemu arkuszowi i rzeczywiście, dochodzi tam jeszcze import danych. Potrzebna mała korekta.
    Założenie: W arkuszu 'Data For BOS' są puste te komórki, w których będzie umieszczać się wielkość produkcji (ilość sztuk)w przyszłości. 0 dla tych dni, w których wyprodukowano 0 szt. (ale o tym już było)
    Formuła uśredniająca procenty =AVERAGE(G5,J5,M5,P5,S5) w t5 - będzie działać prawidłowo, jeśli w komórce która jest zaznaczona na foto (i5) będzie formuła:
    =IF(ISBLANK('Data For BOS'!D94),"",'Data For BOS'!D94) czyli: JEŻELI(CZY.PUSTA(...
    W komórce obok (procent z dnia)(j5) formuła:
    =IF(ISNUMBER(i5),i5/h5,"") czyli: JEŻELI(CZY.LICZBA(...
    I adekwatnie w całym arkuszu.

    ps.
    A zastanawiałeś się nad tym, czy nie zastąpić nazw dni tygodnia datami? To uprościłoby wszystko...

    0
  • #7 08 Lis 2008 10:18
    adamas_nt
    Moderator Programowanie

    Kłopot z funkcją w excelu
    Przykład wykorzystania daty.
    W G3 wpisujesz poniedziałkową datę, na zielono zaznaczyłem te komórki, w których należałoby pozmieniać formuły. Do dyskutowanych już formuł dodałem to, co niezbędne aby uniknąć błędu dzielenia przez zero.
    W górnej części przyjąłem, że dziś (8-11-2008) to środa po zakończeniu dnia. Zauważ, że w E4 i F4 są zera (maszyna mogła być w remoncie, dzień wolny od pracy itp). Nie zakładam, że możliwa jest produkcja w dniu, na który plan wynosi 0.
    W drugiej części dziś (8-11) to wtorek przed rozpoczęciem produkcji. Excel "zaliczył" już ten dzień. Aby zobaczyć stan na "wczoraj" wystarczy zmienić datę w G3.
    Najważniejsza w takim rozwiązaniu jest odporność na zera z importu, dlatego że wyświetlanie procentów za każdy dzień zależy od daty i w dniu, w którym wyprodukowano 0 szt. ten procent będzie wynosił 0.

    Do Moderatorów: Celowo napisałem nowy post, żeby dziś było 8-11.

    0
  • #8 08 Lis 2008 18:13
    zwieszu
    Poziom 9  

    Witam adamas_nt,
    co do Twojego pytania nie moge zmienic nazw tygodnia na date, poniewaz irlandczycy z ktorymi pracuje mogli by nie zalapac dlaczego wlasnie tak zrobilem (dla nich jakakolwiek zmiana jest nie do przeskoczenia, mowiac to nie mam zadnych podtekstow nacjonalistycznych :)) [wytlumaczenie polecenie copy/paste zajelo mi pol dnia]
    Dobrze, a teraz z innej bajki moze wyjasnisz mi dlaczego zostalem upomniany przez moderatora za wklejenie zalacznika ?? mysle ze on wyglada dokladnie tak samo jak Twoj ?? Jestem nowicjuszem wiec prosze wytlumacz :)
    Jesli ktos sie zapyta, czy przeczytalem link, ktory zostal doklejony do "upomnienia" - to przeczytalem go wielokrotnie :) Pozdrawiam

    0
  • #9 08 Lis 2008 19:44
    adamas_nt
    Moderator Programowanie

    Ad. wklejanie zdjęć. Domyślam się, że to Moderator poprawił wygląd i dlatego dopisał uwagę. Być może mylisz załącznik z obrazkiem.
    Ad. Irlandczycy. Współczuję. Ale skoro pierwotna wersja arkusza im odpowiada i chce im się tracić czas na sprawdzanie czy obliczenia są correct...
    Dla mnie był to przyjemny trening szarych komórek i poznanie sposobu rozwiązywania podobnych problemów przez innych a szczególnie kol. marek003.
    Być może przyda się kilka naszych uwag jeszcze komuś "silnie zarażonemu" Excelem.
    Pozdrawiam

    0
  • #10 08 Lis 2008 20:58
    zwieszu
    Poziom 9  

    co do tego w jaki sposob dodalem zalacznik, moge byc pewnien, ze w podgladzie byla dokladnie taka wersja jaka jest w tym poscie, wiec nie wiem co moglo byc przyczyna Jego uwagi, ale moga byc pewni ze nastepnym razem bede uwazal :).
    Bardzo dziekuje Wam za wasze opinie i podpowiedzi jestem wdzieczny za udzielone rady i bardzo sie ciesze ze moglem poznac " silnie zarazonych excelem" :)
    Moge zapowiedziec, ze jesli pojawial sie jakies kolejne problemy bede pisal :)
    dziekuje i pozdrawiam raz jeszcze

    0