Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel.2003] Funzione conta

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Excel.2003] Funzione conta

Postdi gladiosannita » 28/09/10 18:09

Ciao a tutti
Ho bisogno di un vostro aiuto,per questo problema con excel
Nelle celle A1,B1;C1;D1;E1....ecc ci sono dei numeri (tranne lo "0") questi numeri vanno dal 1 al 3,ora mi servirebbe che in un altra cella , contasse le celle sopra descritte con numeri,però in modo sequenziale nel senso che conta i numeri,fino a quanto non trova lo zero.per poi ricominciare.mi spiego meglio con un esempio:
A1=1-B1=2-C1=3-D1=2-E1=0-F1=1...ecc ora contando tutte le celle con numeri diversi da zero(fino a D1) abbiamo "4"ovviamente poi la formula dovrà continuare a contare....da F1 fino al prossimo 0.
Spero di essere stato abbastanza chiaro.

Grazie
gladiosannita
Utente Junior
 
Post: 56
Iscritto il: 13/04/09 12:32

Sponsor
 

Re: [Excel.2003] Funzione conta

Postdi Anthony47 » 01/10/10 13:15

Supponiamo che il tuo elenco sia in riga 1, ad esempio da A1 a CA1; metti in A3 la formula
Codice: Seleziona tutto
=PICCOLO(SE($A$1:$IA$1=0;RIF.COLONNA($A1:$IA1);"");RIF.RIGA(A1))
che confermerai con Contr-Maiusc-Enter. In B3 invece
Codice: Seleziona tutto
=A3-A2-1
Poi copi A3:B3 verso il basso: in col B avrai il risultato della prima, seconda, terza, etc conta.
E' necessario che la cella soprastante A3 sia vuota.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel.2003] Funzione conta

Postdi Flash30005 » 01/10/10 13:54

Sono stato nell'impossibilità di postare pur leggendo i vari quesiti e avevo realizzato questa macro che inserirà il conteggio nella riga 10 del foglio1
Codice: Seleziona tutto
Sub conta()
Contan = 0
UC = Worksheets("Foglio1").Range("IV1").End(xlToLeft).Column
For CC = 1 To UC
If Cells(1, CC) <> 0 Then
Contan = Contan + 1
Else
UN = Worksheets("Foglio1").Range("IV10").End(xlToLeft).Column + 1
Cells(10, UN).Value = Contan
Contan = 0
End If
Next CC
If Contan <> 0 Then
UN = Worksheets("Foglio1").Range("IV10").End(xlToLeft).Column + 1
Cells(10, UN).Value = Contan
End If
End Sub


Leggi anche il post precedente: di Anthony

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel.2003] Funzione conta

Postdi giulia76 » 01/10/10 14:29

ciao a tutti sono nuova!..scusami Anthony la domanda banale ma volendo scrivere i risultati a destra come devo cambiarla la formula? mi spiego meglio: avendo A1=2;B1=4;C1=2;D1=0;E1=2;F1=0;G1=9;H1=7;I1=0;J1=3;K1=8;L1=4;M1=0;N1=4;O1=2;P1=5;Q1=0;R1=2;S1=9;T1=8 e voglio ottenere il risultato nella cella W1 come devo cambiarla la formulina?..lo so che è una domanda cretina ma ho provato a farla da sola e non ci sono riuscita :oops: grazie ;)
giulia76
Newbie
 
Post: 5
Iscritto il: 29/09/10 10:19

Re: [Excel.2003] Funzione conta

Postdi Flash30005 » 01/10/10 21:33

Ciao Giulia76 e benvenuta nel Forum
In attesa che Anthony ti invii la soluzione con formula adattata alla tua esigenza
ho modificato la macro per scrivere i dati a 3 colonne dall'ultima utilizzata
quindi se la tua ultima colonna è T1
avrai i dati a iniziare da W1
Codice: Seleziona tutto
Sub ContaVal()
ContaN = 0
UC = Worksheets("Foglio1").Range("A1").End(xlToRight).Column
For CC = 1 To UC
    If Cells(1, CC) <> 0 Then
        ContaN = ContaN + 1
    Else
        UN = Worksheets("Foglio1").Range("IV1").End(xlToLeft).Column + 1
        If UN - UC < 3 Then UN = UC + 3
        Cells(1, UN).Value = ContaN
        ContaN = 0
    End If
Next CC
If ContaN <> 0 Then
    UN = Worksheets("Foglio1").Range("IV1").End(xlToLeft).Column + 1
    Cells(1, UN).Value = ContaN
End If
End Sub


Vorrei solo un chiarimento, essendo più conteggi (valori dei numeri tra uno zero e l'altro) come fai a inserire tutto sulla cella W1?
In W1 vuoi la somma dei singoli conteggi
vuoi la media dei conteggi effettuati
oppure il min o il max valore conteggiato?

Fai sapere
ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel.2003] Funzione conta

