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