logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

EXCEL - rabat, funkcje warunkowe

AbS. 19 Lis 2014 11:32 23385 12
REKLAMA
  • #1 14145580
    AbS.
    Poziom 9  
    Posty: 39
    Ocena: 8
    Witam mam kilka wątpliwości dot. Excela. Nie proszę o gotowe rozwiązanie lecz o wskazówkę oraz wytłumaczenie co jak gdzie.

    W poleceniu pierwszym mam dopasować wysokość rabatu do kwoty zamówienia. Czyli np. od 4000zł wysokość rabatu to 1%, od 8.000 - 2% i tak dalej. Nie bardzo wiem jaki wzór zastosować.

    W poleceniu drugim natomiast mam obliczyć kwotę rabatu na podstawie kwoty zamówienia używając tylko funkcji jeżeli.


    Poza tym nie bardzo wiem co to oznacza:

    Należy pamiętać, że wygenerowany w zadaniach 1, 2 i 4 arkusz ma odpowiednio reagować na dowolne wpisane wartości. Nie należy stosować przypisania na sztywno, tylko funkcje warunkowe.

    Czyli jak stworze taką funkcję warunkową arkusz automatycznie będzie mi wszystko wyliczał?
  • REKLAMA
  • #2 14145643
    IT_ManPro
    Poziom 9  
    Posty: 14
    Ocena: 15
    Jeśli dobrze rozumiem, to rozwiązaniem problemu jest zastosowanie funkcji warunkowej JEŻELI() zagnieżdżonej na tylu poziomach, ile jest kolejnych grup rabatowych (uwaga, bo Excel ma ograniczenie liczby poziomów zagnieżdżania tej funkcji).

    Ustrzeliłem ekran i tak:
    w komórce B2 jest wpis: =JEŻELI(A2>8000; 0,02; JEŻELI(A2>4000; 0,01; 0))
    w komórce C2 jest wpis: =A2-(A2*B2)

    Taki arkusz będzie liczył automatycznie kwoty dla dowolnie wpisanej w komórce A2.

    <a title="Excel_JEZELI.jpg" href="https://obrazki.elektroda.pl/5760582100_1416394788.jpg"><img src="https://obrazki.elektroda.pl/5760582100_1416394788_thumb.jpg" alt="Excel_JEZELI.jpg" /></a>
  • #3 14145822
    AbS.
    Poziom 9  
    Posty: 39
    Ocena: 8
    =JEŻELI(B2>=4000; 0,01; JEŻELI B2>=8000; 0,02; JEŻELI B2>=12000; 0,05; JEŻELI B2>=20000; 0,07; JEŻELI B2>=24000; 0,09; JEŻELI B2>=30000; 0,10; JEŻELI B2>=50000; 0,12; JEŻELI B2>=100000;0; 0))

    Spróbowałem dostosować to pod swoje wymagania, ale coś nie wchodzi. Przy kwocie 100000tys. gdy wpiszę ,żeby wyświetlał komunikat tekstowy w komórce, poskutkuje to czymś?

    Dodano po 42 [minuty]:

    Już sobie poradziłem :), rozwiązanie było takie:

    =JEŻELI(B2>=4000; 0,01; JEŻELI(B2>=8000; 0,02; JEŻELI(B2>=12000; 0,05; JEŻELI(B2>=20000; 0,07; JEŻELI(B2>=24000; 0,09; JEŻELI(B2>=30000; 0,1; JEŻELI(B2>=50000; 0,12; JEŻELI(B2>=100000;0; 0))))))))

    Tylko jest pewien problem, mianowicie każdej wysokości kwoty zamówienia zostaje przypisana wartość 0;01
  • REKLAMA
  • #4 14145925
    marek003
    Poziom 40  
    Posty: 4607
    Pomógł: 801
    Ocena: 488
    Wg mnie punk pierweszy tego zadania dotyczy stworzenie tabeli rabatowej.
    To akurat wpisujemy z ręki zrówno wartość jak i procent rabatu dla danej wartości. Taka tabelka pozioma (dwuwierszowa) lub pionowa (dwukolumnowa).

    To właśnie będzie zmieniane bo "arkusz ma odpowiednio reagować na dowolne wpisane wartości"

    A teraz druga rzecz. Nie do końca rozumiesz chyba funkcję jeżeli()
    Jeżeli(warunek; gdy prawda; gdy fałsz)
    W takich funkcjach pomaga jak po prostu (nawet na głos) przeczytasz funkcję.

    =JEŻELI(B2>=4000; 0,01; JEŻELI B2>=8000; 0,02; JEŻELI B2>=12000 itd.

    Posłuchaj co żeś napisał:
    Jeżeli B2 jest większe równe od 4000 tysięcy to 0,01 a gdy mniejsze (od 4000) to jeżeli to samo B2 jest większe równe od 8000 tysiecy to ...

    Widzisz błąd.
    Przeciez każda kwota powyżej 4000 czyli i 8000 i 12 tys. itd spełni pierwszy warunek no chyba że bedzie mniejsza od 4000 ale wtedy nie ma poco sprawdzać dalej kolejnych jeżeli bo są większe od 4000 więc zostanie spełniony w ostatnim jeżeli warunek dla fałszu czyli 0


    No i teraz najważniejsze to co nakazał nauczyciel. te wartości nie miały byc na sztywno 8000 12000 itd i 1% 2% itd. tylko miały się odwoływać do wartości w tabeli tej którą miałeś stworzyć w pierwszym punkcie.
  • #5 14145937
    AbS.
    Poziom 9  
    Posty: 39
    Ocena: 8
    Właśnie dopiero teraz o tym pomyślałem. Stworzę tabelę rabatową, dwu kolumnową "kwota rabatu" oraz "wysokość rabatu" ale w jaki sposób program będzie mógł odrożnić jaką wysokość rabatu wybrać ?
  • #6 14145970
    marek003
    Poziom 40  
    Posty: 4607
    Pomógł: 801
    Ocena: 488
    Według mnie w tej tabeli dane wstawiasz ręcznie i tu i tu

    Dopiero w "jeżeli" uzależniasz wszystko od komórek w tej tabelce.
    Warunek jest taki że tabela ma być albo w wartościach rosnących albo malejących (nie może byc mieszana bo nie wyjdzie z zagnieżdzeniem "jeżeli" wtedy zamiast jeżeli() trzeba by było używac wyszukaj.pionowo() lub wyszukaj.poziomo() )
    Na podstawie tej tabeli masz dopiero budować jeżeli()


    edit
    ----------------
    Jeszzce jedno w 2 punkcie masz wyliczyć kwotę rabatu a nie podać rabat.

    Dla samej informacji w excelu 2007 i wyżej możesz zagnieżdzić jeżeli w jeżeli do 64 razy w excelach 2003 i poniżej jedynie do 7 razy
  • #7 14146000
    AbS.
    Poziom 9  
    Posty: 39
    Ocena: 8
    No w takim razie trochę mi wyjaśniłeś, ale gdzie w takim razie mam użyć funkcji "jeżeli"? Przecież kwotę rabatu mogę policzyć za pomocą normalnej funkcji.

    EXCEL - rabat, funkcje warunkowe

    Wszystkie wartości wpisałem z "palca".
  • REKLAMA
  • #8 14146034
    marek003
    Poziom 40  
    Posty: 4607
    Pomógł: 801
    Ocena: 488
    Jeżeli chcesz oddzielnie wykazać wysokość rabatu (C15 i poniżej) to tu będą funkcje jeżeli(). A póżniej rzeczywiście można zastosować zwykłe mnożenie.
    Ale (mi się wydawało) że punkt 2 pisze że masz wyliczyć kwotę rabatu. Więc zamiast oddzienie wykazywać procent dla danej kwoty zapłaconej przez daną firmę od razu przemnóż ja przez kwote bazowa już wewenątrz formuł jeżeli(). Ale to może być tylko moje złudzenie.
  • REKLAMA
  • #9 14146143
    AbS.
    Poziom 9  
    Posty: 39
    Ocena: 8
    Nie bardzo rozumiem, możesz podać przykład ?

    Dodano po 3 [minuty]:

    =JEŻELI(A9<=B15; 0,1; 0)

    o to chodziło ?
  • #10 14146279
    marek003
    Poziom 40  
    Posty: 4607
    Pomógł: 801
    Ocena: 488
    Mogę podać przykład ale wtedy rozwiążę zadanie za ciebie.
    Na marginesie dla 100000 nie może być "do uzgodnienia" tylko ma być procent bo nie przejdzie.

    Jeżeli chcesz po twojemu zostawić procent rabatu w kolumnie c to:
    C15 wpisz
    =jeżeli(B15>=A11;B11;jeżeli(B15>=A10;B10; i tak dalej


    Jeżeli ma być tylko kwota rabatu ( ja tak rozumiem zadanie 2 - ale mogę się mylić) to:
    W C 14 zmień nagłówek na "kwota rabatu".
    C15 wpisz
    =jeżeli(B15>=A11;B15*B11;jeżeli(B15>=A10;B15*B10; i tak dalej
    Myślę że sobie poradzisz, bo podałem ci rozwiązanie na tacy - nie wiem czy nauczyciel będzie zadowolony.


    Jeżeli będziesz chciał kopiować tą formułę w dół trzeba będzie jeszcze w paru miejscach dodać znak $
  • #11 14146702
    AbS.
    Poziom 9  
    Posty: 39
    Ocena: 8
    Już wcześniej sobie z tym poradziłem mianowicie układałem warunki rosnąco zamiast malejąco. Mimo to dzięki za pomoc.

    Teraz jest właśnie problem z tymi znaczkami moja funkcja do obliczania wysokości rabatów w procentach wygląda tak:

    =JEŻELI(B15>=A11;"do uzgodnienia";JEŻELI(B15>=A10;B10;JEŻELI(B15>=A9;B9;JEŻELI(B15>=A8;B8;JEŻELI(B15>=A7;B7;JEŻELI(B15>=A6;B6;JEŻELI(B15>=A5;B5;JEŻELI(B15>=A4;B4;))))))))

    Gdzie dodać znaczki $ żeby można było ją przeciągnąć w dół ?
  • #12 14146869
    marek003
    Poziom 40  
    Posty: 4607
    Pomógł: 801
    Ocena: 488
    Podam ci teorię bo inaczej się nie nauczysz (adres bezwzględny).
    Znak $ w adresie zatrzymuje "zmianę" numeracji wiersza lub kolumny lub obu podczas kopiowania.
    Przykład

    1. W komórce jest napisane =A$10
    jeżeli będę kopiował w bok zmieniać się będzie tylko litera kolumny adresu. Prawdę mówiąc kopiując taki przykład tylko w prawo czy lewo nie trzeba "zatrzymywać" nr wiersza bo on się na pewno nie zmieni. Na to samo wyjdzie gdy się wpisze =A10
    Jednak gdy kopiujemy taki zapis w dół/górę "A" się nie zmienia (bo kopiujemy w tej samej kolumnie) lecz gdy jest dolar przed nr wiersza nie zmieni się też nr wiersza. Bez dolara nastąpi zmiana nr wiersza. SPRAWDŹ.

    2. W komórce jest napisane =$A10
    Jeżeli kopiujemy w bok kolumna "A" pozostaje stałą/niezmienna. Kopiowanie w dół/górę zmieni nr wiersza (a blokada A przy kopiowaniu w dół/górę nie jest konieczna bo przecież kolumna się nie zmienia) SPRAWDŹ

    3. W komórce jest napisane =$A$10
    Tu podczas kopiowania za równo w bok jak i w dół czy górę nie zmieni się ani ani kolumna ani wiersz adresu. SPRAWDŹ

    Proponuje ci skopiować twoją formułę jedną komórkę w dół i dwu kliknąć na nią (lub kliknąć w pasek formuły). Wszystkie odwołania zostaną zaznaczone kolorowo.
    Sprawdź które adresy komórek zostały niepotrzebnie przesunięte i dodaj w formule wcześniejszej dolary by zablokować adresację. Skopiuj - sprawdź ponownie. Bez własnej praktyki nie nauczysz się tego. Myślę że sobie poradzisz.,

    Podpowiem że kopiujesz tylko w dół i nie wszystkie adresy trzeba zablokować.



    -------------------
    jeszcze jedno:
    Jeżeli nie mnożysz wewnątrz jeżeli(), a tylko wskazujesz adresy komórek z rabatem to zamiast na stałe wpisać "do uzgodnienia" też wskaż komórkę zawierającą ten napis (po spełnieniu warunku to co jest wprowadzone do komórki B11 pojawi się w wyniku)


    I jeszcze drugie:
    wpisz kwotę mniejszą niż 4000 zobacz co się pojawi w komórce z rabatami. Tak powinno być? czy może wprowadzić "0" ?
  • #13 14147069
    AbS.
    Poziom 9  
    Posty: 39
    Ocena: 8
    Dzięki, poradziłem sobie. Co do tej drugiej kwestii wydaje mi się ,że "0" na końcu formuły nie jest potrzebne bo i tak wychodzi 0% w pierwszym i drugim przypadku.

Podsumowanie tematu

LABEL_AI_GENERATED
W dyskusji poruszono zagadnienia dotyczące obliczania rabatów w programie Excel. Użytkownik miał wątpliwości dotyczące zastosowania funkcji warunkowej JEŻELI() do przypisania wysokości rabatu w zależności od kwoty zamówienia. Uczestnicy sugerowali zagnieżdżanie funkcji JEŻELI() w celu określenia rabatów dla różnych progów kwotowych oraz tworzenie tabeli rabatowej, która umożliwiłaby automatyczne obliczenia. Wskazano również na konieczność użycia adresów bezwzględnych ($) w formułach, aby umożliwić ich kopiowanie w dół. Użytkownik ostatecznie zrozumiał, jak skonstruować formuły oraz jak poprawnie zorganizować dane w arkuszu.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA