PDA

View Full Version : Sommare caselle excel contrassegnate di un elenco


ghisirds
02-07-2007, 20:34
Salve.
Mi sto scervellando per cercare di capire come risolvere questo problema.
Ho un elenco di nomi in colonna A con a fianco alcune X in colonna B

A B
1 Casa X
2 Auto
3 Casa X
4 Fiori
5 Orologio
6 Casa X
7 Fiori
8 Casa

Col passare del tempo vengono inseriti dei nomi nuovi in colonna A e alcune X in colonna B.
Allora, io dovrei creare una formula da mettere in questo caso in B8 che poi viene trascinata in tutte le celle della colonna B, che controlla la cella a fianco della stessa riga (in questo caso la A8) quante volte è presente nell'elenco, ma solo nel caso in cui vi è la X nella riga corrispondete.
Quindi, in questo caso in B8 ci deve venir scritto 3, in B7 scritto 0 ecc.

Contare tutte le volte che compare la parola affiancata dalla X: non dovrebbe essere una formula complicata, ma non ci salto fuori..

Grazie in anticipo a chiunque mi aiuterà.

guldo76
02-07-2007, 23:18
Ma scusa, se le X stanno nella colonna B, la formula la metterai da un'altra parte, no? Tipo nella colonna C.
Cmq, ti serve la funzione CONTA.SE()
eventualmente con la funzione E()
Le trovi sulla guida in linea.

ghisirds
02-07-2007, 23:26
eh no, io va bene per metterle di fianco le formule, ma con il conta se secondo me non si riesce. Devo contare tutte le celle che hanno la x, ma solo quelle che il nome è uguale, non tutte...
è forse più difficile a spiegarsi che a farsi..

guldo76
02-07-2007, 23:50
Non so se ho capito bene...
Prova:
=SOMMA(($A$1:$A$8=A1)*($B$1:$B$8="X"))
e premi Ctrl+Maiusc+Invio invece che soltanto Invio.

Altrimenti fai un esempio più chiaro (coi numeri).

ghisirds
03-07-2007, 06:31
Perfetto! Così funziona...
Però l'ho scritta diversamente, anche se non ho capito bene dove sta la differenza...

=MATR.SOMMA.PRODOTTO(($A$1:$A$8=A1)*($B$1:$B$8="X"))

ed ho premuto invio normalmente.
Cosa cambia dalla tua?

Va, il problema è che è lentissimo, ogni volta che ricalcola ci mettere vari secondi...

guldo76
03-07-2007, 08:00
Perfetto! Così funziona...
Però l'ho scritta diversamente, anche se non ho capito bene dove sta la differenza...

=MATR.SOMMA.PRODOTTO(($A$1:$A$8=A1)*($B$1:$B$8="X"))

ed ho premuto invio normalmente.
Cosa cambia dalla tua?

Va, il problema è che è lentissimo, ogni volta che ricalcola ci mettere vari secondi...
La tua non mi sembra corretta. Fai il prodotto già tu all'interno delle parentesi, poi non ti serve usare quella funzione.

Cmq ho provato in un altro modo, usando il componente aggiuntivo "somma condizionale" (Strumenti --> Componenti aggiuntivi --> Creazione guidata somma condizionale); prova questo:
F2 = Casa
G2 = X
H2 = =SOMMA(SE($A$2:$A$8=F2;SE($B$2:$B$8=G2;1;0);0))
Prova a vedere se è più veloce così.

ghisirds
03-07-2007, 13:53
scusa, ma non ho capito dove metti l'elenco e le x...
A e B oppure F e G?

guldo76
03-07-2007, 14:15
... dimenticavo che usi una riga dell'insieme stesso come criterio di ricerca.
=SOMMA(SE($A$2:$A$8=A2;SE($B$2:$B$8="X";1;0);0))

ghisirds
03-07-2007, 14:46
=SOMMA(SE($A$2:$A$8=A2;SE($B$2:$B$8="X";1;0);0))

no, ho provato ma da sempre 0, non riconosce la x? (ho provato sia maiuscolo che minuscolo...:confused:

guldo76
03-07-2007, 14:49
no, ho provato ma da sempre 0, non riconosce la x? (ho provato sia maiuscolo che minuscolo...:confused:
Perché devi premere Ctrl+Maiusc+Invio.

ghisirds
03-07-2007, 14:50
come non detto, avevo il ricalcolo in manuale...:D

va, in parte, nel senso che mette uno quando c'è la x, ma non lo somma con i precedenti...:muro:

--
Righetto Fabrizio opera con le macchine taglio plasma (http://www.righettofabrizio.com/) per CNC

guldo76
03-07-2007, 16:30
come non detto, avevo il ricalcolo in manuale...:D

va, in parte, nel senso che mette uno quando c'è la x, ma non lo somma con i precedenti...:muro:
Sbagli qualcosa, controlla bene la formula e i tuoi dati.

ghisirds
03-07-2007, 23:06
hai ragione, non ho schiacciato ctrl.
comunque le tempistiche sono le stesse, ci mette 4 secondi ogni volta che calcola ed è destinato ad aumentare..:cry:

--
Righetto Fabrizio opera con le macchine taglio plasma (http://www.righettofabrizio.com/) per CNC

ghisirds
05-07-2007, 13:44
alla fine ho risolto così:

=MATR.SOMMA.PRODOTTO(--($A$1:$A8=A1);--($B$1:$B8="X"))

grazie a tutti