Skocz do zawartości
860lacov

Jak Ustawić Własne Sposoby Zaokrąglania W Excel'u

Rekomendowane odpowiedzi

Czy da się w excel'u ustawić tak żeby liczby były zaokrąglane w ten sposób, że np.

 

4.45 będzie zaokrąglany do 4.4

4.451 będzie zaokrąglany do 4.5

4.35 będzie zaokrąglany do 4.4

 

czyli w przypadku kiedy na końcu jest tylko 5 to program zaokrągli poprzednią do parzystej, a kiedy będzie 5 i coś jeszcze to zaokrągli w górę.

Chcę sobie zrobić taką mini tablicę do liczenia pewnego rodzaju zadania w z geodezji, ale niestety program nie może wykorzystywać 15 znaków po kropce dziesiętnej a jedynie 3.

 

Normalnie excel zawsze zaokrągla od 5 w górę, a ja przy parzystych muszę mieć w dół.

 

Może to być też dowolny inny program aby tylko miał możliwość zrobienia czegoś takiego, że np obliczę sobie 2+2=4 i to równanie będzie miało oznaczenie np #1

A w następnym zrobię #1 + 2 i program policzy, że jest to 6

 

Mam nadzieję, że w miarę jasno napisałem o co mi chodzi.

 

p.s.

Wydaje mi się, że w excelu można użyć kilku jak nie więcej formuł jeżeli, ale to będzie chyba małe przegięcie

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Może to być też dowolny inny program aby tylko miał możliwość zrobienia czegoś takiego, że np obliczę sobie 2+2=4 i to równanie będzie miało oznaczenie np #1

A w następnym zrobię #1 + 2 i program policzy, że jest to 6

Derive chociażby.

 

 

Wydaje mi się, że w excelu można użyć kilku jak nie więcej formuł jeżeli, ale to będzie chyba małe przegięcie

Poszukaj informacji o pisaniu makr w Visual Basicu po Excela. Edytowane przez Dj_AnT

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zgodnie z obietnicą:

 

Function rm (x as single) as singleDIM t1 AS INTEGERDIM t23 AS INTEGERt23 = (x * 10 - INT(x * 10)) * 100t1 = INT(x * 10) - 10 * INT(x)IF t23 > 50 THEN t1 = t1 + 1 ELSE IF t23 = 50 AND t1 MOD 2 = 1 THEN t1 = t1 + 1x = INT(x) + t1 / 10rm = xEnd Function

 

To jest funkcja użytkownika. Używasz jej np tak:

 

=rm(4,35)

 

Arkusz OO i M$: http://www.sendspace.com/file/e9576i

Edytowane przez Dj_AnT

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

prawie :)

 

kiedy chcę zaokrąglić 3.45000000000001 to zaokrągla mi się do 3.400001

W tym przypadku nie byłoby problemu, ale w innym kto wie :)

 

Problem może być jeszcze w tym, że liczby w danym zadaniu będą zaokrąglane do 3 znaków po kropce dziesiętnej, a to makro zaokrągla do 1 miejsca :)

 

Chyba zacznę się troszkę interesować tym tematem :) albo może wogóle jakimś językiem programowania.

p.s.

 

Nasz profesor powiedział nam, że napisanie programu do obliczania tego typu zadań przynosi niezłe zyski. Oczywiście w takim programie zaokrąglanie nie ma znaczenia bo dla komputera to bez różnicy.

Ja niestety licząc na kalkulatorze muszę robić tak, żeby uzyskać wymaganą dokładność przy minimalnej (co nie znaczy, że jest tego mało) ilości pracy.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Można prosić o wystawienie makra jeszcze raz

To żeś mi zabił ćwieka (ostatnio robiłem "czystkę" na serwerze). Na moim dysku już nie znajdę raczej tej funkcji, a i myśleć się nie chce. Może jutro... chyba, że hot_loopez gdzieś ma te makra.

 

 

EDIT:

 

http://mowa.home.pl/kfgz/arkusz_oo.zip

 

Parametry wywołania to liczba (pierwszy) i liczba miejsc po przecinku (drugi). Makro only Open Office compatible ;). Oczywiście te w archiwum zip. W Excelu też będzie działać, o ile wkleisz kod.

 

FUNCTION rm (x AS DOUBLE, y AS INTEGER) AS DOUBLE DIM rest AS DOUBLE DIM po AS DOUBLE DIM s AS DOUBLE DIM tmp AS DOUBLE  po = 10 ^ y s = (INT(x * po) / po - INT(x)) * po rest = x - INT(x * po) / po tmp = 5 / 10 ^ (y + 1) IF rest > tmp THEN s = s + 1 ELSE IF (rest = tmp) AND (s mod 2 = 1) THEN s = s + 1 rm = INT(x) + s / poEND FUNCTION
Edytowane przez Dj_AnT

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...