suma jeśli trzecie miejsce po przecinku ma wartość
-
- Posty: 224
- Rejestracja: pn wrz 23, 2013 2:48 pm
suma jeśli trzecie miejsce po przecinku ma wartość
w jaki sposób powinna wyglądać formuła suma.jeżeli gdy ma policzyć tylko te kwoty, gdzie trzecie miejsce po przecinku wynosi 1 np.20,001, 18,421
LibreOffice 7.6
Re: suma jeśli trzecie miejsce po przecinku ma wartość
Zakładam, że dane do zsumowania zaczynają się w kolumnie C (od C2) do jakieś nowej kolumny wpisz formułę:
kolumnę z danymi potraktowałem tak jakby był tekst. Powyższa formuła podaje 3 "literę" po przecinku, tą formułę wpisałem do kolumny F (od F2). Formuła suma.jeżeli powinna wyglądać wówczas następująco:
Można również zastosować od razu formułę macierzową:
PS. formułę macierzową zatwierdzamy ją kombinacją klawiszy CTRL + SHIFT + ENTER, lub zaznaczamy pole wyboru Macierz w Kreatorze funkcji
Kod: Zaznacz cały
=JEŻELI.BŁĄD( FRAGMENT.TEKSTU ( C2; ZNAJDŹ(","; C2)+3; 1); "--")
Kod: Zaznacz cały
= SUMA.JEŻELI(F2:F6; "1"; C2:C6)
Kod: Zaznacz cały
= SUMA.JEŻELI (JEŻELI.BŁĄD (FRAGMENT.TEKSTU (C2:C6; ZNAJDŹ(","; C2:C6)+3; 1); "--"); "1"; C2:C6)
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Re: suma jeśli trzecie miejsce po przecinku ma wartość
Sądzę, że wykorzystując formułę macierzową nieco prościej można to obliczyć w taki sposób:
=SUMA(zakres sumowania*(MOD(zakres sumowania*1000;10)=1))
czyli w jakimś realnym przykładowym obszarze np tak:
=SUMA(zakres sumowania*(MOD(zakres sumowania*1000;10)=1))
czyli w jakimś realnym przykładowym obszarze np tak:
Kod: Zaznacz cały
=SUMA(J1:J4*(MOD(J1:J4*1000;10)=1))
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.
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.
Re: suma jeśli trzecie miejsce po przecinku ma wartość
P.S do poprzedniego. Dla pewności uniknięcia błędu, wynikającego z cyfr na pozycjach dalszych niż trzecie miejsce po przecinku, formułę należałoby zapisać tak:
=SUMA(zakres sumowania*(LICZBA.CAŁK(MOD(zakres sumowania*1000;10))=1))
i jej wersja przykładowa.
=SUMA(zakres sumowania*(LICZBA.CAŁK(MOD(zakres sumowania*1000;10))=1))
i jej wersja przykładowa.
Kod: Zaznacz cały
=SUMA(J1:J4*(LICZBA.CAŁK(MOD(J1:J4*1000;10))=1))
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.
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.
Re: suma jeśli trzecie miejsce po przecinku ma wartość
a jak będzie liczba ujemna np: -10,001 ?? znowu trzeba usprawnić formułę
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Re: suma jeśli trzecie miejsce po przecinku ma wartość
Jeszcze raz przemyślałem ten temat. Problemem są zaokrąglenia wyników pośrednich. Wyniki @dentopolis są prawdopodobnie rezultatem jakichś obliczeń.
Dlatego jeżeli np. wynikiem jest 20,00082 a w rezultacie formatowania wyświetlane jest 20,001, to pobranie z tego ciągu trzeciej cyfry po przecinku (funkcją FRAGMENT.TEKSTU) zwróci 0. Stąd oba nasze rozwiązania nie są kompletne.
Moja propozycja na dziś to formuła macierzowa o postaci
=SUMA(zakres sumowania*(PRAWY(TEKST(zakres sumowania;"#0,000");1)="1"))
Dlatego jeżeli np. wynikiem jest 20,00082 a w rezultacie formatowania wyświetlane jest 20,001, to pobranie z tego ciągu trzeciej cyfry po przecinku (funkcją FRAGMENT.TEKSTU) zwróci 0. Stąd oba nasze rozwiązania nie są kompletne.
Moja propozycja na dziś to formuła macierzowa o postaci
=SUMA(zakres sumowania*(PRAWY(TEKST(zakres sumowania;"#0,000");1)="1"))
Kod: Zaznacz cały
=SUMA(J1:J4*(PRAWY(TEKST(J1:J4;"#0,000");1)="1"))
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.
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.
-
- Posty: 224
- Rejestracja: pn wrz 23, 2013 2:48 pm
Re: suma jeśli trzecie miejsce po przecinku ma wartość
Panowie dzięki za odpowiedzi, znalazłem jeszcze inny sposób, tzn w kwocie wyświetlanej do 2 miejsc po przecinku np.10,00 dodaję jedynkę jako tysięczną czyli 10,001.
wtedy funkcja sumuje wszystkie liczby gdzie trzecia cyfra to 1:
=JEŻELI(JEŻELI.BŁĄD(FRAGMENT.TEKSTU(F2;ZNAJDŹ(",";F2;1)+3;1);"--")="1";F2;"")
tylko chciałbym żeby taka komórka została sformatowana warunkowo.jaką formułę tam wpisać dla całego zakresu B2:R99?
wtedy funkcja sumuje wszystkie liczby gdzie trzecia cyfra to 1:
=JEŻELI(JEŻELI.BŁĄD(FRAGMENT.TEKSTU(F2;ZNAJDŹ(",";F2;1)+3;1);"--")="1";F2;"")
tylko chciałbym żeby taka komórka została sformatowana warunkowo.jaką formułę tam wpisać dla całego zakresu B2:R99?
LibreOffice 7.6
Re: suma jeśli trzecie miejsce po przecinku ma wartość
Uważam, że ostatnia formuła @Jermora jest najzgrabniejsza:
Formuła jest, jako formułę wpisz PRAWY(TEKST($F2;"#0,000");1)="1", (w kolumnie F znajduje się kwota na podstawie której jest formatowany wiersz), określ jakiś styl i zakres zastosowania czyli B2:R99
Jeśli zaś chodzi o formatowanie warunkowe to w warunkach wybierz:=SUMA(J1:J4*(PRAWY(TEKST(J1:J4;"#0,000");1)="1"))
Formuła jest, jako formułę wpisz PRAWY(TEKST($F2;"#0,000");1)="1", (w kolumnie F znajduje się kwota na podstawie której jest formatowany wiersz), określ jakiś styl i zakres zastosowania czyli B2:R99
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
-
- Posty: 224
- Rejestracja: pn wrz 23, 2013 2:48 pm
Re: suma jeśli trzecie miejsce po przecinku ma wartość
PRAWY(TEKST($F2;"#0,000");1)="1" przy zakresie b2:r99 działa tak, że zmienia styl całego wiersza a chciałbym tylko komórki spełniającej warunek
LibreOffice 7.6
Re: suma jeśli trzecie miejsce po przecinku ma wartość
To zamień zakres zastosowania na F2:F99
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP