Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

excel2003 rango senza "salti"

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

excel2003 rango senza "salti"

Postdi wallace&gromit » 10/01/13 12:43

ciao a tutti,
dopo un anno di assidua frequenza del forum pensavo di riuscire a risolvere questo problema.... e invece no!
vorrei ottenere un rango da un range alfabetico (per es: a/b/b/c)
con la formula postata da Anthony:
Codice: Seleziona tutto
=SE(A2<>"";CONTA.SE($A$2:$A$100;"<"&A2)+1;"")
ottengo correttamente 1/2/2/4.
Io però vorrei ottenere 1/2/2/3, perchè non mi interessa che "b" sia ripetuto nel mio range, voglio sapere cosa viene subito dopo "b" ed è "c". Si può fare?
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Sponsor
 

Re: excel2003 rango senza "salti"

Postdi CANAPONE » 10/01/13 14:19

Ciao,

purtroppo devi essere preciso con gli intervalli letti dalla formula, da immettere in forma matriciale:


Codice: Seleziona tutto
=SOMMA(SE(A2>=A$2:A$10;1/CONTA.SE(A$2:A$10;A$2:A$10)))


Saluti
---------------
Excel 2004 su Mac
Excel 2010 su Windows 8
CANAPONE
Utente Senior
 
Post: 425
Iscritto il: 22/11/10 15:43
Località: Firenze

Re: excel2003 rango senza "salti"

Postdi CANAPONE » 10/01/13 14:27

Ciao,

così è di più pratico utilizzo: non è matriciale


Codice: Seleziona tutto
=SE(A2<>"";SOMMA(INDICE((A2>=A$2:A$1000)/CONTA.SE(A$2:A$1000;A$2:A$1000&"");))-1;"")


Saluti
---------------
Excel 2004 su Mac
Excel 2010 su Windows 8
CANAPONE
Utente Senior
 
Post: 425
Iscritto il: 22/11/10 15:43
Località: Firenze

Re: excel2003 rango senza "salti"

Postdi wallace&gromit » 10/01/13 15:06

mitico Canapone, perfetto, come sempre!
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: excel2003 rango senza "salti"

Postdi CANAPONE » 10/01/13 15:09

Ciao,

fai attenzione che la seconda formula vede come scontato la presenza di almeno una cella vuota in A2:A1000; almeno mi sembra, perchè non ho il tempo di metterla alla prova.

Spero funzioni.

Saluti
---------------
Excel 2004 su Mac
Excel 2010 su Windows 8
CANAPONE
Utente Senior
 
Post: 425
Iscritto il: 22/11/10 15:43
Località: Firenze

Re: excel2003 rango senza "salti"

Postdi wallace&gromit » 11/01/13 17:06

eh, pensavo di riuscire a cavarmela ma ancora una volta mi trovo al palo:
con la formula indicata riesco giustamente a creare una colonna d'appoggio in cui inserisco il rango (in numero) dei miei testi, ed in un'altra riesco a risalire al testo corrispondente.
Volevo riuscire a fare il tutto senza colonna d'appoggio ma non ci sono riuscito.
Il mio errore è stato di non porre subito la domanda corretta:
vorrei estrarre un elenco in ordine alfabetico da un elenco caotico di nomi (con ripetizioni), si può fare con una formula e senza colonna d'appoggio?
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: excel2003 rango senza "salti"

Postdi Anthony47 » 11/01/13 19:39

Pero' a questo punto il lo farei con una macro come questa:
Codice: Seleziona tutto
Sub wNg()
myRan = "B2:B10000"   '<<< L' intervallo di origine
Riep = "N2"         '<<< Dove sara' ricreato il nuovo elenco
'
For Each pippo In Range(myRan)
    If pippo.Value <> "" Then
        If Application.WorksheetFunction.CountIf(Range(Riep).Resize(10000, 1), pippo.Value) = 0 Then
            Range(Riep).Offset(10000, 0).End(xlUp).Offset(1, 0) = pippo.Value
        End If
    End If
Next pippo
'
Range(Riep).Resize(10000, 1).Sort Key1:=Range(Riep), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
'
End Sub
Le istruzioni marcate <<< sono da personalizzare; la colonna sottostante a Riep verra' azzerata (per 10mila celle) prima di essere ricompilata.

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: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: excel2003 rango senza "salti"

Postdi CANAPONE » 14/01/13 10:09

Ciao a tutti,

ho fatto una prova formula senza colonna di servizio, senza riuscirci: tentavo di riprodurre la matrice dei risultati.

La macro è sicuramente più veloce e pulita.

Saluti
---------------
Excel 2004 su Mac
Excel 2010 su Windows 8
CANAPONE
Utente Senior
 
Post: 425
Iscritto il: 22/11/10 15:43
Località: Firenze

Re: excel2003 rango senza "salti"

Postdi CANAPONE » 14/01/13 14:59

Ciao,

se in A2:A10 -elenco testo- non ci sono celle vuote, la formula copiata in B2, confermata con control+maiusc+invio, dovrebbe ordinare i dati


Codice: Seleziona tutto
=INDICE($A$2:$A$10;CONFRONTA(PICCOLO(CONTA.SE($A$2:$A$10;"<"&$A$2:$A$10);RIF.RIGA($A1))+1;CONTA.SE($A$2:$A$10;"<"&$A$2:$A$10)+1;0))


Giusto per provare.

Saluti
---------------
Excel 2004 su Mac
Excel 2010 su Windows 8
CANAPONE
Utente Senior
 
Post: 425
Iscritto il: 22/11/10 15:43
Località: Firenze

Re: excel2003 rango senza "salti"

Postdi wallace&gromit » 14/01/13 15:42

ciao,
scusate se intervengo solo ora.
La macro di Anthony va benissimo, invece la tua formula, Canapone, ripete i doppioni.
Mi sa che con le formule si entra in un circolo "vizioso" in cui serve una matrice che fa riferimento a valori contenuti nella stessa e quindi salta tutto. Però i maghi delle formule siete voi....
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: excel2003 rango senza "salti"

Postdi CANAPONE » 14/01/13 16:09

Ciao, assolutamente meglio le macro in questo caso.

Nel caso che ho pubblicato, la difficoltà che non riuscivo a superare era proprio nel far ripetere alla formula i doppioni:

Per ottenere l'elenco univoco in B2

Codice: Seleziona tutto
=INDICE($A$2:$A$10;CONFRONTA(0;CONTA.SE($A$2:$A$10;"<"&$A$2:$A$10)-SOMMA(CONTA.SE($A$2:$A$10;"="&B$1:B1));0))


da confermare con control maiusc+invio.

Formula che diventa poco gestibile con elenchi grandi: rimane solo un esercizio fine a se stesso.

Mi ripeto: meglio le macro ed il vba.

Condivido anche altre formule matriciali, che trovi nel file in fondo a questo articolo:

http://www.riolab.org/index.php?option= ... &Itemid=68

Un caro saluto da Firenze a tutti gli amici.
---------------
Excel 2004 su Mac
Excel 2010 su Windows 8
CANAPONE
Utente Senior
 
Post: 425
Iscritto il: 22/11/10 15:43
Località: Firenze


Torna a Applicazioni Office Windows


Topic correlati a "excel2003 rango senza "salti"":


Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti