Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 2871 Skopiuj do schowka Blad dzielenia przez zero
Autor Wiadomość
jedi
[Usunięty]

Wysłany: 12-09-2007, 13:30   Blad dzielenia przez zero

Witam mam pewien problem z tabela ktora ktorej zadaniem jest wyliczanie naleznosci za rozne media prad, gaz w zaleznosci od zajmowanej powierzchni w m2. Tak wiec przykladowo majac 10 pomieszczec biurowych kazdy wynajmujacy placi pracentowa czesc rachunku zbiorczego, przyjmijmy ze rachunek wynosci 1000 pl a laczna powierzchnia biur to 100m2. Pomieszczenie pierwsze zajmuje 15 m2 co stanowi 15% i ma do zaplaty 150 pl. Proste i logiczne. Problemy zaczynaja sie kiedy jeden z wynajmujacych oposci biuro w danym okresie rozliczeniowym. Wtedy automatycznie zmienia sie procentowy podzial i w czasie kiedy 9 pomieszczen bylo wynajetych a 1 puste rachunek jest inny. Takich wariacji z datami moze byc mnowsto jedni przychodza inni odchodza a wszystko w tym samym okresie rozliczeniowym. Z pomoca Trebora, wszystko dziala swietnie. Zalaczam plik ktory to potwierdza. W tabeli mozna zmieniac daty w dowolny sposob a wszystko wyliczane jest idealnie. Niestety chcialem ta tabelke powiekrzyc i napotkalem problem dzielenia przez zero. Trebor napisal formule ktora wylicza dzienny koszt i pozniej ten koszt sumowany jest w zaleznosci od tego ile dni ktos przebywal w biurze. Nie wiem natomiast jak dziala mechanizm ktory dolicza koszt tym ktorzy pozostali czyli po tym jak zmienil sie procentowy podzial.
Problem w tym ze po rozciagnieciu tej tabeli wszystko dziala tylko do momentu kiedy zmienie jakakolwiek date, czyli kiedy ktos oposci biuro. Tabele niedzialajaca rowniez zalaczam.
Bylbym wdzieczny jesli uzyskal bym jakas wskazowke jak sobie z tym poradzic.
Dziekuje i pozdrawiam.

Edycja : Zauwazylem ze jesli formula jest ujeta w znaki {} to nie wystepuje blad dzielenia przez zero, czy to moze miec jakies znaczenie ?

2 pliki.rar
Pobierz Plik ściągnięto 162 raz(y) 63.67 KB

ID posta: 14728 Skopiuj do schowka
 
 
bodek 


Wersja: Win Office 2019
Pomógł: 962 razy
Posty: 2765
Wysłany: 12-09-2007, 17:40   

tam masz formuły tablicowe, czyli po jakiejkolwiek edycji (np przez F2) musisz wciskając Enter mieć przytrzymane Ctrl i Shift :-)
ID posta: 14777 Skopiuj do schowka
 
 
jedi
[Usunięty]

Wysłany: 12-09-2007, 17:59   

Bodek ehhh uratowales mi zycie :D i dwa dni myslenia :D
Jak bys jeszcze zerknol jak Trebor wymyslil ze jesli jeden z lokatorow odejdzie w danym okresie rozliczeniowym roznica powstala po tej zmianie jest rozdzielana na tych ktozy pozostali. To bym normalnie dobre wino kazal wyslac :D

Pozdrawiam.
ID posta: 14778 Skopiuj do schowka
 
 
bodek 


Wersja: Win Office 2019
Pomógł: 962 razy
Posty: 2765
Wysłany: 12-09-2007, 18:01   

zerknę ale dopiero po meczu, chyba, że ktoś inny w tym czasie to zrobi :-)
_________________
Szkolenia z Excela, Power Query, Power Pivot, wizualizacje danych w Excelu, szkolenia online
ID posta: 14779 Skopiuj do schowka
 
 
jedi
[Usunięty]

Wysłany: 12-09-2007, 18:58   

Milego ogladania :) cel zamierzony osiagniety ale bezwiedne osiaganie celow jest stresujace :) wiec wyjasnienie bylo by nieocenione :D
ID posta: 14780 Skopiuj do schowka
 
 
bodek 


Wersja: Win Office 2019
Pomógł: 962 razy
Posty: 2765
Wysłany: 12-09-2007, 21:31   

No tego to jeszcze nie było, żeby jeden forumowicz tłumaczył drugiemu, co trzeci mu napisał :mrgreen:
Chciałeś masz:
zasady działania formuł, na przykładzie "nie działającego" skoroszytu:
W kolumnie G masz formułę, która sumuje zakres dni od pierwszego (kolumna K) do tylu dni ile masz w B4 (funkcja PRZESUNIĘCIE()), uważaj na zakres końca formuł
Tą kobyłę, która jest w kolumnach od K do… należy przeczytać następująco (na przkładzie K8):
Kod:
=$B$5*(JEŻELI($I8<$F$1+NR.KOLUMNY(A1);JEŻELI($F$1+NR.KOLUMNY(A1)<=$J8;$D8;0);0)/SUMA(JEŻELI($I$8:$I$61<$F$1+NR.KOLUMNY(A1);JEŻELI($F$1+NR.KOLUMNY(A1)<=$J$8:$J$61;$D$8:$D$61;0);0)))

