Moje doświadczenia z Excelem, Accesem i programowaniem w VBA

Wpisy z tagiem: dzielenie

czwartek, 28 lutego 2013

Pod jedną  ze starych notek pojawił się komentarz tej treści:

=JEŻELI(MOD(954,04;56,12)=0;"OK";"ERROR")
Dlaczego ta formuła daje wynik ERROR?

Autor komentarza ma rację - funkcja powinna pokazać wynik "OK", a nie "ERROR". Dlaczego tak nie jest?  Dlatego, ze zero w Excelu wcale nie zawsze jest zerem. Niestety.

Rozbierając tę funkcję na poszczególne elementy - widzimy warunek:
Jeżeli reszta z dzielenia (czyli funkcja MOD) liczb 954,04 i 56,12 jest równa zero, to wynik ma być "OK", w przeciwnym przypadku: "ERROR". Sprawdzając wynik na kalkulatorze możemy zobaczyć, że 954,04 / 56,12 = 17 - czyli reszta z dzielenia jest równa zero.

Niestety, z zerem w Excelu są czasem problemy - zero nie zawsze jest zerem. Dokładnie rzecz biorąc - wynik obliczeń arytmetycznych nie zawsze jest dokładny. Różnice są bardzo małe, kilkanaście miejsc po przecinku, ale jednak są. Wynika to z faktu zapisywania wartości w skoroszycie Excela. W praktyce oznacza to, że "w Excelu tak już po prostu się zdarza".

W opisywanym przypadku widać to już w kreatorze funkcji:

kreator funkcji 

kliknij na obrazek, aby go powiększyć

Reszta pozostała z dzielenia nie jest równa zero - na piętnastym miejscu po przecinku jest liczba 7.

Jak sobie z tym poradzić? Korzystając z funkcji arytmetycznych, bezpieczniej jest w takich przypadkach wpisać funkcję np.:

=JEŻELI(MOD(954,04;56,12)

lub skorzystać z funkcji zaokrąglania Zaokr()

 

 

 

 


 

Kurs Excel w praktyce

wtorek, 01 marca 2011

Funkcja QUOTIENT jest jedną z matematycznych funkcji Excela związanych z dzieleniem. W wyniku jej działania otrzymujemy część całkowitą dzielenia, a więc jest niejako uzupełnieniem funkcji MOD.
Konstrukcja funkcji wymaga dwóch argumentów:
=QUOTIENT(Dzielna;Dzielnik)

funkcja QUOTIENT 

 

Jeżeli któryś z argumentów nie jest liczbą - wynik działania funkcji będzie błędem #Arg! . Dodatkowo - Dzielnik musi być różny od  zera.

Funkcja QUOTIENT występuje standardowo w wersjach Excela 2007 i wyższych. W Excelu 2003 wymaga wcześniejszego zainstalowania dodatku Analysis ToolPak. Dostępny jest w menu Narzędzia --> Dodatki.

 

czwartek, 12 sierpnia 2010

Funkcja MOD w VBA tak naprawdę nie jest funkcją tylko operatorem. Podobnie jak jej odpowiednik w Excelu (funkcja MOD) - zwraca resztę z dzielenia dwu liczb.

Public Function MojaFunkcja(Liczba, Dzielnik)

MojaFunkcja = Liczba Mod Dzielnik

End Function

 

środa, 11 sierpnia 2010

Funkcja MOD(Liczba,Dzielnik) zwraca w wyniku działania resztę z dzielenia dwóch liczb.

funkcja MOD

Oczywiscie Dzielnik musi być różny od zera - matematyka ma swoje prawa. 

Odpowiednikiem w VBA jest także MOD, ale nie jest to funkcja VBA, a operator.

Dzielenie w Excelu nie jest osobną funkcją wewnętrzną. Wykorzystuje się tu po prostu operator "/". Działanie wpisujemy bezpośrednio w komórce po wpisaniu znaku równości:

dzielenie w Excelu

Po wpisaniu formuły wystarczy zatwierdzić Enter i wynik gotowy.

W VBA postępujemy identycznie. Też nie ma oddzielnej funkcji, wykorzystujemy ten sam operator.

| < Listopad 2017 > |
Pn Wt Śr Cz Pt So N
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      


Książki warte polecenia
zobacz szczegóły...


A tu oferta na dziś:





ministat liczniki.org



Napisz do mnie!