Nie mogę zaokrąglić do całkowitej...

Użytkowanie arkusza kalkulacyjnego
WindEater
Posty: 10
Rejestracja: śr wrz 24, 2014 1:52 pm
Lokalizacja: Zielona Góra

Nie mogę zaokrąglić do całkowitej...

Post autor: WindEater »

Witam,
proszę Was o pomoc ponieważ nie mogę sobie poradzić z zaokrągleniem do liczby całkowitej.

Komórka z formułą: =JEŻELI('Formularz Bazowy'.F24="NIE";(JEŻELI('Formularz Bazowy'.T24="PA 39";'Formularz Bazowy'.L24/39+0,5;"")&JEŻELI('Formularz Bazowy'.T24="PA 43";'Formularz Bazowy'.L24/43+0,5;"")&JEŻELI('Formularz Bazowy'.T24="M 328-N";'Formularz Bazowy'.L24/37+0,5;"")&JEŻELI('Formularz Bazowy'.T24="MY 442";'Formularz Bazowy'.L24/42+0,5;""));"")
zwraca mi liczbę np: 26,1452106410256.
Chciałbym aby w następnej komórce zaokrąglić ten wynik do liczby całkowitej.
Niestety nie działa formatowanie komórki do liczby bez zer wiodących i bez zer po przecinku, jak i nie działa żadna z funkcji ZAOKR. która w każdym przypadku zwraca mi #ARG :( :( :(

Jakieś pomysły???

Z góry dziękuję, WE.
LO_6.0.2 na WIN 10 HOME 64 bit
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Nie mogę zaokrąglić do całkowitej...

Post autor: Jan_J »

Przytoczyłeś bardzo skomplikowaną formułę, która oblicza pewien ułamek. Jeżeli formularz ma być na lata, warto ją uprościć, by stała się czytelna. To ułatwi poprawki. Ale w tej chwili nie jest ważna.
Nie przytoczyłeś formuły zaokrąglającej, która ponoć nie działa. Są dwa możliwe powody:
1. albo formuła zbudowana jest źle -- czego nie wiemy bo jej nie widzimy,
2. albo ma niedobre argumenty. Co do adresu, też nie wiemy. Co do wartości -- gdyby to o czym piszesz nie było liczbą tylko tekstem, wystąpiłby błąd #Value a nie #Arg.
Więc chyba warto przytoczyć formułę, albo nawet maksymalnie uproszczoną wersję formularza, pozbawioną wszelkich poufnych baz danych, za to z wciąż istotnym błędem. Czyli przykład minimalny.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Awatar użytkownika
Jermor
Posty: 2255
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Nie mogę zaokrąglić do całkowitej...

Post autor: Jermor »

Jest jeszcze jeden problem. Jakiego Calc używa autor? Opis kodów błędów w pomocy Apache OpenOffice pod kodem 519 ma alternatywny symbol #VALUE!, natomiast ten sam kod w Libre Office ma symbol #ARG!. Oba opisy objaśniające są takie same:
Formuła zwraca wartość, która nie odpowiada jej definicji, lub zawiera odwołanie do komórki, która zawiera tekst zamiast liczby.
Co sugeruje, że gdzieś jest najprawdopodobniej tekst.
Sama formuła zdecydowanie do uproszczenia.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
WindEater
Posty: 10
Rejestracja: śr wrz 24, 2014 1:52 pm
Lokalizacja: Zielona Góra

Re: Nie mogę zaokrąglić do całkowitej...

Post autor: WindEater »

