Buongiorno e buona domenica,
vedendo la velocità della macro realizzata nel topic numeri consecutivi per riga
ho riesumato un vecchio progetto abbandonato perchè le macro realizzate e/o adattate
non funzionavano oppure i tempi di elaborazione erano elevati, anche giorni interi,
per confrontare circa 10.000 righe.
si tratta di confrontare ciascuna riga con tutte quelle successive alla ricerca dei numeri uguali,
e di riportare il risultato del confronto in altre celle.
il risultato in questo caso non è la quantità di numeri uguali ma il numero di volte in cui si hanno
numeri singoli, coppie, terzine, ... sestine oppure nessun numero uguale.
confrontiamo la prima riga, riga 10, range (H10:M10), con tutte le righe successive;
in riga 11 non ci sono numeri uguali, riporto sotto 0N, in X10 e X11 il valore 1, ad indicare che 1 volta
non si hanno numeri in comune.
passiamo alla riga successiva, e confrontiamo sempre la riga 10 con la riga 12, e qui si hanno 4 numeri uguali,
riporto sotto 4N in T10 e T12 il valore 1, ad indicare che 1 volta si hanno 4 numeri uguali, una quartina.
in pratica è come avere 2 range uguali e confronto ogni riga del range1 con ciascuna riga del range2,
escludendo dal range2 la riga uguale.
confrontando la riga 10 con la 13 trovo 1 numero uguale e sotto 1N, in W10 e W13, scrivo 1.
continuando il confronto tra riga 10 e successive, in riga 14, e poi in riga 17, trovo 6 numeri uguali, range uguale,
in colonna 6N in R10 scrivo 1 e poi 2, mentre in R14 ed R17 inserisco la stringa = RIGA 10.
terminato il confronto tra riga 10 e successive, passo a confrontare riga 11 con tutte le successive
fino all'ultima riga, aggiungendo ai valori già presenti nel range R-X il risultato di questo ulteriore confronto.
così procedo per le altre righe del range N-M.
faccio notare, può essere utile per velocizzare il confronto, che in ciascuna riga del range H-M,
i numeri sono unici e disposti in ordine crescente.
nel caso particolare di 6 numeri uguali, quando nel confronto si giunge ad esaminare una riga del tipo 14 o 17 con le successive, è inutile eseguire il confronto essendo uguali a riga 10, troverei gli stessi valori di riga 10 e falserebbe il risultato finale, per cui possiamo passare direttamente ad esaminare la riga successiva cioè la 15 o la 18 rispettivamente.
allego un file con poche righe identico a quello in figura.
http://www.filedropper.com/numeriuguali
date le mie conoscenze limitate di excel è possibile che con qualche altro criterio o modificando la macro del topic citato
si possa raggiungere il risultato in tempi accettabili.
saluti, grazie