Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Unione casuale valori tra celle

29 views
Skip to first unread message

mau1791

unread,
Oct 2, 2021, 4:44:18 AM10/2/21
to
Ciao a tutti,
ho 4 celle contenente questi valori
a1: Luca
a2: Paolo
a3: Matteo
a4: Sara

come posso avere una concatenazione casuale di 3 nomi di cui sopra nelle adiacenti celle tipo:
b1: "Luca, Matteo, Paolo"
b2: "Sara, Paolo, Luca"
b3: "Matteo, Sara, Paolo"
b4: "Paolo, Luca, Sara"

L'importante è che nelle celle concatenate non vi sia nessuna cella uguale tra esse.

grazie

Bruno Campanini

unread,
Oct 3, 2021, 2:28:10 PM10/3/21
to
mau1791 formulated on Saturday :
b4 è sbagliato: Paolo, Luca, Sara sono già in b2,
pertanto b4 = Matteo, Luca , Sara

Il calcolo dek numero delle combinazioni (semplici) è semplice:

n!
C(n,k) = C(n,n-k)= ---------
k!(n-k)!

Generarne la lista è cosa un po' complicata.
Nella circostanza:
123, 124, 134, 234

Se può invece capitarti di dover generare la lista di combinazioni
semplici (senza ripetizione) di 10 elementi 3 a 3 ti occorre una
procedura VBA.
In quest'ultimo caso le combinazioni sono 120, tanto per dartene
un'idea:

{{1, 2, 3}, {1, 2, 4}, {1, 2, 5}, {1, 2, 6}, {1, 2, 7}, {1, 2, 8}, {1,
2, 9}, {1, 2, 10}, {1, 3, 4}, {1, 3, 5}, {1, 3, 6}, {1, 3, 7}, {1,
3, 8}, {1, 3, 9}, {1, 3, 10}, {1, 4, 5}, {1, 4, 6}, {1, 4, 7}, {1,
4, 8}, {1, 4, 9}, {1, 4, 10}, {1, 5, 6}, {1, 5, 7}, {1, 5, 8}, {1,
5, 9}, {1, 5, 10}, {1, 6, 7}, {1, 6, 8}, {1, 6, 9}, {1, 6, 10}, {1,
7, 8}, {1, 7, 9}, {1, 7, 10}, {1, 8, 9}, {1, 8, 10}, {1, 9, 10}, {2,
3, 4}, {2, 3, 5}, {2, 3, 6}, {2, 3, 7}, {2, 3, 8}, {2, 3, 9}, {2,
3, 10}, {2, 4, 5}, {2, 4, 6}, {2, 4, 7}, {2, 4, 8}, {2, 4, 9}, {2,
4, 10}, {2, 5, 6}, {2, 5, 7}, {2, 5, 8}, {2, 5, 9}, {2, 5, 10}, {2,
6, 7}, {2, 6, 8}, {2, 6, 9}, {2, 6, 10}, {2, 7, 8}, {2, 7, 9}, {2,
7, 10}, {2, 8, 9}, {2, 8, 10}, {2, 9, 10}, {3, 4, 5}, {3, 4, 6}, {3,
4, 7}, {3, 4, 8}, {3, 4, 9}, {3, 4, 10}, {3, 5, 6}, {3, 5, 7}, {3,
5, 8}, {3, 5, 9}, {3, 5, 10}, {3, 6, 7}, {3, 6, 8}, {3, 6, 9}, {3,
6, 10}, {3, 7, 8}, {3, 7, 9}, {3, 7, 10}, {3, 8, 9}, {3, 8, 10}, {3,
9, 10}, {4, 5, 6}, {4, 5, 7}, {4, 5, 8}, {4, 5, 9}, {4, 5, 10}, {4,
6, 7}, {4, 6, 8}, {4, 6, 9}, {4, 6, 10}, {4, 7, 8}, {4, 7, 9}, {4,
7, 10}, {4, 8, 9}, {4, 8, 10}, {4, 9, 10}, {5, 6, 7}, {5, 6, 8}, {5,
6, 9}, {5, 6, 10}, {5, 7, 8}, {5, 7, 9}, {5, 7, 10}, {5, 8, 9}, {5,
8, 10}, {5, 9, 10}, {6, 7, 8}, {6, 7, 9}, {6, 7, 10}, {6, 8,
9}, {6, 8, 10}, {6, 9, 10}, {7, 8, 9}, {7, 8, 10}, {7, 9, 10}, {8,
9, 10}}

