Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

MATR.SOMMA.PRODOTTO SU COLONNA CON VALORI ALFANUMERICI

Ultimo Aggiornamento: 18/04/2020 19:48
Post: 72
Registrato il: 23/06/2015
Città: TORINO
Età: 31
Utente Junior
2013
OFFLINE
11/04/2020 12:41

MATR.SOMMA.PRODOTTO SU COLONNA CON VALORI ALFANUMERICI
Ciao,
ho una colonna in cui ci sono celle con valori frutto di una formula per la quale, in base al risultato, restituisce alcuni valori NUMERICI e altri valori DI TESTO.

Questa colonna, a sua volta, viene presa per avere la somma di tutti i valori NUMERICI in base ad altre condizionalit usando la funzione MATR.SOMMA.PRODOTTO.

Ho notato che questa non funziona a causa dei valori di testo (vedi esempio allegato).

Per favore sapreste consigliarmi sul come poter risolvere?
[Modificato da FlavioPietro 11/04/2020 12:44]
Post: 2.672
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
11/04/2020 13:05

nella colonna O hai delle stringhe XXX, metti anche val.numero su tale colonna

saluti




Domenico
Win 10 - Excel 2016
Post: 648
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Senior
2016
OFFLINE
11/04/2020 13:48

Buonasera
sarebbe interessante vedere i risultati che si aspetta l'utente perchè anche mettendo val.numero in colonna O non restituirà mai un valore numerico in quanto creeremmo un'altro vettore di VERO/FALSO quindi al massimo potremmo avere un risultato di 0 o 1 (FALSO/VERO)

E tra l'altro la formula la vedo concettualmente sbagliata trovo questa parte (riduco il range a 19 per fare veriviche)

(($D$6:$D$19="TEC")*($C$6:$C$19="APERTO"))che restituisce


{1.0.0.0.0.0.0.0.1.0.0.0.0.0} quando la moltiplico per

VAL.NUMERO($C$6:$C$19) che é

{FALSO.FALSO.FALSO.FALSO.FALSO.FALSO.FALSO.FALSO.FALSO.VERO.VERO.VERO.FALSO.FALSO}

ottengo

{0.0.0.0.0.0.0.0.0.0.0.0.0.0}

cioè quando moltiplico due vettori creati nella stessa colonna che con criteri che vanno in conflitto (dovremmo usare un OR (+)) e necessariamente ottengo una matrice di zeri

detto questo per modificare la matrice in colonna O non serve mettere VAL,NUMERO come già sottolineato nel post precedente ma intervenire sulla formula in colonna O in quanto se poi la dobbiamo utilizzare in un MATR.SOMMA.PRODOTTO che lavora solo su matrici numeriche quindi i "" mandano in errore e una ipotesi sarebbe

in colonna O

=SE(E(L6="";M6="";N6="");0;SE(O(L6="XXX";M6="XXX";N6="xxx");0;ASS(L6*M6*N6)))

però come dicevo l'utente dovrebbe fare chiarezza sul risultato da ottenere in quanto cosi come l'ha scritta le matrici vanno in conflitto
[Modificato da DANILOFIORINI 11/04/2020 14:35]
Post: 2.673
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
11/04/2020 15:53

bha, che dire, io avevo notato solo le stringhe in colonna O senza entrare nel merito della formula

Di sicuro non si comprende cosa si voglia ottenere.

saluti



Domenico
Win 10 - Excel 2016
Post: 73
Registrato il: 23/06/2015
Città: TORINO
Età: 31
Utente Junior
2013
OFFLINE
11/04/2020 22:37

Re:
DANILOFIORINI, 11/04/2020 13:48:

Buonasera
sarebbe interessante vedere i risultati che si aspetta l'utente perchè anche mettendo val.numero in colonna O non restituirà mai un valore numerico in quanto creeremmo un'altro vettore di VERO/FALSO quindi al massimo potremmo avere un risultato di 0 o 1 (FALSO/VERO)

E tra l'altro la formula la vedo concettualmente sbagliata trovo questa parte (riduco il range a 19 per fare veriviche)

