contare numeri progressivi
Hai un problema con Excel? 
contare numeri progressivi
di Ale (utente non iscritto) data: 29/10/2013 14:32:39
Ciao a tutti, nel range A1:F1 vorrei sapere quanti sono i numeri consecutivi.
Grazie dell'aiuto, Ale.
di Vecchio Frac data: 29/10/2013 14:45:15
Cioè quelli la cui differenza è un'unità.
Hai provato a descrivere l'operazione a parole e poi tradurre in formula?
E hai provato a stendere una formula o un pezzo di codice in VBA per conto tuo?
Che risultati hai avuto?
di Ale (utente non iscritto) data: 29/10/2013 14:52:58
Si esatto quelli la cui differenza è una unità.
Si ho provato con la =SE ma non sono riuscito ad ottenere nulla =SE(D1=C1+1;C1;""), trascinando la formula da L1:Q1. Prima ho scritto per comodità A1:F1, in realtà il range è C1:H1.
di Vecchio Frac data: 29/10/2013 15:06:42
Io ho fatto così: mi sono servito di una colonna di appoggio, verificando se la differenza di una cella con quella precedente è 1. Poi ho contato i numeri "1" risultanti.
in A1:A10 i numeri da controllare
in B2 la formula: =SE(A2-A1=1;1;0), trascinata poi fino a B10
in una cella qualsiasi la formula: =SOMMA(B2:B10) ti dà il risultato cercato.
In VBA il concetto è identico (scorri il range dalla seconda cella in giù, se il valore meno il precedente è uno tieni il conto).
di Mister_x (utente non iscritto) data: 29/10/2013 15:11:17
ciao
in L1 e poi trascini fino a Q1
L1=SE.ERRORE(CERCA.ORIZZ(C1+1;D1:$H1;1;0);"")
ciao da Mister_x
di Mister_x (utente non iscritto) data: 29/10/2013 15:15:46
riciao
dimenticata la formula che ho messo in R1 per contare i numeri
R1=CONTA.SE(L1:Q1;">0")
riciao
di Vecchio Frac data: 29/10/2013 15:20:49
UCAS
^_^
vfrac:
=SE(A2-A1=1;1;0)
=SOMMA(B2:B10)
mister_x:
=SE.ERRORE(CERCA.ORIZZ(C1+1;D1:$H1;1;0);"") (p.s.: non funziona in Excel 2003)
=CONTA.SE(L1:Q1;">0")
di MIster_x (utente non iscritto) data: 29/10/2013 15:47:08
ciao V.F.
lo so' che in excel 2003 non funziona ma dato che Ale nel suo primo post ha messo excel 2007 io interpreto che sta usando la versione 2007
per la versione 2003 e inferiore
L1=SE(VAL.ERRORE(CERCA.VERT(D1+1;E1:$I1;1;0));"";CERCA.VERT(D1+1;E1:$I1;1;0))
ciao
di Vecchio Frac data: 29/10/2013 16:04:06
@mister_x
Lo vedi che a pungolarti bene ci si guadagna? ^_^
di Mister_x (utente non iscritto) data: 29/10/2013 19:20:37
ciao V.F.
in questo caso si puo' anche fare in una unica soluzione sfruttando VERO o FALSO senza ricorrere a nessun cerca e somma
=(C1+1=D1)*1+(D1+1=E1)*1+(E1+1=F1)*1+(F1+1=G1)*1+(G1+1=H1)*1
ciao ^_^
di Vecchio Frac data: 30/10/2013 14:26:48
Bellissimo davvero così, naturalmente è limitato a queste poche celle.
Bravo Mister_x.
Vuoi Approfondire?