| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  06-02-2010, 18:14 | #1 | 
| Member Iscritto dal: Jan 2005 Città: Torino 
					Messaggi: 179
				 | 
				
				[Excel] Mi aiutate a "rimpicciolire" una sommatoria di countif?
			 
		Ciao a tutti, vi spiego il  mio problema, spero sappiate aiutarmi. Ho una tabella di questo tipo: Codice: A 1 2 3 4 5 6 B 1 2 3 0 0 0 C 0 0 3 4 5 6 Codice: A 1 2 3 4 5 6 B 1 2 3 0 0 0 3 C 0 0 3 4 5 6 4 Codice: =CONTA.SE(D$3;D6) + CONTA.SE(E$3;E6) + CONTA.SE(F$3;F6) + CONTA.SE(G$3;G6) + CONTA.SE(H$3;H6) + CONTA.SE(I$3;I6) + CONTA.SE(J$3;J6) + CONTA.SE(K$3;K6) + CONTA.SE(L$3;L6) + CONTA.SE(M$3;M6) + CONTA.SE(N$3;N6) + CONTA.SE(O$3;O6) + CONTA.SE(P$3;P6) + CONTA.SE(Q$3;Q6) + CONTA.SE(R$3;R6) + CONTA.SE(S$3;S6) + CONTA.SE(T$3;T6) + CONTA.SE(U$3;U6) + CONTA.SE(V$3;V6) + CONTA.SE(W$3;W6) + CONTA.SE(X$3;X6) + CONTA.SE(Y$3;Y6) + CONTA.SE(Z$3;Z6) + CONTA.SE(AA$3;AA6)   Il problema è che non riesco a fare una sommatoria di conta.se, che sia anche trascinabile. Qualcuno mi dà una mano? Non riesco a venirne a capo. Grazie a tutti.   | 
|   |   | 
|  07-02-2010, 10:34 | #2 | 
| Senior Member Iscritto dal: Dec 2004 
					Messaggi: 3210
				 | 
		
Supponendo che le serie di valori siano messi per Riga, e quindi, relativamente a questo esempio, la prima riga di valori sta sulla Riga 1, quindi in A1 c'è scritto "A", in B1 "1", in B2 "2", ecc., fino a G1, e così via per le altre righe, in VBA si risolve con poco codice, tra l'altro estremamente più chiaro e riadattabile di quella Fx lunga un Km : Codice:     Dim i As Integer
    Dim j As Integer
    Dim cnt As Integer
    
    For i = 2 To 3 'Indice Riga
        cnt = 0
        For j = 2 To 7 'Indice Colonna
            If Cells(i, j).Text = Cells(1, j).Text Then cnt = cnt + 1
        Next j
        Cells(i, 8).FormulaR1C1 = cnt
    Next i  | 
|   |   | 
|  07-02-2010, 14:49 | #3 | 
| Member Iscritto dal: Jan 2005 Città: Torino 
					Messaggi: 179
				 | 
		Ok, quindi bisogna per forza agire con VBA, pensavo ci fosse un modo più rapido direttamente su excel. Grazie mille, comunque. Ora provo. EDIT: Non funzionava in quanto faceva variare anche la riga di controllo, ho risolto modificando l'istruzione principale così: Codice: If Cells(i, j).Text = Cells(4, j).Text Then cnt = cnt + 1   Ultima modifica di shenlong7777 : 07-02-2010 alle 15:15. | 
|   |   | 
|  08-02-2010, 10:00 | #4 | |
| Senior Member Iscritto dal: Dec 2004 
					Messaggi: 3210
				 | Quote: 
   | |
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 11:30.









 
		 
		 
		 
		







 
  
 



 
                        
                        










