A1=5
B1=6
C1=se((a1=5 e b1=6);"VERO";"FALSO");
Le formule funzionano bene ma una volta salvato il file in .ods e riaperto
le formule diventano cosě:
C1=SE((A1=5 AND B1=6);"VERO";"FALSO");
con Err:508 nella cella.
Ho risolto banalmente il problema cambiando tutti gli "E" con la
moltiplicazione "*" ma č un comportamento davvero strano. Tra l'altro il
problema non č riproducibile sempre, alcune volte lo fa, altre no.
Uso OpenOffice 3.0.1 su Vista 32 HP SP1.
Sembrerebbe un problema di traduzione degli operatori in italiano ma visto
che non lo fa sempre volevo sapere se stavo facendo io qualcosa di non
corretto.
Saluti
WildEagle
Prova cosě:
=SE(E(A1=5; B1=6);"VERO";"FALSO")
Ciao VitT
Io avevo già notato che la sintassi corretta prevede l'uso delle parentesi:
C1=se(((a1=5) e (b1=6));"VERO";"FALSO");
>
> Prova cosě:
>
> =SE(E(A1=5; B1=6);"VERO";"FALSO")
>
> Ciao VitT
>
>
Si, la sintassi corretta del comando č quella con le parentesi. Tuttavia il
mio problema era un altro (ora non lo sta facendo piů dopo un riavvio) e
consisteva nel fatto che mi cambiava la E con AND. Misteri.
Grazie dei consigli (questo e gli altri di quando lurko)
WildEagle
> Tuttavia il
> mio problema era un altro (ora non lo sta facendo piů dopo un riavvio) e
> consisteva nel fatto che mi cambiava la E con AND. Misteri.
A me la tua prima sintassi proprio non funziona in nessun caso.
--
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Scarica "OpenOffice.org 3.0 Soluzioni a raccolta", molto piů di semplici
FAQ! http://it.openoffice.org/doc/manuali/
Come già detto la sintassi 'da manuale' in realtà è:
=SE(E(A1=5; B1=6);"VERO";"FALSO")
ma notare che funziona anche questa:
C1=se((a1=5 e (b1=6));"VERO";"FALSO")
(notare la mancanza di parentesi nel primo operatore)
Mentre non funziona togliendo le parentesi che seguono l'operatore 'e'.
Si direbbe stranamente che l'analizzatore sintattico non faccia
distinzioni tra operatore AND e funzione AND.
Infatti si aspetta sempre la parentesi aperta.
La cosa strana è che funziona anche come operatore ...
Mi piacerebbe capire come è gestita la cosa perché la logica mi sfugge
in parte.
Sembra quasi che la funzione AND oltre a calcolare il risultato sulla
base dei parametri esegua l'AND logico sul risultato che lo precede e
questo ne giustificherebbe la parziale possibilità di uso come operatore.
Vabbuò ... non ho capito.
Operando ... ovviamente.
L'altra ipotesi č che l'analizzatore sintattico sia stato pensato per
distinguere operatore dalla funzione ma per un bug viene segnalato un
errore di sintassi a causa della mancanza di parentesi dopo una presunta
funzione.
Nessuno ha excel sotto mano per vedere come si comporta?
> ((a1=5 e (b1=6))
Così non si crea ambiguità per l' operatore AND, invece se togli la
parentesi dopo la e (AND) si crea una ambiguità perchè AND tenta di
valutare 5 AND b1
Cordiali saluti. Luca
--
Per una verifica sui post da me scritti: postal...@katamail.com
Normalmente l'operatore logico ha priorità minore di quello di confronto.
probabilmente č giusta quest'ultima ipotesi perchč questa da errore
=SE(( A1=0 E (B1=6;5=5));"VERO";"FALSO")
quindi l'improbabile prima ipotesi č sicuramente falsa
Perchè di confronto, b1 Assegna 6 (b1=6)
Prego?
>
>> Perchᅵ di confronto, b1 Assegna 6 (b1=6)
>
> Prego?
Non ho capito perchᅵ di di confronto. Luca
In una espressione il simbolo di '=' è un operatore di confronto.
Solo il primo uguale della cella viene interpretato come assegnazione
della formula alla cella.
Vale così anche in molti linguaggi di programmazione quando non usano
simboli diversi per l'assegnazione ed il confronto.
Comunque tutto ciò mi crea un po' di confusione ...
Io di Calc e formule non ne so niente, dato il mio astio per i fogli di
calcolo, sta all' evidenza dei fatti che AND togliendo la parentesi -->(bi
ritorna un errore.
Tanto per chiarire, non vorrei sembrasse una presa di posizione contro di
te , quello che voglio dire è che secondo me il comportamento di OOo
rientra nella norma, meglio se con una parentesi in più, cioe' per me non è
un bug.
Cordiali saluti. Luca
Si parla ... ognuno dice la sua ...
> quello che voglio dire è che secondo me il comportamento di OOo
> rientra nella norma, meglio se con una parentesi in più, cioe' per me non è
> un bug.
Ho provato su un excel 2000.
L'unica sintassi ammessa usa le funzioni.
Gli operatori AND e OR non sembrano esistere.
>
>> Tanto per chiarire, non vorrei sembrasse una presa di posizione contro di
>> te
>
> Si parla ... ognuno dice la sua ...
Si, ma siccome ero gia intervenuto in un altro tuo post ho preferito
chiarire, altrimenti và a finire che sembra che aspetto un tuo intervento
per trovare il 'pelo nell' uovo', perchè così _non è_ .
Cordiali saluti Luca
No, sia in Calc che in Excel si possono usare gli operatori
aritmetici. Il "*" per l'AND e il "+" per l'OR che danno come
risultato 1 se Vero, 0 se Falso (e funziona dentro la funzione SE).
Ovviamente occorre mettere le parentesi perché se no hanno la priorità
sull' "=".
Ciao,
--
MC
Grazie per la precisazione.
Per� come tu hai gi� specificato gli operatori sono a tutti gli effetti
aritmetici anche se (assumendo che un un numero maggiore di zero � vero)
possono svolgere le funzioni di operatore logico.
Se scriviamo in una cella:
= (2=2)O(1=1)
Otteniamo un effetto diverso da:
= (2=2)+(1=1)
Io comunque mi riferivo agli operatore logici in senso stretto (scritti
come E ed O) che in OOo sembrano esistere pur con la limitazione della
parentesi mentre in excel danno un errore di sintassi.
La questione della parentesi a me puzza di bug ... come se ci fosse una
sovrapposizione, durante l'analisi sintattica, dell'uso del simbolo come
operatore e (contemporaneamente) come funzione logica.
"martello" <"martelozzo1(martello)"@tin.it> ha scritto nel messaggio
news:49a28b2b$0$1111$4faf...@reader3.news.tin.it...
>
>> No, sia in Calc che in Excel si possono usare gli operatori
>> aritmetici. Il "*" per l'AND e il "+" per l'OR che danno come
>> risultato 1 se Vero, 0 se Falso (e funziona dentro la funzione SE).
>> Ovviamente occorre mettere le parentesi perché se no hanno la priorità
>> sull' "=".
>
Si ho ricontrollato e in origine in calc avevo messo le parentesi
correttamente ma alla chiusura e alla successiva riapertura del documento
calc mi sostituiva le E con AND dando errore. Ho risolto proprio con il * al
posto dell'AND.
> Grazie per la precisazione.
> Però come tu hai già specificato gli operatori sono a tutti gli effetti
> aritmetici anche se (assumendo che un un numero maggiore di zero è vero)
> possono svolgere le funzioni di operatore logico.
> Se scriviamo in una cella:
>
> = (2=2)O(1=1)
>
> Otteniamo un effetto diverso da:
>
> = (2=2)+(1=1)
>
L'effetto è sempre quello di dare valore logico "VERO" in quanto il valore
che ottieni è diverso da 0. Con il * hai 0 se una delle due condizioni non è
verificata mentre ottieni diverso da 0 (1 credo) quando sono verificate
entrambe. L'importante è che il valore sia diverso da 0 per essere "VERO".
Tralasciamo che ci sono linguaggi per cui 0=TRUE e !=0 FALSE :-)
> Io comunque mi riferivo agli operatore logici in senso stretto (scritti
> come E ed O) che in OOo sembrano esistere pur con la limitazione della
> parentesi mentre in excel danno un errore di sintassi.
>
Stranamente sulla versione italiana di OOo se uso AND al posto di E in una
formula mi da errore.
> La questione della parentesi a me puzza di bug ... come se ci fosse una
> sovrapposizione, durante l'analisi sintattica, dell'uso del simbolo come
> operatore e (contemporaneamente) come funzione logica.
Qualche bug potrà pure esserci, ma io ho forzato un po' la mano a OOo perché
ho 7 SE innestati uno nell'altro...
Ciao
WildEagle