Condividi:        

trova e ordina numeri

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

trova e ordina numeri

Postdi 2out » 18/02/13 16:36

ciao ragazzi ho bisogno di un piccolo aiuto per una cosa, penso semplice, che pero non so fare

in un intervallo di celle e4-v29 (potrebbe in futuro cambiare ma non penso che sia importante) dovrei scrivere dei numeri, che vanno da 1 a 999 (pero sono a saltare, per esempio 5-620-332-12-49-231)

nella colonna A vorrei che mi venissero indicati tutti i numeri che ho scritto e in ordine crescente, in modo che mi venga fuori qualcosa del genere:

5
12
49
231
332
620

qualcuno mi sa aiutare? grazie in anticipo
2out
Utente Junior
 
Post: 49
Iscritto il: 14/01/11 09:14

Sponsor
 

Re: trova e ordina numeri

Postdi wallace&gromit » 18/02/13 18:06

ciao,
se inizi a compilare in A1 inserisci:
Codice: Seleziona tutto
=PICCOLO(E$4:V$29;RIF.RIGA())

se invece inizi più in basso dovrai adattare:
Codice: Seleziona tutto
=PICCOLO(E$4:V$29;RIF.RIGA()-x+1)
dove x è la riga in cui inizi.
Poi trascini in basso, se non ti disturba in basso vedrai ripetuto "#NUM!" , se disturba si può si può risolvere.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: trova e ordina numeri

Postdi 2out » 19/02/13 18:07

ciao e grazie di cuore

la formula funziona a meraviglia, il #NUM non mi da particolare fastidio ma se e' possibile toglierlo e' meglio

ps. se non ti creo disturbo, giusto per imparare, mi spieghi secondo quale principio hai costruito la formula? grazie mille
2out
Utente Junior
 
Post: 49
Iscritto il: 14/01/11 09:14

Re: trova e ordina numeri

Postdi 2out » 19/02/13 18:16

no no fermi tutti :) non funziona bene

colpa mia che mi son dimenticato di specificare una cosa. se nell'intervallo metto per esempio i numeri 1-8-5-1-3, quindi con l'1 ripetuto 2 volte, la sequenza che mi vien fuori e' questa

1
1
3
5
8

mentre io non voglio il numero ripetuto. un'altra cosa, se invece di volere questo nella colonna A lo volessi nella colonna B diventerebbe troppo un casino? grazie ancora e scusa il disturbo
2out
Utente Junior
 
Post: 49
Iscritto il: 14/01/11 09:14

Re: trova e ordina numeri

Postdi ricky53 » 19/02/13 20:55

Ciao,
hai provato con il "Filtro Avanzato", selezionando "Copia univoca dei record" e "copia in un'altra posizione"?
Poi dovrai ordinare i dati con "Ordina", "Crescente" ...
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: trova e ordina numeri

Postdi Anthony47 » 19/02/13 23:35

Se i numeri di cui parli sono interi o max con 2-3 decimali, allora prova la formula
Codice: Seleziona tutto
=ARROTONDA(PICCOLO(SE($E$4:$V$29<>"";$E$4:$V$29-RIF.RIGA($E$4:$V$29)/100000-RIF.COLONNA($E$4:$V$29)/10000000;"");RIF.RIGA(A1));0)
Va confermata con Contr-Maiusc-Enter, non il solo Enter; poi copia verso il basso.
Se ci sono i decimali, cambia lo "0" finale, che rappresenta i numeri decimali che si desiderano.