Witam,
dzięki za odpowiedzi. Domyślam się, że formułę można skrócić jednak jest w niej dużo zależności i nie wiem jak ogarnąć to skrócenie.
Ważne, że działa i wylicza mi to czego oczekuję...
Co do odwołania do komórki, która zawiera tekst - wszystko sprawdziłem! Wszystkie zawierają liczby lub funkcje (w efekcie również liczby).
Wersję OO zaktualizowałem w podpisie.
Nie rozumiem, dlaczego po sformatowaniu komórki do liczby bez zer wiodących i po przecinku dalej wyświetla mi 13 miejsc po przecinku?
Sprawdziłem tak dla pewności - nie pomaga format WALUTA, ani PROCENTY, ani żaden inny. Nic się nie zmienia... Dlaczego???
Pozdrawiam, WE
LO_6.0.2 na WIN 10 HOME 64 bit
Awatar użytkownika
Jermor
Posty: 2255
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Nie mogę zaokrąglić do całkowitej...

Post autor: Jermor »

Przydałby się "kawałek" tego arkusza do analizy. Podejrzewam, że wyświetlany wynik jest tekstem. Tylko wtedy przypisanie formatowania nie oddziałuje na zawartość komórki.
Co skrócenia wyrażenia. Jeśli T24 w Formularzu bazowym może zawierać tylko te cztery kody: M 328-N, MY 442, PA 39, PA 43
to mozna gdzieś na boku w tabeli utworzyć dwukolumnową macierz:

Kod: Zaznacz cały

M 328-N	37
MY 442 	42
PA 39  	39
PA 43  	43
i całe wnętrze pierwszego JEŻELI zapisać np. tak
L24/WYSZUKAJ.PIONOWO(T24;podana wyżej macierz;2;0)+0,5
albo aby pozbyć się pierwszego JEŻELI wyrażenie zapisać tak:

Kod: Zaznacz cały

=(F24="NIE")*(L24/WYSZUKAJ.PIONOWO(T24;podana wyżej macierz;2;0)+0,5)
godząc się, że dla F24<>"NIE" wynik będzie zerowy a nie pustą komórką.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Awatar użytkownika
Jermor
Posty: 2255
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Nie mogę zaokrąglić do całkowitej...

Post autor: Jermor »

JEST TEKSTEM. Dopiero to zauważyłem. To nie jest JEŻELI zagłębiane jedno w drugim lecz JEŻELI łączone działaniem "&", czyli działaniem łączenia tekstów. Więc wynikiem jest wartość tekstowa, mimo, że wygląda jak liczba.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Awatar użytkownika
Jermor
Posty: 2255
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Nie mogę zaokrąglić do całkowitej...

Post autor: Jermor »

Jeszcze jedna ciekawostka.
Funkcja ZAOKR w Libre Office użyta w stosunku do ciągu tekstowego mającego postać prawidłowo wyglądającej liczby (a więc np 1234,567 albo 1 234,567 albo ""&"1 234,567"&"") przekształca ten ciąg na wartość liczbową i zwraca prawidłowy wynik.
Ta sama funkcja w Apache OpenOffice w tej samej sytuacji zawsze zwraca wartość błędu #ARG!
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
WindEater
Posty: 10
Rejestracja: śr wrz 24, 2014 1:52 pm
Lokalizacja: Zielona Góra

Re: Nie mogę zaokrąglić do całkowitej...

Post autor: WindEater »

Hey,
dziękuję Jermor za trafne i wyczerpujące podpowiedzi. "Dobrze mądrego posłuchać..."
Przeanalizowałem Twoją uwagę odnośnie LO i przeszedłem na Libre. Faktycznie pracuje się lepiej i łatwiej.
Jak na razie poradziłem sobie ze wszystkim. Pewnie jeszcze nie raz będę nadużywał Waszej wiedzy i dobroci...
Dziękuję jeszcze raz!!!
Pozdrawiam, WE
LO_6.0.2 na WIN 10 HOME 64 bit
esima
Posty: 11
Rejestracja: wt lut 07, 2017 10:02 am

Re: Nie mogę zaokrąglić do całkowitej...

Post autor: esima »

hej,
na tym forum był już poruszany identyczny problem w wątku "Nie diałająca funkcja..." rozpoczętego przez przez AllRounder » So lut 04, 2017 2:05 pm. Nawet funkcja wyglądała identycznie i również pracowaliście na Apache. Przypadek... nie sądzę :lol: .