(($D$6:$D$19="TEC")*($C$6:$C$19="APERTO"))che restituisce


{1.0.0.0.0.0.0.0.1.0.0.0.0.0} quando la moltiplico per

VAL.NUMERO($C$6:$C$19) che é

{FALSO.FALSO.FALSO.FALSO.FALSO.FALSO.FALSO.FALSO.FALSO.VERO.VERO.VERO.FALSO.FALSO}

ottengo

{0.0.0.0.0.0.0.0.0.0.0.0.0.0}

cioè quando moltiplico due vettori creati nella stessa colonna che con criteri che vanno in conflitto (dovremmo usare un OR (+)) e necessariamente ottengo una matrice di zeri

detto questo per modificare la matrice in colonna O non serve mettere VAL,NUMERO come già sottolineato nel post precedente ma intervenire sulla formula in colonna O in quanto se poi la dobbiamo utilizzare in un MATR.SOMMA.PRODOTTO che lavora solo su matrici numeriche quindi i "" mandano in errore e una ipotesi sarebbe

in colonna O

=SE(E(L6="";M6="";N6="");0;SE(O(L6="XXX";M6="XXX";N6="xxx");0;ASS(L6*M6*N6)))

però come dicevo l'utente dovrebbe fare chiarezza sul risultato da ottenere in quanto cosi come l'ha scritta le matrici vanno in conflitto



In realtà la formula, per com'è strutturata, funziona.
Il problema è che sembra non ci possano essere valori di testo ("XXX" / "" - vedi foglio "SENZA VALORI DI TESTO").
Le matrici tra loro quindi non vanno in conflitto.

E' possibile sviare a ciò in qualche maniera?
Post: 74
Registrato il: 23/06/2015
Città: TORINO
Età: 31
Utente Junior
2013
OFFLINE
11/04/2020 22:39

Re:
dodo47, 11/04/2020 15:53:

bha, che dire, io avevo notato solo le stringhe in colonna O senza entrare nel merito della formula

Di sicuro non si comprende cosa si voglia ottenere.

saluti