Se non sei fermo a C4,3 ti mando il codice VBA.

Bruno

mau1791

unread,
Oct 4, 2021, 2:30:02 PM10/4/21
to
Il giorno domenica 3 ottobre 2021 alle 20:28:10 UTC+2 Bruno Campanini ha scritto:
> mau1791 formulated on Saturday :
> > Ciao a tutti,
> > ho 4 celle contenente questi valori
> > a1: Luca
> > a2: Paolo
> > a3: Matteo
> > a4: Sara
> >
> > come posso avere una concatenazione casuale di 3 nomi di cui sopra nelle
> > adiacenti celle tipo: b1: "Luca, Matteo, Paolo"
> > b2: "Sara, Paolo, Luca"
> > b3: "Matteo, Sara, Paolo"
> > b4: "Paolo, Luca, Sara"
> >
> > L'importante è che nelle celle concatenate non vi sia nessuna cella uguale
> > tra esse.
> >
> > grazie
> b4 è sbagliato: Paolo, Luca, Sara sono già in b2,
> pertanto b4 = Matteo, Luca , Sara
>
> Il calcolo del numero delle combinazioni (semplici) è semplice:
Grazie della disamina, ma a me interessa solamente che la stringa 'complessiva' presente nella cella sia diversa dalle altre 3:
ecco perché "Paolo, Luca, Sara" la considero diversa da ""Sara, Paolo, Luca".

Bruno Campanini

unread,
Oct 5, 2021, 12:19:30 PM10/5/21
to
After serious thinking mau1791 wrote :

> Grazie della disamina, ma a me interessa solamente che la stringa
> 'complessiva' presente nella cella sia diversa dalle altre 3: ecco perché
> "Paolo, Luca, Sara" la considero diversa da ""Sara, Paolo, Luca".

Pensavo ti riferissi alle combinazioni semplici, poiché
C4,3 = 4

Invece ti riferisci alle Permutazioni semplici, dove
P3 = 6

Nel tuo caso:
Luca, Matteo, Paolo
Luca, Paolo, Matteo
Matteo, Luca, Paolo
Matteo, Paolo, Luca
Paolo, Luca, Matteo
Paolo, Matteo, Luca

Bruno

mau1791

unread,
Oct 5, 2021, 1:42:15 PM10/5/21
to
esatto.

Bruno Campanini

unread,
Oct 8, 2021, 9:15:45 PM10/8/21
to
After serious thinking mau1791 wrote :
> Il giorno martedì 5 ottobre 2021 alle 18:19:30 UTC+2 Bruno Campanini ha
> scritto:
>> After serious thinking mau1791 wrote :
>>> Grazie della disamina, ma a me interessa solamente che la stringa
>>> 'complessiva' presente nella cella sia diversa dalle altre 3: ecco perché
>>> "Paolo, Luca, Sara" la considero diversa da ""Sara, Paolo, Luca".
>> Pensavo ti riferissi alle combinazioni semplici, poiché
>> C4,3 = 4
>>
>> Invece ti riferisci alle Permutazioni semplici, dove
>> P3 = 6
>>
>> Nel tuo caso:
>> Luca, Matteo, Paolo
>> Luca, Paolo, Matteo
>> Matteo, Luca, Paolo
>> Matteo, Paolo, Luca
>> Paolo, Luca, Matteo
>> Paolo, Matteo, Luca
>>
>> Bruno
>
> esatto.

Nel qual caso ne trovi in Internet a iosa, nei vari linguaggi.
Tutte, a mio avviso, abbastanza incomprensibili; tant'è che ne ho
compilata una semplicissima partendo dai 6 termini fissi di 3!
Il codice si è allungato ma la velocità è autentata.

Non l'ho trovata, mi sono organizzato nella catalogazione delle mie
routine solo qualche anno fa; prima di allora sono solo ammucchiate.

Bruno
0 new messages