Pole wyboru oraz liczenie formułą w zależności od opcji

Użytkowanie arkusza kalkulacyjnego
Paweł Poz
Posty: 3
Rejestracja: pt gru 14, 2012 1:57 pm

Pole wyboru oraz liczenie formułą w zależności od opcji

Post autor: Paweł Poz »

Witam!
Chciałbym stworzyć formułę obliczającą wynagrodzenie pracownika.
Problem polega na tym, że mam 3 różne grupy wynagrodzeń.
Chciałbym, aby pole po nazwisku było polem wyboru (lista zamknięta np. opcja A, B, C) i w zależności od wybranej opcji aby w innym polu dane zliczały się wg. różnych formuł (np. w opcji A, liczą się godziny pracownika razy 10zł, w opcji B 20zł itp).
Ktoś jest w stanie mi pomóc? :?
Open Office 3.2 / Windows 7
Jan_J
Posty: 4653
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Pole wyboru oraz liczenie formułą w zależności od opcji

Post autor: Jan_J »

W sprawie list wyboru: patrz http://forum.openoffice.org/pl/forum/vi ... f=9&t=1510 -- lista wyboru z wartościami zdefiniowanymi w warunkach poprawności komórki/obszaru; kilka wariantów
W sprawie dopasowania formuły: najprościej z warunkiem =jeżeli()
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Paweł Poz
Posty: 3
Rejestracja: pt gru 14, 2012 1:57 pm

Re: Pole wyboru oraz liczenie formułą w zależności od opcji

Post autor: Paweł Poz »

Wielkie dzięki za odpowiedź.
Mam tylko problem z tym jeżeli :crazy:
Tzn. nie stanowi dla mnie problemu wpisanie formuły gdy mam do rozróżnienia jedynie dwa warianty. Ale ja chciałbym wpisać tych wariantów przynajmniej 4...
Open Office 3.2 / Windows 7
Jan_J
Posty: 4653
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Pole wyboru oraz liczenie formułą w zależności od opcji

Post autor: Jan_J »

Używając wbudowanych funkcji możesz zagnieżdżać funkcję warunkową:
=jeżeli(test1; wartość1; jeżeli(test2; wartość2; ...))
albo
=jeżeli(test1; jeżeli(test11; ...; ...); jeżeli(test21; ...; ...))

Jak widać, brakuje operacji switch / case.

Jeżeli napiszesz sobie w Basicu (Narzędzia/Makra/Basic) funkcję postaci

Kod: Zaznacz cały

function nazwamojejfunkcji(argument1, argument2) as double
  rem tu dowolny kod Basica w czystym języku, bez odwołań API
  nazwamojejfunkcji = wartoscwynikowa
end function
to możesz jej użyć w formule.

Na przykład

Kod: Zaznacz cały

function tescik1(a as double, b as integer) as double
  rem a^b dla a >=0; w przeciwnym razie a
  if a >= 0.0 then
    tescik1 = a^b
  else
    tescik1 = a
  endif 
end function

function tescik2(a as double, b as integer) as double
  rem a^b dla a >=0; w przeciwnym razie a
  select case a
  case >= 0
    tescik2 = a^b
  case < 0
    tescik2 = a
  end select
end function
użyjesz jej po prostu =tescik1(1;2) albo =tescik1(a1;b3).

Szczegóły: http://wiki.openoffice.org/wiki/Documen ... /Branching
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Paweł Poz
Posty: 3
Rejestracja: pt gru 14, 2012 1:57 pm

Re: Pole wyboru oraz liczenie formułą w zależności od opcji

Post autor: Paweł Poz »

Działa!! :D
Nawet takiemu humaniście jak mi :-)
Wielkie dzięki!
Open Office 3.2 / Windows 7
nobody13
Posty: 10
Rejestracja: czw maja 16, 2013 4:06 pm

Re: Pole wyboru oraz liczenie formułą w zależności od opcji

Post autor: nobody13 »

Widzę, że nie tylko ja mam takie problemy. Dzięki za podpowiedź :)
ODPOWIEDZ