Non credo che funzionera' il suggerimento di Ricky (vedi sopra) perche' con filtro avanzato si copiano i "record" univoci (quindi l' univocita' e' riferita all' insieme delle colonne di una riga, e probabilmente ogni riga di 25 colonne sara' univoca).

Ciao a tutti.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: trova e ordina numeri

Postdi ricky53 » 20/02/13 00:19

Ciao,
vero non va bene perchè io mi ero focalizzato su una sola colonna tratto in inganno (per la fretta di andare a cena) dai dati che avevi esposto.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: trova e ordina numeri

Postdi Flash30005 » 20/02/13 00:28

Leggi i post precedenti
La formula di Anthony contiene i duplicati quindi potrai filtrarli come dice Richy visto che ora sono in una unica colonna
Se, invece, va bene una macro puoi utilizzare questa
Codice: Seleziona tutto
Sub TrovaOrdina2()
Dim Vett(468)
AggR = 0
AzzC = 4
For NV = 1 To 468
RR = (AggR + 4)
AzzC = AzzC + 1
CC = (AzzC)
Vett(NV) = Cells(RR, CC)
If NV Mod 18 = 0 Then
AggR = AggR + 1
AzzC = 4
End If
Next NV
For RN = 1 To 468
    Range("Z" & RN).Value = Vett(RN)
Next RN
Columns("Z:Z").Sort Key1:=Range("Z1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1
For RR1 = 1 To 467
If Range("Z" & RR1).Value = "" Then Exit Sub
Inizio:
For RR2 = RR1 + 1 To 468
If Range("Z" & RR1).Value = Range("Z" & RR2).Value Then
Range("Z" & RR2).Delete Shift:=xlUp
GoTo Inizio
End If
Next RR2
Next RR1
End Sub


Ciao

EDIT ore 1:20 - modificata macro per un bug
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: trova e ordina numeri

Postdi CANAPONE » 20/02/13 06:33

Ciao a tutti,

mi riferisco alle specifiche del problema che hai condiviso nel primo post: se lavori con numeri interi da 1 a 999

Codice: Seleziona tutto
=SE.ERRORE(PICCOLO(SE(CONTA.SE($E$4:$V$29;RIF.RIGA($A$1:$A$999))>0;RIF.RIGA($A$1:$A$999));RIGHE($A$1:$A1));"")


Per versioni precedenti a 2007

Codice: Seleziona tutto
=SE(VAL.ERRORE(PICCOLO(SE(CONTA.SE($E$4:$V$29;RIF.RIGA($A$1:$A$999))>0;RIF.RIGA($A$1:$A$999));RIGHE($A$1:$A1)));"";PICCOLO(SE(CONTA.SE($E$4:$V$29;RIF.RIGA($A$1:$A$999))>0;RIF.RIGA($A$1:$A$999));RIGHE($A$1:$A1)))


Le formule funzionano se inserite in forma matriciale. Dopo aver copiato la formula (esempio) in B2, clicca seleziona B2, premi tasto funzione F2, tenendo premuti contemporaneamente i tasti control+maiusc premi invio per confermare la formula.

Spero sia d'aiuto
---------------
Excel 2004 su Mac
Excel 2010 su Windows 8
CANAPONE
Utente Senior
 
Post: 430
Iscritto il: 22/11/10 15:43
Località: Firenze

Re: trova e ordina numeri

Postdi Anthony47 » 20/02/13 09:06

Non perdere la risposta di canapone, sopra.
Testando la sua formula la trovavo sbagliata e non capivo perche' (in quanto a formule canapone non lo batte nessuno). Poi ho riletto il quesito e ho capito che era sbagliata la mia formula (quella pubblicata 5 messaggi fa, che mirava proprio a far emergere i doppioni, esattamente il contrario di quanto richiesto da 2out).
:oops:
Ciao!
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: trova e ordina numeri

Postdi wallace&gromit » 20/02/13 10:13

vedo che sono scesi in campo i "titani" delle formule, mi permetto comunque di segnalare la mia soluzione (per office 2003), che è più o meno equivalente a quella di canapone ma forse un po' più concisa (assumo che il primo risultato, in B4, sia ottenuto con la formula "=PICCOLO($E$4:$V$29;1)" e che questa formula sia inserita in B5):
Codice: Seleziona tutto
=SE(VAL.ERRORE(PICCOLO(E$4:V$29;MATR.SOMMA.PRODOTTO(SE($E$4:$V$26>0;1;0);SE($E$4:$V$26<=$B4;1;0))+1));"";PICCOLO(E$4:V$29;MATR.SOMMA.PRODOTTO(SE($E$4:$V$26>0;1;0);SE($E$4:$V$26<=$B4;1;0))+1))
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: trova e ordina numeri

Postdi Anthony47 » 20/02/13 13:20

Beh, allora ci riprovo anche io...
Il primo valore lo calcoliamo in D2 usando la formula
Codice: Seleziona tutto
=PICCOLO(E4:V29;1)

Per il secondo useremo in D3:
Codice: Seleziona tutto
=SE(VAL.ERRORE(PICCOLO(SE($E$4:$V$29>D2;$E$4:$V$29;"");1));"";PICCOLO(SE($E$4:$V$29>D2;$E$4:$V$29;"");1))

Da confermare con Contr-Maiusc-Enter, non con il solo Enter. Poi si copia D3 verso il basso.
Ha qualche carattere in meno di quella di W&G, un bel risparmio per la tastiera... :D
Ho usato D2 e sottostanti perche' le colonne precedenti erano gia' occupate dalle altre formule suggerite.

Ciao a tutti!
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: trova e ordina numeri

Postdi Anthony47 » 20/02/13 15:50

Aggiungo questa piccola curiosita', emersa mentre collaudavo le varie formule:
-se la formula di w&g viene inserita in B3 (con Contr-Maiusc-Enter) e poi copiata verso il basso allora i numeri vengono elencati in ordine decrescente

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: trova e ordina numeri

Postdi 2out » 20/02/13 18:50

azz che discussione che ne e' venuta fuori... e io che pensavo fosse una cosa piuttosto semplice e che se avessi avuto un po di tempo potevo studiarci un po e arrivarci da solo!! qui manco fra due anni ce la facevo :lol: mo provo e vi faccio sapere... innanzitutto grazie a tutti, mi avete risolto un bel problema lavorativo...
2out
Utente Junior
 
Post: 49
Iscritto il: 14/01/11 09:14

Re: trova e ordina numeri

Postdi wallace&gromit » 21/02/13 09:56

Anthony47 ha scritto:Ha qualche carattere in meno di quella di W&G, un bel risparmio per la tastiera...

beh, è anche più facilmente comprensibile: si cerca il numero più piccolo nel range escludendo tutti quelli già elencati nelle celle sopra.

Anthony47 ha scritto:i numeri vengono elencati in ordine decrescente

ha un che di biblico: l'ultimo dei PICCOLI sarà il primo :D
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: trova e ordina numeri

Postdi 2out » 21/02/13 11:23

ragazzi confermo funzionava tutto alla grande!!

altro piccolo quesito... ho una lista banale tipo questa (e' solo un esempio ma capire come costruirla mi verra utile per adattarla)

10/01/2013 pane 100g
11/01/2013 carne 200g
12/01/2013 pane 150g
13/01/2013 pasta 120g
14/01/2013 pane 100g
ecc....

come faccio a creare per ognuna di queste voci della lista una lista propria... per esempio pane:
10/01/2013 pane 100g
12/01/2013 pane 150g
14/01/2013 pane 100g

per ognuna di queste voci (nella mia lista saranno tante) mi serve poi una sottolista che si crea automaticamente (un po come se usassi i filtri, ma quello dovrei farlo manualmente)

ancora grazie
2out
Utente Junior
 
Post: 49
Iscritto il: 14/01/11 09:14

Re: trova e ordina numeri

Postdi wallace&gromit » 21/02/13 16:24

questo non c'entra con il topic precedente!
un lavoro di questo tipo si fa generalmente con le tabelle pivot (lo so che fanno paura all'inizio, ma una volta capito il funzionamento sono un gioco da ragazzi)
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: trova e ordina numeri

Postdi Anthony47 » 21/02/13 19:17

Con una macro come questa applichi il filtro tutte le volte che modifichi la cella dedicata a contenere il valore che vuoi filtrare:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
AreaFiltro = "A1:A5000"    '<<L' area che sara' filtrata
Key11 = "$F$1"              '<<La cella con la chiave
'
If Target.Address <> Key11 Then Exit Sub
'
Cri1 = Range(Key11).Value
    Range(AreaFiltro).AutoFilter Field:=1, Criteria1:=Cri1
    Target.Select
End Sub

Tasto dx sul tab col nome file, scegli Visualizza codice, copia la macro e incollala nel frame di dx.
Personalizza le celle marcate <<, poi scrivi la chiave e l' area dovrebbe autofiltrarsi; per vedere tutto devi cancellare la chiave.

Oppure crea una copia della tua area dati, ordina la copia per prodotto e per data, inserisci un Subtotale al variare del prodotto. Tutto (tutto) questo lo fai con una macro autoregistrata che poi eventualmente assegni a un pulsante.

Se tuttavia devi creare un riepilogo, e non una lista grezza, allora tanto vale andare direttamente sulla tabella pivot, come suggerito da w&g.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "trova e ordina numeri":


Chi c’è in linea

Visitano il forum: Nessuno e 60 ospiti