Tak jak w tamtym wątku proponuję stworzenie tabeli (ja tak mam), którą zaproponował Jermor.
Jermor pisze:Formularzu bazowym może zawierać tylko te cztery kody: M 328-N, MY 442, PA 39, PA 43
to mozna gdzieś na boku w tabeli utworzyć dwukolumnową macierz:

Kod: Zaznacz cały

M 328-N	37
MY 442 	42
PA 39  	39
PA 43  	43
i całe wnętrze pierwszego JEŻELI zapisać np. tak
L24/WYSZUKAJ.PIONOWO(T24;podana wyżej macierz;2;0)+0,5
albo aby pozbyć się pierwszego JEŻELI wyrażenie zapisać tak:

Kod: Zaznacz cały

=(F24="NIE")*(L24/WYSZUKAJ.PIONOWO(T24;podana wyżej macierz;2;0)+0,5)
godząc się, że dla F24<>"NIE" wynik będzie zerowy a nie pustą komórką.
Dodatkowo zostawiłbym sobie kilka dodatkowych linijek pod spodem. Takie rozwiązanie pozwoli na "rozbudowę" arkusza o nowe systemy. Natomiast kolejne kolumny mogą zawierać inne dane, które można potem gdzieś wykorzystać np. wagę/m2.
LibreOffice 5.3 na Windows 10 i macos
zulu144
Posty: 92
Rejestracja: sob gru 12, 2009 3:27 am

Re: Nie mogę zaokrąglić do całkowitej...

Post autor: zulu144 »

Jermor pisze:Jeszcze jedna ciekawostka.
Funkcja ZAOKR w Libre Office użyta w stosunku do ciągu tekstowego mającego postać prawidłowo wyglądającej liczby (a więc np 1234,567 albo 1 234,567 albo ""&"1 234,567"&"") przekształca ten ciąg na wartość liczbową i zwraca prawidłowy wynik.
Ta sama funkcja w Apache OpenOffice w tej samej sytuacji zawsze zwraca wartość błędu #ARG!
Jak czytam takie rzeczy to mnie skręca.
A czy jak tekst podobny jest do liczby to sortowanie jest po tekście czy pseudo tekstowej liczbie ?
Apache niech nie bierze przykładu z EXCELA jak Libre i niech wywala nadal błąd.
AOO 4.1.7 na WIN7; LO 6.3.2 portable
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Nie mogę zaokrąglić do całkowitej...

Post autor: Jan_J »

zulu144 pisze:Jak czytam takie rzeczy to mnie skręca.
A czy jak tekst podobny jest do liczby to sortowanie jest po tekście czy pseudo tekstowej liczbie?
+1
Odpowiedź nawet jeśli jest prosta, to niesatysfakcjonująca. Więc skręca i tak.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
zulu144
Posty: 92
Rejestracja: sob gru 12, 2009 3:27 am

Re: Nie mogę zaokrąglić do całkowitej...

Post autor: zulu144 »

Jan_J pisze:
zulu144 pisze:Jak czytam takie rzeczy to mnie skręca.
A czy jak tekst podobny jest do liczby to sortowanie jest po tekście czy pseudo tekstowej liczbie?
+1
Odpowiedź nawet jeśli jest prosta, to niesatysfakcjonująca. Więc skręca i tak.
+1 prawidłowo uzyskane powinno być przez format liczby +0
a przypadku zawartości komórki uzyskanej z formuły przez formatowanie warunkowe z definicją nowego stylu z formatem liczby +0
kod pocztowy przez format liczby 00-000
itd.
Nie ważne, że calc w Libre niektóre wartości tekstowe potrafi interpretować czasami jako liczby, bo jest to wykorzystanie interpretatora danych specyficzne dla niektórych wersji Calca.
Zapewne też taka interpretacja danych jest tylko dla wybranych funkcji i formuł i trzeba być tego świadomym.
AOO 4.1.7 na WIN7; LO 6.3.2 portable
ODPOWIEDZ