Składnia funkcji COUNTIF

Użytkowanie arkusza kalkulacyjnego
bogdans
Posty: 43
Rejestracja: wt paź 12, 2010 4:27 pm

Składnia funkcji COUNTIF

Post autor: bogdans »

Składnia opisana tutaj https://wiki.openoffice.org/wiki/Docume ... F_function nie działa. Komunikat programu:
BASIC syntax error Unexpected symbol: ;.
Po zamianie ";" na "," komunikat trochę się zmienia:
Unexpected symbol: ,.
Windows XP SP3, ApacheOpenOffice 3.4.0 i LibreOffice 4.1.5.3
OpenOffice 3.2.1 na Windows XP
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: Składnia funkcji COUNTIF

Post autor: belstar »

U mnie jest OK i w AOO i w LO, pomijając angielską składnie.

Kod: Zaznacz cały

=LICZ.JEŻELI(C2:C8; ">=20")
LibreOffice 5.1.2.2 Ubuntu 16 LTS
bogdans
Posty: 43
Rejestracja: wt paź 12, 2010 4:27 pm

Re: Składnia funkcji COUNTIF

Post autor: bogdans »

Dzięki, ale odpowiedź jest nie temat. Pytam o funkcję COUNTIF z Basica.
OpenOffice 3.2.1 na Windows XP
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: Składnia funkcji COUNTIF

Post autor: belstar »

Sorry, ale twoje pytanie i wstawiony link jest nie korespondują ze sobą. Wstawiam przykład wykorzystania funkcji arkuszowej e kodzie basica.

Kod: Zaznacz cały

Function getCountA(arkusz)
	oFunct = createUnoService( "com.sun.star.sheet.FunctionAccess" )
	oRange = arkusz.getCellRangeByName("B1:B300")
	getCountA = oFunct.callFunction("COUNTA" , ARRAY(oRange)) 
End Function
Musisz szukać info o metodzie callFunction
LibreOffice 5.1.2.2 Ubuntu 16 LTS
Jan_J
Posty: 4583
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Składnia funkcji COUNTIF

Post autor: Jan_J »

bogdans pisze:Składnia opisana tutaj https://wiki.openoffice.org/wiki/Docume ... F_function nie działa. Komunikat programu:
BASIC syntax error Unexpected symbol: ;.
Wskazana dokumentacja dotyczy funkcji z formuł, nie z Basica. Belstar wskazał, jak opakować jej wywołanie w kod Basica.
JJ
LO (24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
bogdans
Posty: 43
Rejestracja: wt paź 12, 2010 4:27 pm

Re: Składnia funkcji COUNTIF

Post autor: bogdans »

Myślałem, że funkcja COUNTIF jest z Basica => automatycznie przyjąłem, że ta dokumentacja dotyczy Basica. Kod podany przez Belstara nie rozwiązuje mojego problemu. Funkcja COUNTIF wymaga dwóch argumentów (zakresu i szukanej wartości). Znalazłem informację jak do callFunction przekazać dwa argumenty w skryptach pythonowskich, nie znalazłem informacji jak to zrobić w Basicu.
OpenOffice 3.2.1 na Windows XP
Jan_J
Posty: 4583
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Składnia funkcji COUNTIF

Post autor: Jan_J »

bogdans pisze:Znalazłem informację jak do callFunction przekazać dwa argumenty w skryptach pythonowskich, nie znalazłem informacji jak to zrobić w Basicu.
Jak dla mnie, pakując je w Array o długości 2, czy ogólniej n elementów. Na przykład

Kod: Zaznacz cały

   wynik = oFunct.callFunction("COUNTIF" , ARRAY(oRange, 122))
   wynik = oFunct.callFunction("COUNTIF" , ARRAY(oRange, ">7"))
   wynik = oFunct.callFunction("COUNTIF" , ARRAY(oRange, komorka.getValue()))
Btw., Python jest łatwiejszym i ładniejszym językiem niż Basic.
JJ
LO (24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
bogdans
Posty: 43
Rejestracja: wt paź 12, 2010 4:27 pm

Re: Składnia funkcji COUNTIF

Post autor: bogdans »

Dzięki.
Btw 1. Wiem, na dodatek Pythona znam dużo bardziej niż Basic.
Btw 2. Coś jest żle z bezpieczeństwem makr (mam ustawiony poziom średni). Jeśli przy otwieraniu pliku wyrażę zgodę na uruchamianie makr, a plik zawiera błędne makro, to jedynym sposobem wyjścia z pętli komunikatów o błędzie jest użycie przycisku na obudowie. Jeśli nie wyrażę zgody, to nie mogę (po poprawieniu) testować makra.
OpenOffice 3.2.1 na Windows XP
ODPOWIEDZ