Warunki po kolei:
najpierw te przed znakiem dzielenia/ (pokazują metraż klienta w danym dniu uzytkowania)
Kod:
=JEŻELI($I8<$F$1+NR.KOLUMNY(A1);licz dalej;0)

jeżeli data w I8<odF8+1(tutaj będzie się zmieniać na +2, +3, +4 w miarę kopiowania w prawo, czyli dla kolejnych dni od 1 poprzez 2,3,4 itd)
gdzie NR.KOLUMNY(A1)- pełni rolę licznika kolejnych dni począwszy od dnia w F1, czyli dla kolumny K da 1 dzień, dla L da 2 dzień, dla M da 3dzień itd.
wynik z formuły: PRAWDA - liczymy dalej, FAŁSZ - metraż zero, czyli pomiń klienta w obliczeniach
Kod:
JEŻELI($F$1+NR.KOLUMNY(A1)<=$J8;$D8;0)

kolejne: jeżeli data w F1+1 (plus 2,3,4…)<=od J8 czyli daty zaknończenia najmu:
wynik z formuły: PRAWDA - podstaw metraż z komórki D, FAŁSZ - na końcu formuły 0, czyli metraż =0
wynik METRAŻ KLIENTA uzyskanego jak powyżej podziel/ przez:
Kod:
SUMA(JEŻELI($I$8:$I$61<$F$1+NR.KOLUMNY(A1);JEŻELI($F$1+NR.KOLUMNY(A1)<=$J$8:$J$61;$D$8:$D$61;0)

tu się zaczyna właściwa formuła tablicowa, która działa następująco:
Kod:
SUMA(JEŻELI($I$8:$I$61<$F$1+NR.KOLUMNY(A1);licz dalej;0)

Jeżeli() w zakresie kolumny I są daty < od daty początkowej + 1 (+2, +3, +4 w miarę kopiowania w prawo)
jeśli PRAWDA licz dalej, jak FAŁSZ daj 0
Kod:
SUMA(było wcześniej;JEŻELI($F$1+NR.KOLUMNY(A1)<=$J$8:$J$61;$D$8:$D$61;0)

kolejne:
Kod:
JEŻELI( data w F1+1 (plus 2,3,4itd)<=od J8:J61; to D8:D61; jak nie to=0)

sens działania całej formuły po / jest taki:
SUMA takich z kolumny D, dla których odpowiadający mu z kolumny I ma datę <F1 + 1 (+2,3,4…) i równocześnie datę w G ma <= od daty końca (kol.J)
sumuje zatem każdy metraż dla każdego klienta z D jeżeli okres najmu mieści się w zakresie dat, czyli mamy "użytkowany" metraż dla całego obiektu
wracając wcześniej mamy zatem:
wynik METRAŻ KLIENTA podziel/ przez: … "używany" metraż dla cełego obiektu
czyli mamy % udział metrażu dla klienta w całkowitym "używanym" danego dnia metrażu
Na końcu (tak naprawdę ma początku formuły) otrzymany wynik mnoży przez cenę 1 m2, czyli B5 i otrzymujesz cenę najmu dla klienta za dzień
Oczywiście, ponieważ fomuła liczona jest dla kolejnych dni (kopiowanie w prawo, kolumny L,M,N,...), to dla każdego dnia możesz mieć inny wynik
dzielenie przez zero pojawia się w przypadku , suma metrażu "używanego" dla danego dnia = 0, czyli NR.KOLUMNY() + F1 dał więcej niż największa wartośc w kolumnie G

Na koniec dwie uwagi: musisz pamiętać o o tym, że każda z tych formuł od kol.K jest tablicowa.
Może Ci kiedyś zabraknąć kolmun w arkuszu.
p.s. ale dałem się wrobić :hamer
ID posta: 14784 Skopiuj do schowka
 
 
jedi
[Usunięty]

Wysłany: 01-10-2007, 09:39   

:oops: bodek Twoja pomoc jest nieoceniona, a moja glupota niewyobrazalna. Naprawde bardzo przepraszam z moj brak aktywnosci w stworzonym przeze mnie poscie. Tak to juz bywa ze po uzyskaniu odpowiedzi czlowiek zapomina o tym na co tak niecierpliwie oczekiwal.
Przyznaje zachowalem sie jak gowniarz :-/ to sie wiecej nie powtorzy ;-)
ID posta: 16531 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe