Risultati da 1 a 10 di 10

Discussione: Ordinare tabella in base a un criterio



  1. #1
    L'avatar di fberlinetta
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Milano
    Età
    26
    Messaggi
    41
    Versione Office
    2013
    Mi Piace ricevuti
    0
    Mi Piace dati
    1

    Ordinare tabella in base a un criterio

    Ciao a tutti ,
    torno a chiedere il vostro aiuto per via di un problema che proprio non riesco a risolvere; mi spiego meglio:


    ho una tabella che devo riordinare in base ad un criterio;
    -la prima cosa che devo fare è riordinare per "Sostituzione", e qui è semplice anche grazie al filtro con "Ordina dalla A alla Z" (FASE 1)
    -Una volta fatto ciò, divido i gruppi per "S01", "S02", "S03", ecc.. e a loro volta li ordino per "TRATTE" in ordine crescente (FASE 2);


    il difficile viene adesso; una volta ordinate per SOSTITUZIONE e successivamente per TRATTE, devo ordinarle per NODI: solo che ognuno di loro ha un codice, e questo codice deve essere adiacente a quello successivo.


    Es:


    47362 77584 (primo nodo)
    77584 47363 (secondo nodo)
    47363 77583 (terzo nodo)
    77583 47362 (quarto nodo)


    Fino ad ottenere solo i codici della TRATTA 1 ma in fila e adiacenti...


    Non esiste un modo per poterli ordinare automaticamente invece che manualmente? Se esistesse anche il modo di ordinare la tabella per i primi due casi, senza farli a mano, sarebbe il top, invece di perdere tempo a utilizzare il filtro...


    Vi ringrazio in anticipo a chi può darmi una mano , lascio il file in questione (PROVA) come allegato.
    File Allegati File Allegati

  2. #2
    L'avatar di Berna11
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Latina
    Età
    62
    Messaggi
    642
    Versione Office
    Excel 2010
    Mi Piace ricevuti
    326
    Mi Piace dati
    125

    Re: Ordinare tabella in base a un criterio

    Ciao fberlinetta forse non ho capito la tua richiesta ma hai provato a fare l'ordinamento dal menu?
    1 - seleziona il contenuto del foglio Originale
    2 - Menu-->Dati-->Ordina
    3 - si apre la finestra ordina per: scegli Sostituzione
    4 - clicca su Aggiungi livello e dal menu a tendina scegli Tratta
    5 - aggiungi altro livello e scegli Nodo iniziale
    6 - dai Ok
    Forse non è questo che vuoi?
    <--- Se ti piace la risposta di qualcuno, oltre a ringraziarlo, puoi cliccare su "Mi Piace" in basso a sinistra del loro messaggio.

  3. #3
    L'avatar di fberlinetta
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Milano
    Età
    26
    Messaggi
    41
    Versione Office
    2013
    Mi Piace ricevuti
    0
    Mi Piace dati
    1

    Re: Ordinare tabella in base a un criterio

    Ciao Berna11, l'ordinamento da menù può risultare efficace per i primi due passaggi, ma per quanto riguarda l'ordinamento dei NODI con quel specifico ordine, non posso usufruire di questa soluzione

  4. #4
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    687
    Versione Office
    2000 - 2013
    Mi Piace ricevuti
    228
    Mi Piace dati
    125

    Re: Ordinare tabella in base a un criterio

    Buona giornata, FBerlinetta;
    quello che non capisco è la regola con la quale vengono definiti i "Nodi".


    Giuseppe
    Windows XP Excel 2000 - Windows 10 Excel 2013

  5. #5
    L'avatar di fberlinetta
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Milano
    Età
    26
    Messaggi
    41
    Versione Office
    2013
    Mi Piace ricevuti
    0
    Mi Piace dati
    1

    Re: Ordinare tabella in base a un criterio

    Buona giornata anche a te GiuseppeMN;
    i nodi possono avere codici casuali e diversi, con la diversità che all'interno della propria SOSTITUZIONE e della propria TRATTA essi se ordinati correttamente risultano adiacenti;
    ora io posso individuare il primo nodo grazie al disegno grafico che possiedo, ma i suoi nodi adiacenti possono essere molti, con conseguente perdita di tempo...
    Quindi individuato il primo, automaticamente si seguirà una linea fino a giungere all'ultimo nodo

  6. #6
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    687
    Versione Office
    2000 - 2013
    Mi Piace ricevuti
    228
    Mi Piace dati
    125

    Re: Ordinare tabella in base a un criterio

    Buona giornata, FBerlinetta;
    in realtà mi sarei aspettato una sequenza diversa da quella da Te proposta.

    Anzichè:
    47362 77584 (Primo Nodo)
    77584 47363 (Secondo Nodo)
    47363 77583 (Terzo Nodo)
    77583 47362 (Quarto Nodo)
    mi aspettavo:
    47363 77584 (Primo Nodo)
    77584 47362 (Secondo Nodo)
    47363 77583 (Terzo Nodo)
    77583 47362 (Quarto Nodo)

    Ma non conoscendo minimamente l'argomento, credo dovrò abbandonare questa Discussione.


    Buon Lavoro e buona serata.

    Giuseppe
    Windows XP Excel 2000 - Windows 10 Excel 2013

  7. #7
    L'avatar di fberlinetta
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Milano
    Età
    26
    Messaggi
    41
    Versione Office
    2013
    Mi Piace ricevuti
    0
    Mi Piace dati
    1

    Re: Ordinare tabella in base a un criterio

    ho optato per quella sequenza, ma poteva partire in tutt'altro modo...

    Un esempio più semplice:

    4 - 5
    2 - 3
    5 - 6
    1 - 2
    3 - 4

    se parto da "1":

    da 1 a 2 (primo nodo)
    da 2 a 3 (secondo nodo)
    da 3 a 4 (terzo nodo)
    da 4 a 5 (quarto nodo)
    da 5 a 6 (quinto nodo)

    quindi sarà:

    1 - 2 (primo nodo)
    2 - 3 (secondo nodo)
    3 - 4 (terzo nodo)
    4 - 5 (quarto nodo)
    5 - 6 (quinto nodo)

  8. #8
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    ferrara
    Età
    40
    Messaggi
    686
    Versione Office
    office pro 2010
    Mi Piace ricevuti
    170
    Mi Piace dati
    107

    Re: Ordinare tabella in base a un criterio

    Ciao Fberlinetta.

    Il tuo quesito mi ha stuzzicato ma devo chiederti di controllare il file che hai allegato per vedere se VERAMENTE i dati immessi sono corretti. Perchè, o non lo sono oppure io sto sbagliando qualcosa.
    NODO INIZIALE NODO FINALE LUNGHEZZA Sostituzione TRATTE
    47363 77584 6,12 S01 1
    47363 77583 6,47 S01 1
    77583 47362 26,35 S01 1
    77584 47362 25,04 S01 1
    12178 19480 1 S01 2
    12198 12199 26 S01 2
    18973 22615 25 S01 2
    12197 12198 39 S01 2
    12199 19480 6,3 S01 2
    18978 34001 3,4 S01 2
    34001 47363 22,3 S01 2
    12194 12193 4 S01 2
    12196 12193 7,02 S01 2
    18978 18973 1 S01 2
    12195 12194 47,31 S01 2
    12197 12196 33 S01 2
    12178 12177 38,3 S01 2
    22615 12177 143,13 S01 2
    DA quello che ho compreso, io immagino il nodo iniziale ed il nodo finale come i due punti di una stesso trattodi di strada.
    Tutti i tratti del percorso danno luogo alla TRATTA

    A questo punto, immagino di prendere, a caso, uno qualsiasi dei tratti e di confrontarlo con gli altri.
    Quando trovo un tratto che ha il capo identico alla coda del primo oppure la coda identica al capo del primo, allora li unisco insieme dal lato giusto. Un pò come nel domino no?

    1|2 -> 2|5 -> 5|6 -> 6|3 -> ...


    Il listato che ho appena postato, è quello che tu proponi nel tuo foglio, denominato FASE2

    A colpo d' occhio si vede che il mio ragionamento non funziona su questi dati perchè quelli rossi non c' azzeccano niente con quelli verdi.
    ed anche prendendoli singolarmente, Solo i verdi o solo i rossi, non si riesce a collegarli fra loro a creare una strada unica.

    I rossi:

    Parto dal primo -----------> 47363 77584
    trovo l' ultimo della lista -> 77584 47362

    dando luogo al tratto: ... - 47363 77584 - 77584 47362 - ...
    cerco una testa che porti 47362 xxxx e non c'è.
    cerco una coda che porti xxxx 47363 e non c'è

    dove sbaglio o cosa manca?

  9. I seguenti utenti hanno dato un "Mi Piace"


  10. #9
    L'avatar di fberlinetta
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Milano
    Età
    26
    Messaggi
    41
    Versione Office
    2013
    Mi Piace ricevuti
    0
    Mi Piace dati
    1

    Re: Ordinare tabella in base a un criterio

    Ciao dracoscrigno, mi scuso in anticipo per non aver risposto alla tua domanda, ma purtroppo ho avuto un lutto in famiglia e avevo abbandonato tutto scordandomi del mio quesito... comunque:

    avevo pensato, per rendere la cosa più semplice, che nel gruppo di NODI (INIZIALI e FINALI) solo della TRATTA 1 la macro andasse a pescare solo quei due numeri che non avevano un doppione, che equivalgono al primo e all’ultimo nodo:

    1|2 -> 2|5 -> 5|6 -> 6|3

    Da li la macro potesse eseguire l’ordine in automatico; tanto se la tratta parte dall’ 1 o parte dal 3 sempre che verrà ordinata tipo domino:

    1|2 -> 2|5 -> 5|6 -> 6|3 primo esempio
    3|6 -> 6|5 -> 5|2 -> 2|1 secondo esempio

    Ovviamente queste coppie di nodi sono sfalsate: i nodi contenuti nella colonna NODO INIZIALE possono tranquillamente diventare NODO FINALE e viceversa, e dal mio allegato effettivamente c’è un errore, perché collegando i nodi della tratta 1 in sequenza si otterrà un cerchio invece che un tratto di strada dritto.

    Il fatto che di un gruppo di numeri, la macro va a pescare solo quelli che non si ripetono, già fa tanto.
    File Allegati File Allegati

  11. #10
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    ferrara
    Età
    40
    Messaggi
    686
    Versione Office
    office pro 2010
    Mi Piace ricevuti
    170
    Mi Piace dati
    107

    Re: Ordinare tabella in base a un criterio

    Citazione Originariamente Scritto da fberlinetta Visualizza Messaggio
    ...avevo pensato, per rendere la cosa più semplice, che nel gruppo di NODI (INIZIALI e FINALI) solo della TRATTA 1 la macro andasse a pescare solo quei due numeri che non avevano un doppione, che equivalgono al primo e all’ultimo nodo:...
    per risolvere questo problema basta l' uso delle formule che, però, dovrà aiutarti qualcun altro a risolvere perchè io non sono pratico nel loro utilizzo e quindi ti farei solo perdere tempo.

    Per costruire, invece, qualcosa di interessante in VBA serve una base dei dati verosimile e non 4 record in croce in un file xlsx e sapere come ottieni quei dati che hai allegato nelle varie discussioni.

    Se li sforna un programma o se li scrivi a mano uno ad uno per tutti i 20 miliardi di nodi della rete. Serve per capire se è veramente possibile determinare una tratta attraverso un algoritmo oppure non vale la pena procedere a qualcosa di più interessante di:


    1. Trovare solo i valori univoci nelal colonna dei nodi iniziale (cioè che si presentano una sola volta in tutta la colonna)
    2. Trovare i valori univoci nella colonna dei nodi finali (cioè che si presentano una sola volta in tutta la colonna)



    P.s.
    Il file con la macro e la classe segmento devo averlo pure cestinato ed io non ricordo mai le mie elucubrazioni quindi c'è da ripensare tutto.
    Mi auguro per te che arrivi anche qualcun altro a darci man forte

Discussioni Simili

  1. [Risolto] Macro per ordinare in base a quante volte è presente un carattere specifico.
    Di Lety88 nel forum Domande su Excel VBA e MACRO
    Risposte: 8
    Ultimo Messaggio: 01/11/16, 21:00
  2. [Risolto] ordinare tabella con più condizioni
    Di nick0573 nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 15/10/16, 20:25
  3. ordinare in ordine crescente 90 numeri in base al loro ritardo
    Di vince nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 24/07/16, 16:12
  4. Non si riesce a ordinare i dati di una tabella
    Di StefanoDB nel forum Domande su Excel in generale
    Risposte: 13
    Ultimo Messaggio: 19/05/16, 19:30
  5. PIVOT ordinare le etichette di colonna in base alla prima
    Di framag nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 10/03/16, 16:22

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •