Discussione:
conta.se con più condizioni
(troppo vecchio per rispondere)
AndreaZ
2007-07-06 17:36:37 UTC
Permalink
E' possibile definire più di una condizione nel 2° argomento della
funzione CONTA.SE(intervallo da verificare; condizione) ?

AD ESEMPIO: CONTA.SE(a1:a20; NON appartenenza all'intervallo 5..10)

anticipati grazie.
AndreA
giovanna
2007-07-06 18:04:34 UTC
Permalink
Post by AndreaZ
E' possibile definire più di una condizione nel 2° argomento della
funzione CONTA.SE(intervallo da verificare; condizione) ?
AD ESEMPIO: CONTA.SE(a1:a20; NON appartenenza all'intervallo 5..10)
Ciao Andrea,
non ti hanno aiutato le risposte di Eliano e Bruno?
Non avresti tuttavia dovuto aprire un altro thread. Si espongono le
eventuali difficoltà anche dopo una risposta....

Prova così:
=MATR.SOMMA.PRODOTTO((A1:A20<>0)*((A1:A20<5)+(A1:A20>10)))
--
ciao
giovanna
.......................
www.riolab.org
.........................
AndreaZ
2007-07-06 18:55:22 UTC
Permalink
Post by giovanna
Post by AndreaZ
E' possibile definire più di una condizione nel 2° argomento della
funzione CONTA.SE(intervallo da verificare; condizione) ?
AD ESEMPIO: CONTA.SE(a1:a20; NON appartenenza all'intervallo 5..10)
Ciao Andrea,
non ti hanno aiutato le risposte di Eliano e Bruno?
Non avresti tuttavia dovuto aprire un altro thread. Si espongono le
eventuali difficoltà anche dopo una risposta....
=MATR.SOMMA.PRODOTTO((A1:A20<>0)*((A1:A20<5)+(A1:A20>10)))
Ti ringrazio per la soluzione propostami, ma ancora mi sfugge l'aspetto
concettuale, pur funzionando nel caso specifico. Potresti fornirmi una
soluzione per lo stesso esempio, ma nel caso dell' APPARTENENZA
all'intervallo ? (il caso precedente era per la NON appartenenza) ... La
guida di Excel per la parte matr.somma prodotto non dice, almeno per me,
nulla di utile.

ancora grazie
Norman Jones
2007-07-06 19:04:09 UTC
Permalink
Ciao Andrea,

Ciao Andrea,

'----------------
E' possibile definire più di una condizione nel 2° argomento della
funzione CONTA.SE(intervallo da verificare; condizione) ?

AD ESEMPIO: CONTA.SE(a1:a20; NON appartenenza all'intervallo 5..10)
'----------------

Prova:

=CONTA.SE(A1:A20;"<5")+CONTA.SE(A1:A20;">10")


'----------------
Post by giovanna
=MATR.SOMMA.PRODOTTO((A1:A20<>0)*((A1:A20<5)+(A1:A20>10)))
ma ancora mi sfugge l'aspetto
concettuale, pur funzionando nel caso specifico. Potresti fornirmi una
soluzione per lo stesso esempio, ma nel caso dell' APPARTENENZA
all'intervallo ? (il caso precedente era per la NON appartenenza) ... La
guida di Excel per la parte matr.somma prodotto non dice, almeno per me,
nulla di utile.
'----------------

Prova:

=CONTA.SE(A1:A20;"<=10")-CONTA.SE(A1:A20;"<5")



---
Regards,
Norman
Microsoft Excel MVP


---
Regards,
Norman
Microsoft Excel MVP
AndreaZ
2007-07-06 19:19:40 UTC
Permalink
Post by giovanna
Ciao Andrea,
Ciao Andrea,
'----------------
E' possibile definire più di una condizione nel 2° argomento della
funzione CONTA.SE(intervallo da verificare; condizione) ?
AD ESEMPIO: CONTA.SE(a1:a20; NON appartenenza all'intervallo 5..10)
'----------------
=CONTA.SE(A1:A20;"<5")+CONTA.SE(A1:A20;">10")
'----------------
Post by giovanna
=MATR.SOMMA.PRODOTTO((A1:A20<>0)*((A1:A20<5)+(A1:A20>10)))
ma ancora mi sfugge l'aspetto
concettuale, pur funzionando nel caso specifico. Potresti fornirmi una
soluzione per lo stesso esempio, ma nel caso dell' APPARTENENZA
all'intervallo ? (il caso precedente era per la NON appartenenza) ... La
guida di Excel per la parte matr.somma prodotto non dice, almeno per me,
nulla di utile.
'----------------
=CONTA.SE(A1:A20;"<=10")-CONTA.SE(A1:A20;"<5")
---
Regards,
Norman
Microsoft Excel MVP
---
Regards,
Norman
Microsoft Excel MVP
Grazie Norman, senz'altro questa (nuova e diversa) soluzione, risponde
allo scopo; tuttavia stavo cercando di acquisire la conoscenza teorica,
con l'uso delle funzioni matriciali, in particolare la
MART.SOMMA.PRODOTTO, con la soluzione prospettata da Giovanna.
Per rimanere su QUEL binario, volevo cercare di capire come funzionasse,
acquisendo un diverso esempio (quello della NON appartenneza ad un
intervallo).

Ti ringrazio comunque per la tua cortesia, auspicando una ulteriore
risposta che possa "illuminarmi".
P.S. sono anche graditi Link e/o riferimenti bibliografici, visto che la
guida in linea non approfondisce molto la questione.
ciao ed ancora grazie
Norman Jones
2007-07-06 20:26:52 UTC
Permalink
Ciao Andrea,

'-----------------
senz'altro questa (nuova e diversa) soluzione, risponde
allo scopo; tuttavia stavo cercando di acquisire la conoscenza teorica,
con l'uso delle funzioni matriciali, in particolare la
MART.SOMMA.PRODOTTO, con la soluzione prospettata da Giovanna.
Per rimanere su QUEL binario, volevo cercare di capire come funzionasse,
acquisendo un diverso esempio (quello della NON appartenneza ad un
intervallo).

Infatti la tua domanda era:

'-------------------
E' possibile definire più di una condizione nel 2° argomento della
funzione CONTA.SE(intervallo da verificare; condizione; intervallo da
sommare)?
Ti ringrazio comunque per la tua cortesia, auspicando una ulteriore
risposta che possa "illuminarmi".
P.S. sono anche graditi Link e/o riferimenti bibliografici, visto che la
guida in linea non approfondisce molto la questione.
ciao ed ancora grazie'
'-------------------

Non ho visto un riferimento alla funzione MATRA/.SOMMA.PRODOTTO.

Tuttavia e' una funzione utilissima e, per
approfondirla potresti rare una ricerca del
archivio dell'NG, utilizzando il nome della
funzione come chiave di ricerca, Oer meglio
comprendere il funzianomento teoretico della
funzione, vedi la spiegazione di Bob Phillips
sul suo sito xlDynamic:
Multiple Condition Tests
http://www.xldynamic.com/source/xld.SUMPRODUCT.html


Vedi anche J.E. McGimpsey a:

Using SUMPRODUCT() to calculate variable
rates and commissions
http://www.mcgimpsey.com/excel/variablerate.html

e

Why use -- in SUMPRODUCT formulae
http://www.mcgimpsey.com/excel/formulae/doubleneg.html


---
Regards,
Norman
Microsoft Excel MVP
Bruno Campanini
2007-07-06 19:22:06 UTC
Permalink
Post by AndreaZ
Ti ringrazio per la soluzione propostami, ma ancora mi sfugge l'aspetto
concettuale, pur funzionando nel caso specifico. Potresti fornirmi una
soluzione per lo stesso esempio, ma nel caso dell' APPARTENENZA
all'intervallo ? (il caso precedente era per la NON appartenenza) ... La
guida di Excel per la parte matr.somma prodotto non dice, almeno per me,
nulla di utile.
Dai che è molto semplice:

=SUMPRODUCT((A1:A6>=2)*(A1:A6<=5)*(A1:A6))
per valori compresi fra 2 a 5, estremi compresi.

=SUMPRODUCT((A1:A6<2)*(A1:A6>5)*(A1:A6))
per valori esterni.

Se in ambedue le formule togli *(A1:A6) anziché la
somma hai la conta.

Bruno
AndreaZ
2007-07-06 19:27:46 UTC
Permalink
Post by Bruno Campanini
Post by AndreaZ
Ti ringrazio per la soluzione propostami, ma ancora mi sfugge
l'aspetto concettuale, pur funzionando nel caso specifico. Potresti
fornirmi una soluzione per lo stesso esempio, ma nel caso dell'
APPARTENENZA all'intervallo ? (il caso precedente era per la NON
appartenenza) ... La guida di Excel per la parte matr.somma prodotto
non dice, almeno per me, nulla di utile.
=SUMPRODUCT((A1:A6>=2)*(A1:A6<=5)*(A1:A6))
per valori compresi fra 2 a 5, estremi compresi.
=SUMPRODUCT((A1:A6<2)*(A1:A6>5)*(A1:A6))
per valori esterni.
Se in ambedue le formule togli *(A1:A6) anziché la
somma hai la conta.
Bruno
TUTTO CHIARISSIMO, ora !!
grazie a tutti i rispondenti, e felice week-end!
AndreaZ
2007-07-06 19:31:44 UTC
Permalink
Post by Bruno Campanini
Post by AndreaZ
Ti ringrazio per la soluzione propostami, ma ancora mi sfugge
l'aspetto concettuale, pur funzionando nel caso specifico. Potresti
fornirmi una soluzione per lo stesso esempio, ma nel caso dell'
APPARTENENZA all'intervallo ? (il caso precedente era per la NON
appartenenza) ... La guida di Excel per la parte matr.somma prodotto
non dice, almeno per me, nulla di utile.
=SUMPRODUCT((A1:A6>=2)*(A1:A6<=5)*(A1:A6))
per valori compresi fra 2 a 5, estremi compresi.
=SUMPRODUCT((A1:A6<2)*(A1:A6>5)*(A1:A6))
per valori esterni.
Se in ambedue le formule togli *(A1:A6) anziché la
somma hai la conta.
Bruno
AHI AHI AHI !!!
=MATR.SOMMA.PRODOTTO((B3:B13<2)*(B3:B13>5))

ZERO come risultato !! spero non dubiti dei valori inseriti
nell'intervallo B3:B13 ehehe !!

answer ?
giovanna
2007-07-06 21:33:25 UTC
Permalink
Post by AndreaZ
Post by Bruno Campanini
=SUMPRODUCT((A1:A6>=2)*(A1:A6<=5)*(A1:A6))
per valori compresi fra 2 a 5, estremi compresi.
=SUMPRODUCT((A1:A6<2)*(A1:A6>5)*(A1:A6))
per valori esterni.
Se in ambedue le formule togli *(A1:A6) anziché la
somma hai la conta.
Bruno
AHI AHI AHI !!!
=MATR.SOMMA.PRODOTTO((B3:B13<2)*(B3:B13>5))
AHI AHI AHI !!! :-)
mi sa che non ti è così chiaro....
la funzione =MATR.SOMMA.PRODOTTO() somma i prodotti ottenuti da
elementi (i fattori, quindi moltiplicati tra loro) corrispondenti,
all'interno di una matrice o intervallo di dati.
Consideriamo questa ultima tua formula:
=MATR.SOMMA.PRODOTTO((B3:B13<2)*(B3:B13>5))
i fattori sono: (B3:B13<2) e (B3:B13>5)
Ognuno di questi fattori non è altro che una serie di "affermazioni"
che possono essere VERE o FALSE, esattamente
B3:B13<2) restituisce valori del
tipo:{FALSO\FALSO\VERO\FALSO\VERO\FALSO\ecc..}
così anche (B3:B13>5)può restituire:
{FALSO\VERO\FALSO\FALSO\FALSO\FALSO\ecc..}
In Excel:
VERO*VERO = 1
VERO*FALSO = 0
FALSO*FALSO = 0

Se nell'esempio moltiplichiamo esattamente gli elementi corrispondenti
otterremo una serie di prodotti uguali a zero. Torna?
Per cui anche la somma di tali prodotti è = 0

Stando così le cose il tuo esempio non può dare che zero come
risultato, in quanto un numero NON può essere allo stesso tempo <2 e >5
(mentre l'esempio di Bruno considerava numeri <5 e >2, casi possibili).

Se sono riuscita a spiegarmi, credo tu ora sia in grado di impostare
correttamente la formula, a seconda dei casi che vuoi considerare.

Nota: la mia prima soluzione, per la tua richiesta di NON appartenenza
all'intervallo, conteneva il segno + al posto del *, quindi si avevano
risultati del tipo:
VERO + FALSO = 1
FALSO + FALSO = 0
(e comunque in quel caso la soluzione di Norman era da preferirsi in
quanto non matriciale)
--
ciao
giovanna
.......................
www.riolab.org
.........................
AndreaZ
2007-07-07 14:35:38 UTC
Permalink
Post by giovanna
Post by AndreaZ
Post by Bruno Campanini
=SUMPRODUCT((A1:A6>=2)*(A1:A6<=5)*(A1:A6))
per valori compresi fra 2 a 5, estremi compresi.
=SUMPRODUCT((A1:A6<2)*(A1:A6>5)*(A1:A6))
per valori esterni.
Se in ambedue le formule togli *(A1:A6) anziché la
somma hai la conta.
Bruno
AHI AHI AHI !!!
=MATR.SOMMA.PRODOTTO((B3:B13<2)*(B3:B13>5))
AHI AHI AHI !!! :-)
mi sa che non ti è così chiaro....
la funzione =MATR.SOMMA.PRODOTTO() somma i prodotti ottenuti da elementi
(i fattori, quindi moltiplicati tra loro) corrispondenti, all'interno di
una matrice o intervallo di dati.
=MATR.SOMMA.PRODOTTO((B3:B13<2)*(B3:B13>5))
i fattori sono: (B3:B13<2) e (B3:B13>5)
Ognuno di questi fattori non è altro che una serie di "affermazioni" che
possono essere VERE o FALSE, esattamente
B3:B13<2) restituisce valori del
tipo:{FALSO\FALSO\VERO\FALSO\VERO\FALSO\ecc..}
{FALSO\VERO\FALSO\FALSO\FALSO\FALSO\ecc..}
VERO*VERO = 1
VERO*FALSO = 0
FALSO*FALSO = 0
Se nell'esempio moltiplichiamo esattamente gli elementi corrispondenti
otterremo una serie di prodotti uguali a zero. Torna?
Per cui anche la somma di tali prodotti è = 0
Stando così le cose il tuo esempio non può dare che zero come risultato,
in quanto un numero NON può essere allo stesso tempo <2 e >5 (mentre
l'esempio di Bruno considerava numeri <5 e >2, casi possibili).
Se sono riuscita a spiegarmi, credo tu ora sia in grado di impostare
correttamente la formula, a seconda dei casi che vuoi considerare.
Nota: la mia prima soluzione, per la tua richiesta di NON appartenenza
all'intervallo, conteneva il segno + al posto del *, quindi si avevano
VERO + FALSO = 1
FALSO + FALSO = 0
(e comunque in quel caso la soluzione di Norman era da preferirsi in
quanto non matriciale)
G R A Z I E, stavolta penso di avere colto l'essenza della funzione!
Quindi, e mi permetto di enunciarla senza averla prima provata, se
volessi contare (o sommare, ma a questo punto poco cambia)
l'appartenenza AD UNO di DUE intervalli (quindi una fattispecie del tipo
O(E;E) dovrei raggruppare i vettori secondo (*)+(*) con le debite
parentesi, per svolgere prima gli AND e poi il singolo OR ! ??

spero di essere nel giusto, ancora prima di provarla.

A questo punto mi permetto di sollevare un'altra piccola domanda ....
Come posso gestire condizioni in OR ESCLUSIVO (VERO, quando in presenza
di due criteri, soltanto UNO dei DUE è verificato _.... e per simmetria,
come simulo EQV (vero quando DUE criteri forniscono la medesima
risposta ? (F, F => V; V, V = v)
in attesa delle vostre risposte vi ringrazio ancora per la solerte
cortesia e per la chiarezza espositiva
Bruno Campanini
2007-07-07 15:30:50 UTC
Permalink
"AndreaZ" <***@libero.it> wrote in message news:_wNji.58806$***@twister1.libero.it...

[...]
Post by AndreaZ
A questo punto mi permetto di sollevare un'altra piccola domanda ....
Come posso gestire condizioni in OR ESCLUSIVO (VERO, quando in presenza di
due criteri, soltanto UNO dei DUE è verificato _.... e per simmetria, come
simulo EQV (vero quando DUE criteri forniscono la medesima risposta ? (F,
F => V; V, V = v)
in attesa delle vostre risposte vi ringrazio ancora per la solerte
cortesia e per la chiarezza espositiva
Non esiste XOR fra le Worksheet Functions, esiste in VBA.

Te la devi creare:

=SUMPRODUCT(((A1:A10=20)*
(B1:B10=2)+(A1:A20=2)*
(B1:B10=20))*(C1:C10))

Così hai la somma dei valori di C1:C10 in corrispondenza
degli XOR in A12:A10, B1:B10.
Se togli *(C1:C10) nei hai il solo conteggio.

Bruno
giovanna
2007-07-07 15:40:04 UTC
Permalink
Post by AndreaZ
G R A Z I E, stavolta penso di avere colto l'essenza della funzione!
Quindi, e mi permetto di enunciarla senza averla prima provata, se volessi
contare (o sommare, ma a questo punto poco cambia) l'appartenenza AD UNO di
DUE intervalli (quindi una fattispecie del tipo O(E;E) dovrei raggruppare i
vettori secondo (*)+(*) con le debite parentesi, per svolgere prima gli AND e
poi il singolo OR ! ??
Bravo! l'uso del segno * corrisponde all'uso dell'operatore E, l'uso
del segno + a quello di OR
Post by AndreaZ
A questo punto mi permetto di sollevare un'altra piccola domanda ....
Come posso gestire condizioni in OR ESCLUSIVO (VERO, quando in presenza di
due criteri, soltanto UNO dei DUE è verificato _.... e per simmetria, come
simulo EQV (vero quando DUE criteri forniscono la medesima risposta ? (F, F
=> V; V, V = v)
in attesa delle vostre risposte vi ringrazio ancora per la solerte cortesia e
per la chiarezza espositiva
belle queste due domande!
Ci stavo provando un po'...
Bruno ha dato una risposta.
Prova tu a fare degli esempi concreti. Mi cimento! :-)
--
ciao
giovanna
.......................
www.riolab.org
.........................
INFO AZ
2007-07-08 08:49:53 UTC
Permalink
Esempi "on the fly", sulla scorta del prezioso Link fornito da Norman,
poterbbero essere i seguenti:
In una matrice con vettori colonna MarchioPiùVenduto, Mese, Fatturato, si
vuole conoscere:
(XOR): Marchio FORD o Mese Giugno (SOLO UNA delle due condizioni deve
esseere verificata). Mi viene da pensare ad una sottrazione logica di AND
dal risultato OR (una cosa del tipo OR - AN = XOR) ma come applicarla ?
(IMP o EQV ?): Marchio=FORD AND Mese=Giugno OPPURE Marchio <> Ford AND Mese
<> Giugno. Questo potrebbe "somigliare ad una Negazione della tavola della
verita OR (0,0 ; 0,1) in unione logica con AND ... ma forse c'è troppo volo
Pindarico !

Comunque preciso che le domande poste sono a mero titolo di approfondimento
conoscitivo dell'applicativo, non avendo casi concreti di applicazione;
tuttavia avevo fino ad ora tralasciato gli aspetti inerenti alle funzioni
matriciali, non cogliendone l e interessanti implicazioni che mi avete
prospettato!.

Ancora grazie e soprattutto Buona Domenica!
AndreA
Post by AndreaZ
G R A Z I E, stavolta penso di avere colto l'essenza della funzione!
Quindi, e mi permetto di enunciarla senza averla prima provata, se
volessi contare (o sommare, ma a questo punto poco cambia) l'appartenenza
AD UNO di DUE intervalli (quindi una fattispecie del tipo O(E;E) dovrei
raggruppare i vettori secondo (*)+(*) con le debite parentesi, per
svolgere prima gli AND e poi il singolo OR ! ??
Bravo! l'uso del segno * corrisponde all'uso dell'operatore E, l'uso del
segno + a quello di OR
Post by AndreaZ
A questo punto mi permetto di sollevare un'altra piccola domanda ....
Come posso gestire condizioni in OR ESCLUSIVO (VERO, quando in presenza
di due criteri, soltanto UNO dei DUE è verificato _.... e per simmetria,
come simulo EQV (vero quando DUE criteri forniscono la medesima risposta
? (F, F => V; V, V = v)
in attesa delle vostre risposte vi ringrazio ancora per la solerte
cortesia e per la chiarezza espositiva
belle queste due domande!
Ci stavo provando un po'...
Bruno ha dato una risposta.
Prova tu a fare degli esempi concreti. Mi cimento! :-)
--
ciao
giovanna
.......................
www.riolab.org
.........................
INFO AZ
2007-07-08 10:53:06 UTC
Permalink
OOOPS! Sto facendo un po' di prove, affiancato dalle informazioni del Link
http://www.xldynamic.com/source/xld.SUMPRODUCT.html
Tuttavia non mi torna qualcosa .... l'uso di + determina l'unione logica
(quindi OR) tra due vettori; tuttavia la somma "conta" due volte se i valori
sono presenti entrambi (quindi se soddisfano un AND), con il risultato che
Ford OR June.
Per spiegarmi meglio, allego la tabella:
Marchio Mese Fatturato
FORD Febbraio 1
FORD Gennaio 1
FORD Gennaio 1
FORD Gennaio 1
FORD Gennaio 1
FORD Marzo 1
FORD Marzo 1
GM Febbraio 1
GM Marzo 1
GM Marzo 1
PORSCHE Febbraio 1
GMG Gennaio 1
PORSCHE Gennaio 1


Se per contare Ford OR Gennaio uso
=MATR.SOMMA.PRODOTTO((Marchio="Ford")+(Mese="Gennaio")) ottengo 13 (invece
di 9)
il risultato corretto (9 per il caso di specie) si ottiene con
'=MATR.SOMMA.PRODOTTO((Marchio="Ford")+(Mese="Gennaio"))-MATR.SOMMA.PRODOTTO((Marchio="Ford")*(Mese="Gennaio"))
[ossia OR - AND] Ma mi sembra un po lunghetto ....

Infine se volessi uno XOR (Ford O Gennaio, ma non entrambi), devo applicare
(OR - AND) - AND che diventa
=(MATR.SOMMA.PRODOTTO((Marchio="Ford")+(Mese="Gennaio"))-MATR.SOMMA.PRODOTTO((Marchio="Ford")*(Mese="Gennaio")))-MATR.SOMMA.PRODOTTO((Marchio="Ford")*(Mese="Gennaio"))

spero di peccare di efficacia e che quindi esista un modus operandi diverso
!!

Attendo fiducioso ..... grazie a tutti
AndreA
Post by AndreaZ
G R A Z I E, stavolta penso di avere colto l'essenza della funzione!
Quindi, e mi permetto di enunciarla senza averla prima provata, se
volessi contare (o sommare, ma a questo punto poco cambia) l'appartenenza
AD UNO di DUE intervalli (quindi una fattispecie del tipo O(E;E) dovrei
raggruppare i vettori secondo (*)+(*) con le debite parentesi, per
svolgere prima gli AND e poi il singolo OR ! ??
Bravo! l'uso del segno * corrisponde all'uso dell'operatore E, l'uso del
segno + a quello di OR
Post by AndreaZ
A questo punto mi permetto di sollevare un'altra piccola domanda ....
Come posso gestire condizioni in OR ESCLUSIVO (VERO, quando in presenza
di due criteri, soltanto UNO dei DUE è verificato _.... e per simmetria,
come simulo EQV (vero quando DUE criteri forniscono la medesima risposta
? (F, F => V; V, V = v)
in attesa delle vostre risposte vi ringrazio ancora per la solerte
cortesia e per la chiarezza espositiva
belle queste due domande!
Ci stavo provando un po'...
Bruno ha dato una risposta.
Prova tu a fare degli esempi concreti. Mi cimento! :-)
--
ciao
giovanna
.......................
www.riolab.org
.........................
Bruno Campanini
2007-07-08 12:30:46 UTC
Permalink
Post by INFO AZ
OOOPS! Sto facendo un po' di prove, affiancato dalle informazioni del Link
http://www.xldynamic.com/source/xld.SUMPRODUCT.html
Tuttavia non mi torna qualcosa .... l'uso di + determina l'unione logica
(quindi OR) tra due vettori; tuttavia la somma "conta" due volte se i
valori sono presenti entrambi (quindi se soddisfano un AND), con il
risultato che Ford OR June.
Marchio Mese Fatturato
FORD Febbraio 1
FORD Gennaio 1
FORD Gennaio 1
FORD Gennaio 1
FORD Gennaio 1
FORD Marzo 1
FORD Marzo 1
GM Febbraio 1
GM Marzo 1
GM Marzo 1
PORSCHE Febbraio 1
GMG Gennaio 1
PORSCHE Gennaio 1
Se per contare Ford OR Gennaio uso
=MATR.SOMMA.PRODOTTO((Marchio="Ford")+(Mese="Gennaio")) ottengo 13 (invece
di 9)
il risultato corretto (9 per il caso di specie) si ottiene con
'=MATR.SOMMA.PRODOTTO((Marchio="Ford")+(Mese="Gennaio"))-MATR.SOMMA.PRODOTTO((Marchio="Ford")*(Mese="Gennaio"))
[ossia OR - AND] Ma mi sembra un po lunghetto ....
Infine se volessi uno XOR (Ford O Gennaio, ma non entrambi), devo
applicare (OR - AND) - AND che diventa
=(MATR.SOMMA.PRODOTTO((Marchio="Ford")+(Mese="Gennaio"))-MATR.SOMMA.PRODOTTO((Marchio="Ford")*(Mese="Gennaio")))-MATR.SOMMA.PRODOTTO((Marchio="Ford")*(Mese="Gennaio"))
spero di peccare di efficacia e che quindi esista un modus operandi
diverso !!
Attendo fiducioso ..... grazie a tutti
AndreA
Questo è l'OR (= 9)
=SUMPRODUCT(((Marchio="Ford")+(Mese="Gen")
-(Marchio="Ford")*(Mese="Gen")))

Questo lo XOR (= 5)
=SUMPRODUCT(((Marchio="Ford")+(Mese="Gen")
-2*(Marchio="Ford")*(Mese="Gen")))

Bruno

PS
Le formule differiscono dalle precedenti che ti ho inviato
perché in queste sono previsti
Ford Gen, ma non
Gen Ford.

In quelle avevo previsto:
2 20
20 2
AndreaZ
2007-07-08 13:16:22 UTC
Permalink
Post by Bruno Campanini
Post by INFO AZ
OOOPS! Sto facendo un po' di prove, affiancato dalle informazioni del
Link http://www.xldynamic.com/source/xld.SUMPRODUCT.html
Tuttavia non mi torna qualcosa .... l'uso di + determina l'unione
logica (quindi OR) tra due vettori; tuttavia la somma "conta" due
volte se i valori sono presenti entrambi (quindi se soddisfano un
AND), con il risultato che Ford OR June.
Marchio Mese Fatturato
FORD Febbraio 1
FORD Gennaio 1
FORD Gennaio 1
FORD Gennaio 1
FORD Gennaio 1
FORD Marzo 1
FORD Marzo 1
GM Febbraio 1
GM Marzo 1
GM Marzo 1
PORSCHE Febbraio 1
GMG Gennaio 1
PORSCHE Gennaio 1
Se per contare Ford OR Gennaio uso
=MATR.SOMMA.PRODOTTO((Marchio="Ford")+(Mese="Gennaio")) ottengo 13
(invece di 9)
il risultato corretto (9 per il caso di specie) si ottiene con
'=MATR.SOMMA.PRODOTTO((Marchio="Ford")+(Mese="Gennaio"))-MATR.SOMMA.PRODOTTO((Marchio="Ford")*(Mese="Gennaio"))
[ossia OR - AND] Ma mi sembra un po lunghetto ....
Infine se volessi uno XOR (Ford O Gennaio, ma non entrambi), devo
applicare (OR - AND) - AND che diventa
=(MATR.SOMMA.PRODOTTO((Marchio="Ford")+(Mese="Gennaio"))-MATR.SOMMA.PRODOTTO((Marchio="Ford")*(Mese="Gennaio")))-MATR.SOMMA.PRODOTTO((Marchio="Ford")*(Mese="Gennaio"))
spero di peccare di efficacia e che quindi esista un modus operandi
diverso !!
Attendo fiducioso ..... grazie a tutti
AndreA
Questo è l'OR (= 9)
=SUMPRODUCT(((Marchio="Ford")+(Mese="Gen")
-(Marchio="Ford")*(Mese="Gen")))
Questo lo XOR (= 5)
=SUMPRODUCT(((Marchio="Ford")+(Mese="Gen")
-2*(Marchio="Ford")*(Mese="Gen")))
Bruno
PS
Le formule differiscono dalle precedenti che ti ho inviato
perché in queste sono previsti
Ford Gen, ma non
Gen Ford.
2 20
20 2
Non dico una corbelleria se desumo che le tue formule sono un notevole
miglioramento in termini di caratteri digitati, ma non combia la
sostanza OR matriciale = OR - AND (come da te scritto Questo è l'OR (=
9) =SUMPRODUCT(((Marchio="Ford")+(Mese="Gen")
-(Marchio="Ford")*(Mese="Gen")))

Metre XOR = OR - AND e quindi in forma matriciale la tua
-2*(Marchio="Ford")*(Mese="Gen") anche in questo caso migliora di molto
in termini di stesura (io ridondavo con l'uso di matr.somma.prodotto ...).

Rimane ancora da scoprire, per me !, come gestire un EQV (V, F; F,V) che
dovrebbe ricondursi ad una NEGAZIONE di XOR ... ma come tradurlo in
pratica ?
Bruno Campanini
2007-07-08 13:53:36 UTC
Permalink
Post by AndreaZ
Rimane ancora da scoprire, per me !, come gestire un EQV (V, F; F,V) che
dovrebbe ricondursi ad una NEGAZIONE di XOR ... ma come tradurlo in
pratica ?
Veramente
EQV (VV, FF)

=SUMPRODUCT((Marchio="Ford")*(Mese="Gen")
+(Marchio<>"Ford")*(Mese<>"Gen"))

Bruno
AndreaZ
2007-07-08 15:46:55 UTC
Permalink
Post by Bruno Campanini
Post by AndreaZ
Rimane ancora da scoprire, per me !, come gestire un EQV (V, F; F,V)
che dovrebbe ricondursi ad una NEGAZIONE di XOR ... ma come tradurlo
in pratica ?
Veramente
EQV (VV, FF)
=SUMPRODUCT((Marchio="Ford")*(Mese="Gen")
+(Marchio<>"Ford")*(Mese<>"Gen"))
Bruno
scusa per la stesura ... Io riportavo i risultati posta una tavola della
verita V,F / V, F .... consegue VERO nei casi VV e VV; falso altrimenti

AndreA

Dalla tua risposta, deduco un OR con due AND e...... Porca miseria, ora
sembra di una evidenza plateale !!!!!!

Ti ringrazio ancora per la persistente cortesia

AndreA
giovanna
2007-07-08 12:42:23 UTC
Permalink
Post by INFO AZ
OOOPS! Sto facendo un po' di prove, affiancato dalle informazioni del Link
http://www.xldynamic.com/source/xld.SUMPRODUCT.html
Tuttavia non mi torna qualcosa .... l'uso di + determina l'unione logica
(quindi OR) tra due vettori; tuttavia la somma "conta" due volte se i valori
sono presenti entrambi (quindi se soddisfano un AND), con il risultato che
Ford OR June.
Marchio Mese Fatturato
FORD Febbraio 1
FORD Gennaio 1
FORD Gennaio 1
FORD Gennaio 1
FORD Gennaio 1
FORD Marzo 1
FORD Marzo 1
GM Febbraio 1
GM Marzo 1
GM Marzo 1
PORSCHE Febbraio 1
GMG Gennaio 1
PORSCHE Gennaio 1
ciao,
Post by INFO AZ
Se per contare Ford OR Gennaio uso
=MATR.SOMMA.PRODOTTO((Marchio="Ford")+(Mese="Gennaio")) ottengo 13
io penso che SE la condizione è proprio Ford o Gennaio nel senso di OR
inclusivo, il risultato debba essere 13.
Comunque ....
Post by INFO AZ
(invece di
9)
il risultato corretto (9 per il caso di specie) si ottiene con
'=MATR.SOMMA.PRODOTTO((Marchio="Ford")+(Mese="Gennaio"))-MATR.SOMMA.PRODOTTO((Marchio="Ford")*(Mese="Gennaio"))
[ossia OR - AND] Ma mi sembra un po lunghetto ....
puoi abbreviare un po':
=MATR.SOMMA.PRODOTTO((marchio="Ford")+(mese="Gennaio")-(marchio="Ford")*(mese="Gennaio"))
Post by INFO AZ
Infine se volessi uno XOR (Ford O Gennaio, ma non entrambi), devo applicare
(OR - AND) - AND
anche...
La formula (A xor B) è equivalente a: AB'+A'B (ossia un OR, due AND e
due NOT).
Post by INFO AZ
che diventa
=(MATR.SOMMA.PRODOTTO((Marchio="Ford")+(Mese="Gennaio"))-MATR.SOMMA.PRODOTTO((Marchio="Ford")*(Mese="Gennaio")))-MATR.SOMMA.PRODOTTO((Marchio="Ford")*(Mese="Gennaio"))
sfruttando il suggerimento di Ivano questo puoi ottenerlo:
=MATR.SOMMA.PRODOTTO(--((marchio="Ford")+(mese="Gennaio")=1))
--
ciao
giovanna
.......................
www.riolab.org
.........................
AndreaZ
2007-07-08 15:39:20 UTC
Permalink
Post by giovanna
Post by INFO AZ
OOOPS! Sto facendo un po' di prove, affiancato dalle informazioni del
Link http://www.xldynamic.com/source/xld.SUMPRODUCT.html
Tuttavia non mi torna qualcosa .... l'uso di + determina l'unione
logica (quindi OR) tra due vettori; tuttavia la somma "conta" due
volte se i valori sono presenti entrambi (quindi se soddisfano un
AND), con il risultato che Ford OR June.
Marchio Mese Fatturato
FORD Febbraio 1
FORD Gennaio 1
FORD Gennaio 1
FORD Gennaio 1
FORD Gennaio 1
FORD Marzo 1
FORD Marzo 1
GM Febbraio 1
GM Marzo 1
GM Marzo 1
PORSCHE Febbraio 1
GMG Gennaio 1
PORSCHE Gennaio 1
ciao,
Post by INFO AZ
Se per contare Ford OR Gennaio uso
=MATR.SOMMA.PRODOTTO((Marchio="Ford")+(Mese="Gennaio")) ottengo 13
io penso che SE la condizione è proprio Ford o Gennaio nel senso di OR
inclusivo, il risultato debba essere 13.
Comunque ....
Post by INFO AZ
(invece di 9)
il risultato corretto (9 per il caso di specie) si ottiene con
'=MATR.SOMMA.PRODOTTO((Marchio="Ford")+(Mese="Gennaio"))-MATR.SOMMA.PRODOTTO((Marchio="Ford")*(Mese="Gennaio"))
[ossia OR - AND] Ma mi sembra un po lunghetto ....
=MATR.SOMMA.PRODOTTO((marchio="Ford")+(mese="Gennaio")-(marchio="Ford")*(mese="Gennaio"))
Post by INFO AZ
Infine se volessi uno XOR (Ford O Gennaio, ma non entrambi), devo
applicare (OR - AND) - AND
anche...
La formula (A xor B) è equivalente a: AB'+A'B (ossia un OR, due AND e
due NOT).
Post by INFO AZ
che diventa
=(MATR.SOMMA.PRODOTTO((Marchio="Ford")+(Mese="Gennaio"))-MATR.SOMMA.PRODOTTO((Marchio="Ford")*(Mese="Gennaio")))-MATR.SOMMA.PRODOTTO((Marchio="Ford")*(Mese="Gennaio"))
=MATR.SOMMA.PRODOTTO(--((marchio="Ford")+(mese="Gennaio")=1))
Quando poche parole .... esprimono IL significato ....
OR "inclusivo" ... ed Or "esclusivo" ..... il resto è conseguenza !!

Grazie !

P.S. sono ancora in ambache con EQV cioè la Negazione di XOR (V,V=>V;
F,F=>V; falso altrimenti). Come faccio ad ottenere la negazione di XOR ?
giovanna
2007-07-08 16:06:50 UTC
Permalink
P.S. sono ancora in ambache con EQV cioè la Negazione di XOR (V,V=>V; F,F=>V;
falso altrimenti). Come faccio ad ottenere la negazione di XOR ?
ha risposto Bruno.
io avevo pensato a:
=MATR.SOMMA.PRODOTTO((1*((marchio="Ford")+(mese="Gennaio"))=2)+(1*((marchio<>"Ford")+(mese<>"Gennaio"))=2))

ma conviene Bruno! :-)
--
ciao
giovanna
.......................
www.riolab.org
.........................
AndreaZ
2007-07-08 17:50:29 UTC
Permalink
Post by giovanna
Post by AndreaZ
P.S. sono ancora in ambache con EQV cioè la Negazione di XOR (V,V=>V;
F,F=>V; falso altrimenti). Come faccio ad ottenere la negazione di XOR ?
ha risposto Bruno.
=MATR.SOMMA.PRODOTTO((1*((marchio="Ford")+(mese="Gennaio"))=2)+(1*((marchio<>"Ford")+(mese<>"Gennaio"))=2))
ma conviene Bruno! :-)
... Ho letto Bruno, e convengo sulla maggiore sintesi .....
Nella tua, le costante 1 nella1° parentesi serve a restituire valori
numerici. 2 vale quindi per AND (1 E 1) cui si aggiunge un OR su Falso
Falso (il secondo 2) .... Alla fine tornerà (futuro semplice necessario)
semplice come 2+2=4 (ma sarà un EQV anch'esso ?)

ciao e gioisa serata a tutti voi

AndreAZ
giovanna
2007-07-08 17:56:22 UTC
Permalink
Post by AndreaZ
... Ho letto Bruno, e convengo sulla maggiore sintesi .....
Nella tua, le costante 1 nella1° parentesi serve a restituire valori
numerici.
sei un genio! :-)
Post by AndreaZ
2 vale quindi per AND (1 E 1) cui si aggiunge un OR su Falso Falso
(il secondo 2) ....
yes
Post by AndreaZ
(ma sarà un EQV anch'esso ?)
bah, mi pareva di sì! :-)
--
ciao
giovanna
.......................
www.riolab.org
.........................
ivano
2007-07-07 16:43:53 UTC
Permalink
[cut]
Post by AndreaZ
A questo punto mi permetto di sollevare un'altra piccola domanda ....
Come posso gestire condizioni in OR ESCLUSIVO (VERO, quando in presenza di
due criteri, soltanto UNO dei DUE è verificato _.... e per simmetria, come
simulo EQV (vero quando DUE criteri forniscono la medesima risposta ? (F,
F => V; V, V = v)
in attesa delle vostre risposte vi ringrazio ancora per la solerte
cortesia e per la chiarezza espositiva
Ciao
=((AREA1=criterio1)+(AREA1=criterio2))=1
Esempio
Da A1 a F1:
1 2 3 4 5 6
la formula:
=((A1:F1>3)+(A1:F1<6))=1 ctrl+maiusc+invio
restituisce la matrice:
{VERO;VERO;VERO;FALSO;FALSO;VERO}
per contare i VERO basta:
=SOMMA(--(((A1:F1>3)+(A1:F1<6))=1)) ctrl+maiusc+invio
restituisce 4

ivano
Continua a leggere su narkive:
Loading...