La formula funziona (ci sono due fogli nell'esempio).
Come ho detto è MATR.SOMMA.PRODOTTO che sembra voglia solo valori numerici
Post: 649
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Senior
2016
OFFLINE
11/04/2020 23:44

Ciao
Te l ho scritto....devi cambiare la formula che genera quelle xxx nella colonna che dovrai poi moltiplicare...se mo otterrai sempre un errore
Post: 650
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Senior
2016
OFFLINE
12/04/2020 10:00

Buongiorno
quando scrivo che sarei curioso di vedere i risultati attesi è perchè la formula continuo a dire che è sbagliata....intanto come ti ho detto devi fare in modo che i risultati in colonna O siano numeri quindi va modificata cosi

=SE(E(L6="";M6="";N6="");0;SE(O(L6="XXX";M6="XXX";N6="xxx");0;ASS(L6*M6*N6)))

Detto questo e ribadisco il concetto prendi questa parte

(($D$6:$D$19="TEC")*($C$6:$C$19="APERTO")) quando ci sarà corrispondenza otterrai 1 oppure 0 ora il risultato di questa moltiplicazione la vai a rimoltiplicare per VAL.NUMERO($C$6:$C$19)
ora metti che nella prima parte hai ottenuto 1 in prima riga cioè è presente sia TEC che APERTO quando vai a moltiplicare per VAL.NUMERO($C$6:$C$19) otterrai per forza di cose sempre zero perchè nella stessa riga in colonna C riga 1 o c'è un numero o c'è APERTO (o altro) con questa formula otterrai sempre zero come tra l'altro ottieni nell'altro foglio...nonostante tu affermi che sia giusta
Post: 2.674
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
12/04/2020 10:39

sembra che tu non voglia capire o tanto meno dire quale risultato ti aspetti

es di una sola riga:

=MATR.SOMMA.PRODOTTO((D6="TEC")*(C6="APERTO")) RESTITUISCE 1

=VAL.NUMERO(C6) RESTITUISCE FALSO, in quanto C6 contiene una stringa

Il prodotto sarà quindi sempre 0 (zero), in quanto laddove si verifica D=TEC e C=APERTO, il val.numero di C sarà sempre falso (0).

è quello che Danilo cerca di farti capire dall'inizio

Fornisci un esempio dove la tua formula NON restituisce zero.

saluti



[Modificato da dodo47 12/04/2020 10:45]
Domenico
Win 10 - Excel 2016
Post: 75
Registrato il: 23/06/2015
Città: TORINO
Età: 31
Utente Junior
2013
OFFLINE
12/04/2020 21:31

Re:
DANILOFIORINI, 11/04/2020 23:44:

Ciao
Te l ho scritto....devi cambiare la formula che genera quelle xxx nella colonna che dovrai poi moltiplicare...se mo otterrai sempre un errore




A differenza di SOMMA.PIù.SE, quindi, deduco che ci debbano essere solo numeri con MATR.SOMMA.PRODOTTO
Post: 76
Registrato il: 23/06/2015
Città: TORINO
Età: 31
Utente Junior
2013
OFFLINE
12/04/2020 21:34

Re:
DANILOFIORINI, 12/04/2020 10:00:

Buongiorno
quando scrivo che sarei curioso di vedere i risultati attesi è perchè la formula continuo a dire che è sbagliata....intanto come ti ho detto devi fare in modo che i risultati in colonna O siano numeri quindi va modificata cosi

=SE(E(L6="";M6="";N6="");0;SE(O(L6="XXX";M6="XXX";N6="xxx");0;ASS(L6*M6*N6)))

Detto questo e ribadisco il concetto prendi questa parte

(($D$6:$D$19="TEC")*($C$6:$C$19="APERTO")) quando ci sarà corrispondenza otterrai 1 oppure 0 ora il risultato di questa moltiplicazione la vai a rimoltiplicare per VAL.NUMERO($C$6:$C$19)
ora metti che nella prima parte hai ottenuto 1 in prima riga cioè è presente sia TEC che APERTO quando vai a moltiplicare per VAL.NUMERO($C$6:$C$19) otterrai per forza di cose sempre zero perchè nella stessa riga in colonna C riga 1 o c'è un numero o c'è APERTO (o altro) con questa formula otterrai sempre zero come tra l'altro ottieni nell'altro foglio...nonostante tu affermi che sia giusta



Lo so, infatti dovrebbe restituire zero per com'è impostata.
La formula nell'esempio non è completa: è solo abbozzata ma credo che dovrò usare il SOMMA.PIù.SE in quanto non posso togliere i valori "XXX" e ""
Post: 77
Registrato il: 23/06/2015
Città: TORINO
Età: 31
Utente Junior
2013
OFFLINE
12/04/2020 21:34

Re:
dodo47, 12/04/2020 10:39:

sembra che tu non voglia capire o tanto meno dire quale risultato ti aspetti

es di una sola riga:

=MATR.SOMMA.PRODOTTO((D6="TEC")*(C6="APERTO")) RESTITUISCE 1

=VAL.NUMERO(C6) RESTITUISCE FALSO, in quanto C6 contiene una stringa

Il prodotto sarà quindi sempre 0 (zero), in quanto laddove si verifica D=TEC e C=APERTO, il val.numero di C sarà sempre falso (0).

è quello che Danilo cerca di farti capire dall'inizio

Fornisci un esempio dove la tua formula NON restituisce zero.

saluti






Infatti non ho detto che debba restituire valori diversi da zero per come l'ho impostata nell'esempio ;)
Post: 78
Registrato il: 23/06/2015
Città: TORINO
Età: 31
Utente Junior
2013
OFFLINE
12/04/2020 21:38

Re:
DANILOFIORINI, 12/04/2020 10:00:

Buongiorno
quando scrivo che sarei curioso di vedere i risultati attesi è perchè la formula continuo a dire che è sbagliata....intanto come ti ho detto devi fare in modo che i risultati in colonna O siano numeri quindi va modificata cosi