Postdi Anthony47 » 01/10/10 22:57

Per giulia76:
in W2 e X2, rispettivamente
Codice: Seleziona tutto
=PICCOLO(SE($A$1:$U$1=0;RIF.COLONNA($A1:$U1);"");RIF.RIGA(A1))
=W2-W1
La prima formula sempre Contr-Maiusc-Enter; poi copi verso il basso q.b.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel.2003] Funzione conta

Postdi giulia76 » 03/10/10 01:14

Ciao e grazie per le risposte! allora hai ragione Flash..in effetti mi sono spiegata male e volevo intendere che dalla cella W1 in poi vorrei avere tutti i vari conteggi!..grazie
giulia76
Newbie
 
Post: 5
Iscritto il: 29/09/10 10:19

Re: [Excel.2003] Funzione conta

Postdi giulia76 » 03/10/10 12:18

scusa Flash sto provando anche ad usare la tua macro (prima di ora non sapevo neanche cosa fosse :undecided: ) e vedo che mi funziona bene! che bello!..una cosa ma se volessi farle calcolare infinite righe come devo cambiarla la macro? grazie
giulia76
Newbie
 
Post: 5
Iscritto il: 29/09/10 10:19

Re: [Excel.2003] Funzione conta

Postdi giulia76 » 04/10/10 15:37

..flash chiaramente per "infinite righe" intendo dire tipo 200.000 righe..immagino che debba cambiare le celle di riferimento all'interno della macro..ma dove?!..aiuto! :undecided:
giulia76
Newbie
 
Post: 5
Iscritto il: 29/09/10 10:19

Re: [Excel.2003] Funzione conta

Postdi Flash30005 » 04/10/10 16:16

Si tratta di ripetere tutto quel ciclo per ogni riga
quindi calcolare le righe con una variabile (Es. UR)
e con un ciclo For...next scansionare tutte le righe
chiaramente la riga di riferimento non sarà più fissa come nel caso precedente
Codice: Seleziona tutto
Cells(1, CC)

ma sarà
Codice: Seleziona tutto
Cells(RR, CC)


detto questo
ti invio la macro che conterà tutte le righe del foglio e compilerà la tabella da W a ...

Codice: Seleziona tutto
Sub ContaVal()
Application.Calculation = xlManual
UR = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
For RR = 1 To UR
ContaN = 0
UC = Worksheets("Foglio1").Cells(RR, 1).End(xlToRight).Column
For CC = 1 To UC
    If Cells(RR, CC) <> 0 Then
        ContaN = ContaN + 1
    Else
        UN = Worksheets("Foglio1").Cells(RR, 255).End(xlToLeft).Column + 1
        If UN - UC < 3 Then UN = UC + 3
        Cells(RR, UN).Value = ContaN
        ContaN = 0
    End If
Next CC
If ContaN <> 0 Then
    UN = Worksheets("Foglio1").Cells(RR, 255).End(xlToLeft).Column + 1
    Cells(RR, UN).Value = ContaN
End If
Next RR
Application.Calculation = xlCalculationAutomatic
End Sub


Se i dati origine cambiano sul foglio dovrai per forza pulire la tabella valori aggiunta
e rilanciare la macro

per pulire la tabella valori aggiunta
devi calcolare sia le righe che le colonne
e cancellare quell'area con una macro tipo questa

Codice: Seleziona tutto
Private Sub CalcolaAreaECanc()
righe = Range("W1").CurrentRegion.Rows.Count
col = Range("W1").CurrentRegion.Columns.Count
Range(Cells(1, 23), Cells(righe, 23 + col)).ClearContents
End Sub

se vuoi fare tutto in automatico cioè cancellare l'area puoi richiamare questa macro all'inizio della precedente
(ti riporto un esempio)
Codice: Seleziona tutto
Sub ContaVal() 
Application.Calculation = xlManual      '<<<< riga esistente
Call CalcolaAreaECanc   '<<<<<<<<< riga aggiunta che richiama la macro di cancellazione area
UR = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row     '<<<< riga esistente


Fai sapere se tutto ok
ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel.2003] Funzione conta

Postdi giulia76 » 04/10/10 18:13

che bravo che sei flash! ti mando un bacio! ;)
giulia76
Newbie
 
Post: 5
Iscritto il: 29/09/10 10:19

Re: [Excel.2003] Funzione conta

Postdi Flash30005 » 04/10/10 19:13

giulia76 ha scritto:che bravo che sei flash! ti mando un bacio! ;)


:oops:
(grazie!)
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel.2003] Funzione conta

Postdi Anthony47 » 05/10/10 00:06

che bravo che sei flash! ti mando un bacio! ;)
Tutte a te capitano...
:D :D
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "[Excel.2003] Funzione conta":


Chi c’è in linea

Visitano il forum: Nessuno e 15 ospiti

cron