=SE(E(L6="";M6="";N6="");0;SE(O(L6="XXX";M6="XXX";N6="xxx");0;ASS(L6*M6*N6)))

Detto questo e ribadisco il concetto prendi questa parte

(($D$6:$D$19="TEC")*($C$6:$C$19="APERTO")) quando ci sarà corrispondenza otterrai 1 oppure 0 ora il risultato di questa moltiplicazione la vai a rimoltiplicare per VAL.NUMERO($C$6:$C$19)
ora metti che nella prima parte hai ottenuto 1 in prima riga cioè è presente sia TEC che APERTO quando vai a moltiplicare per VAL.NUMERO($C$6:$C$19) otterrai per forza di cose sempre zero perchè nella stessa riga in colonna C riga 1 o c'è un numero o c'è APERTO (o altro) con questa formula otterrai sempre zero come tra l'altro ottieni nell'altro foglio...nonostante tu affermi che sia giusta




Il supporto per il quale chiedevo aiuto riguardava l'applicazione della funzione MATR.SOMMA.PRODOTTO su una colonna contenente anche stringhe di teso.
Tutto qua.
Se non è possibile.. riapplicherò il SOMMA.PIù.SE, sarà più lunga come formula ma almeno non crea noie sulle celle di testo "XXX" e "" (queste non sono sostituibili con lo zero perché sono due casi diversi)
Post: 657
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Senior
2016
OFFLINE
12/04/2020 21:42

Bene
quindi la risposta ufficiale per quanto riguarda il MATR.SOMMA.PRODOTTO se la colonna che effettua la moltiplicazione dei valori contiene del testo non funzionerà mai...e la formula che avevi proposto è sbagliata

Se fai ricerche in rete troverai migliaia di esempi e tutorial

Saluti e buon proseguimento
Post: 79
Registrato il: 23/06/2015
Città: TORINO
Età: 31
Utente Junior
2013
OFFLINE
12/04/2020 21:57

Re:
DANILOFIORINI, 12/04/2020 21:42:

Bene
quindi la risposta ufficiale per quanto riguarda il MATR.SOMMA.PRODOTTO se la colonna che effettua la moltiplicazione dei valori contiene del testo non funzionerà mai...e la formula che avevi proposto è sbagliata

Se fai ricerche in rete troverai migliaia di esempi e tutorial

Saluti e buon proseguimento




Quello è il problema: ho letto solo che le celle devono avere la stessa dimensione affinché MATR.SOMMA.PRODOTTO funzioni. Teoricamente, quindi, le celle di testo non dovrebbero influire ma sulla pratica.. sembrerebbe così.
Ciao
Post: 658
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Senior
2016
OFFLINE
12/04/2020 23:43

la funzione MATR.SOMMA.PRODOTTO moltiplica due o più matrici delle stesse dimensioni e funziona solo ed esclusivamente con valori numerici quindi esclude valori logici e testi in quanto non è impossibile arrivarci se provi a moltiplicare in un a cella un numero per un qualsiasi testo otterrai sempre un errore....
Post: 316
Registrato il: 11/07/2015
Età: 33
Utente Senior
office 2013-2016
OFFLINE
13/04/2020 13:12


Con testi devi usare l'operatore --


O2=MATR.SOMMA.PRODOTTO(--(C6:C19=C6);--(D6:D19=D6);O6:O19)
[Modificato da Ulisse1990 13/04/2020 13:13]
Post: 661
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Senior
2016
OFFLINE
13/04/2020 16:30

Buonasera
@Ulisse ottimo...non l'avevo mai impostata cosi...si impara sempre qualcosa di nuovo

Grazie e tanti auguri
Post: 80
Registrato il: 23/06/2015
Città: TORINO
Età: 31
Utente Junior
2013
OFFLINE
18/04/2020 19:48

Re:
Ulisse1990, 13/04/2020 13:12:


Con testi devi usare l'operatore --


O2=MATR.SOMMA.PRODOTTO(--(C6:C19=C6);--(D6:D19=D6);O6:O19)




Grazie mille! =)
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 00:24. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com