È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

GENERARE COMBINAZIONI CON RIPETIZIONE DI COLORI

  • Messaggi
  • OFFLINE
    lino.59
    Post: 29
    Registrato il: 02/01/2012
    Città: NAPOLI
    Età: 65
    Utente Junior
    EXCEL 2019
    00 09/04/2024 16:31
    Buongiorno
    Ho bisogno di un vostro aiuto per questo problema.
    1) Ho sei colori (allego file)
    E' possibile generare tutte le possibili permutazioni dei colori?
    Grazie per il vostro contributo.
  • OFFLINE
    L2018
    Post: 1.331
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 09/04/2024 16:43
    ciao,
    direi di sì, le permutazioni sono 720, ma per questa operazione ci vuole il VBA, e io lo conosco molto poco
    Aspettiamo un Esperto

    LEO
    https://t.me/LordBrum
  • OFFLINE
    dodo47
    Post: 3.776
    Registrato il: 06/04/2013
    Utente Master
    2010
    00 09/04/2024 16:43
    ciao
    sicuro che vuoi le permutazioni e non le combinazioni??

    saluti




    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    lino.59
    Post: 29
    Registrato il: 02/01/2012
    Città: NAPOLI
    Età: 65
    Utente Junior
    EXCEL 2019
    00 10/04/2024 16:52
    GENERARE TUTTE LE PERMUTAZIONI POSSIBILI
    Si hai ragione la soluzione sono le COMBINAZIONI.
    Nell'attesa della soluzione
    Grazie
  • OFFLINE
    DANILOFIORINI
    Post: 1.255
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Veteran
    2016
    00 10/04/2024 17:16
    Ciao
    Ma per tutte le combinazioni intendi le combinazioni senza ripetizioni?
    Indipendentemente dalla posizione?
    Spiega meglio magari mettendo un allegato con invece di 6 dati iniziali (colori lettere numeri è indifferente) fallo con 3 e mostra il risultato da ottenere
  • OFFLINE
    lino.59
    Post: 31
    Registrato il: 02/01/2012
    Città: NAPOLI
    Età: 65
    Utente Junior
    EXCEL 2019
    00 10/04/2024 19:10
    GENERARE TUTTE LE PERMUTAZIONI POSSIBILI
    Grazie per la specifica,intendo tutte le combinazioni senza ripetizioni indipendentemente dalla posizione.
    Tipo file allegato solo che sono 4 colori,mi occorerebbe con 6 colori.
    Grazie
  • OFFLINE
    L2018
    Post: 1.340
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 10/04/2024 19:24
    Re: GENERARE TUTTE LE PERMUTAZIONI POSSIBILI
    lino.59, 10/04/2024 19:10:

    Grazie per la specifica,intendo tutte le combinazioni senza ripetizioni indipendentemente dalla posizione.
    Tipo file allegato solo che sono 4 colori,mi occorerebbe con 6 colori.
    Grazie


    ciao
    vorrei precisarti che dati 4 numeri, le sequenze, ad esempio
    123
    124
    134
    234
    si chiamano combinazioni di 4 numeri presi 3 alla volta, e senza ripetizioni, cioè combinazioni semplici
    sequenze del tipo
    123
    132
    213
    231
    312
    321
    si chiamano Permutazioni
    invece le sequenze del tuo file si chiamano Combinazioni Con Ripetizione
    E tutto ciò senza tema di smentite

    LEO
    https://t.me/LordBrum
  • OFFLINE
    lino.59
    Post: 32
    Registrato il: 02/01/2012
    Città: NAPOLI
    Età: 65
    Utente Junior
    EXCEL 2019
    00 10/04/2024 19:33
    GENERARE TUTTE LE COMBINAZIONI POSSIBILI
    Grazie per aver specificato la differenze tra combinazioni e permutazioni,adesso mi è più chiaro.
    Quindi rettifico la mia richiesta.
    Tutte le combinazioni senza ripetizioni di: GIALLO AZZURRO VERDE ARANCIONE ROSSO GRIGIO.
    Se è possibile ricevere un file già compilato.
    Scusa/temi per l'incopentenza.
    😀
  • OFFLINE
    L2018
    Post: 1.341
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 10/04/2024 19:49
    Re: GENERARE TUTTE LE COMBINAZIONI POSSIBILI
    lino.59, 10/04/2024 19:33:

    Grazie per aver specificato la differenze tra combinazioni e permutazioni,adesso mi è più chiaro.
    Quindi rettifico la mia richiesta.
    Tutte le combinazioni senza ripetizioni di: GIALLO AZZURRO VERDE ARANCIONE ROSSO GRIGIO.
    Se è possibile ricevere un file già compilato.
    Scusa/temi per l'incopentenza.
    😀


    purtroppo non è finita
    quandio si dice Combinazioni, di solito si intende e poi si esplicita, che per esempio avendo 6 oggetti voglio tutte le combinazioni 3 a 3 , o 4 a 4, eccetera
    quindi per esempio
    1234
    1235
    1236
    1245
    1246
    1256
    quindi da questo punto di vista non si puo' dire Voglio tutte le combinazioni senza ripetizione, perchè manca il secondo parametro
    cioè 6 colori presi 3 alla volta, o 4 alla volta, ecc, senza ripetizioni.
    Comunque il tuo file chiarisce di fatto che tu vuoi le combinazioni di 6 colori prese 6 a 6 con ripetizione, ma il file non è completo,
    e tali combinazioni se non sbaglio sono 462, e siccome non me ne sono mai interessato, non ne sono affatto sicuro.
    Sapere con certezza quello che vuoi serve anche a cambiare se necessario il titolo della discussione



    [Modificato da L2018 10/04/2024 21:00]

    LEO
    https://t.me/LordBrum
  • OFFLINE
    tanimon
    Post: 1.710
    Registrato il: 27/06/2011
    Utente Veteran
    excel 2007
    00 10/04/2024 20:02
    Re: GENERARE TUTTE LE COMBINAZIONI POSSIBILI
    lino.59, 10/04/2024 19:33:


    Se è possibile ricevere un file già compilato.



    bisogna prendere il numero al banco Macro,
    come al Banco Prosciutti/Formaggi al supermercato









    Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
    Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
  • OFFLINE
    DANILOFIORINI
    Post: 1.256
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Veteran
    2016
    00 11/04/2024 09:53
    Buongiorno a tutti
    a scopo didattico si può fare anche con le formule ho fatto un file nuovo al posto dei colori uso i numeri da 1 a 6

    Le combinazioni con ripetizione di 6 numeri sono 46656 e tra queste 720 sono senza ripetizione quindi in A1 da trascinare a destra fino a riga 46656

    =SE(RIF.COLONNA()<=6;SE(RIF.RIGA()<=POTENZA(6;6);(RESTO(ARROTONDA.PER.DIF(RIF.RIGA()/(POTENZA(6;6-RIF.COLONNA()));0);6)+1);"");"")

    in G1 da trascinare in basso fino a riga 46656

    =MATR.SOMMA.PRODOTTO((--(CONTA.SE(A1:F1;1)=1))+(--(CONTA.SE(A1:F1;2)=1))+(--(CONTA.SE(A1:F1;3)=1))+(--(CONTA.SE(A1:F1;4)=1))+(--(CONTA.SE(A1:F1;5)=1))+(--(CONTA.SE(A1:F1;6)=1)))

    infine i risultati in I1 da trascinare a destra fino a N1 e poi in basso fino fino a riga 720

    =INDICE(A$1:A$46656;AGGREGA(15;6;RIF.RIGA($1:$46656)/($G$1:$G$46656=6);RIF.RIGA($A1)))

    ora se i risultati (numeri) li vuoi trasformare in colori usa la formattazione condizionale....dovrai fare 6 regole scrivo solo la prima per 1=giallo

    selezioni da I1 a N720 FORMATTAZIONE CONDIZIONALE
    NUOVA REGOLA
    USA FORMULA
    nella barra della formula metti =I1=1
    imposti il colore carattere e il colore riempimento in giallo e dai OK

    resta inteso che per questo tipo di procedure per le formule usate e la mole di dati si deve optare per il VBA
  • OFFLINE
    L2018
    Post: 1.343
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 11/04/2024 10:00
    ciao Danilo
    a me piace la materia combinatoria, ma sto molto attento se devo uscire dal seminato. Guarda questo algo
    VB
    Sub permC()
    Dim i As Long, j As Long, k As Long, l As Long, m As Long, n As Long, a As Long, b As Long, x As Long
    Range("A:F").ClearContents
    CR:
    For i = 1 To 6: For j = i To 6: For k = j To 6: For l = k To 6: For m = l To 6: For n = m To 6: a = a + 1
    Cells(a, 1) = i: Cells(a, 2) = j: Cells(a, 3) = k: Cells(a, 4) = l: Cells(a, 5) = m: Cells(a, 6) = n
    Next: Next: Next: Next: Next: Next
    Range("H1").Value = a
    End Sub
    

    il risultato è 462 record
    come la mettiamo ?
    so benissimo che 6 cicli FOR A=1 to 6 danno luogo ad un caos di permutazioni (anche) ripetute che comprendono (anche) le combinazioni ecc., e perciò ho escogitato l'algo qui sopra.
    poichè non sono pratico di VBA ho sviluppato le combinazioni e poi ho fatto la prova con la Formattazione Condizionale che ho aggiunto al risultato, ovviamente è un metodo da inesperto, ma mi ha funzionato
    e qui si innesta l'ultima parte del tuo post relativo appunto alla F.C.
    che ne dici ?
    [Modificato da L2018 11/04/2024 10:14]

    LEO
    https://t.me/LordBrum
  • OFFLINE
    L2018
    Post: 1.344
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 11/04/2024 10:42
    Poichè qui pare che servano la combinazioni con ripetizione, la formula è
    C_(6,6)
    cioè Comb (6+6-1);6
    cioè 11*10*9*8*7*6/(1*2*3*4*5*6)
    = 462
    sapendo questo bisogna escogitare un algoritmo semplice e adatto, che mi pare essere quello appena proposto, e che ho testato
    vedi allegato
    Saluti
    [Modificato da L2018 11/04/2024 10:45]

    LEO
    https://t.me/LordBrum
  • OFFLINE
    DANILOFIORINI
    Post: 1.257
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Veteran
    2016
    00 11/04/2024 10:56
    Ciao
    @leo
    Io non sono un matematico se vai qui

    https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://www.webfract.it/MATJAVA/Combina1.htm&ved=2ahUKEwjUqr3r47mFAxUO8gIHHQhSDbIQFnoECAQQAQ&usg=AOvVaw0Ty1ccnhjxqZcXj6tfxRqe

    C è un calcolatore online se metti 6 e 6 ti restituisce 720.....ora con la procedura proposta prima per fare una verifica basta concatenare i risultati e contare gli univoci....

    Io credo che il risultato sia corretto
  • OFFLINE
    L2018
    Post: 1.345
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 11/04/2024 11:05
    non voglio insistere, ma temo che tu abbia sbagliato sezione, quella giusta è
    https://www.webfract.it/MATJAVA/Combina2.htm
    da guardare in basso Combinazioni con ripetizione
    d'altra parte un risultato 720 realtivo al numero 6 è quello delle Permutazioni
    hai visto il mio file completo allegato in secondo momento nel mio post precedente ?

    LEO
    https://t.me/LordBrum
  • OFFLINE
    L2018
    Post: 1.346
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 11/04/2024 11:22
    se fai girare la mia semplice macro in un attimo hai le 462 combinazioni, che si possono facilmente esaminare, per verificare che
    non sono combinazioni senza ripetizione , e non sono permutazioni.
    ora io da inesperto di vba ci ho appiccicato (DOPO) la F.C. ottenendo in un istante i colori corrispondenti ai numeri che compaiono
    ma io non so mettere InteriorColorIndex nella macro altrimenti sarebbe fatta in 1 secondo
    naturalmente sto parlando di macro e non di formule

    LEO
    https://t.me/LordBrum
  • OFFLINE
    DANILOFIORINI
    Post: 1.258
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Veteran
    2016
    00 11/04/2024 13:06
    Ciao
    @Leo io uso excel solo per diletto è noto che non scrivo codice.....comunque ti riallego il file in P1 metto

    =I1&J1&K1&L1&M1&N1 cosi concateno i risultati in Q2 da trascinare fino a riga 721

    =INDICE($P$1:$P$720;CONFRONTA(0;INDICE(CONTA.SE(Q$1:Q1;$P$1:$P$720&"");;);0))

    estraggo la lista univoca (se come affermi i risultati devono essere 462 da riga 464 mi avrebbe dovuto restituire errore )

    per ulteriore conferma mi calcolo il numero degli univoci in R2

    =MATR.SOMMA.PRODOTTO(--(FREQUENZA(CONFRONTA(P1:P720;P1:P720;0);RIF.RIGA(1:720))>0))
    che restituisce 720....io col 365 non la confermo matriciale....se serve confermatela

    ora a me sembra corretto.......poi fate voi
    un saluto
  • OFFLINE
    L2018
    Post: 1.347
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 11/04/2024 13:11
    ok, Danilo
    prendo atto e faccio qualche verifica
    anche io non so scrivere codice, nè sono un matematico
    Grazie

    LEO
    https://t.me/LordBrum
  • OFFLINE
    L2018
    Post: 1.349
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 12/04/2024 12:31
    Buongiorno
    tenendo presente la macro del post #12 (in alternativa alla soluzione di Danilo)
    quando io trovo la frase
    Cells(a, 1) = i: Cells(a, 2) = j: Cells(a, 3) = k: Cells(a, 4) = l: Cells(a, 5) = m: Cells(a, 6) = n
    come, cosa e dove dovrei cambiare per ottenere i vari colori ?
    da un lato vorrei che nelle varie celle comparissero i numeri da 1 a 6, ma non importa.
    d'altra parte, secondo la richiesta dell'OP è necessario, più che il numero, mettere lo sfondo colorato.
    Ma mi sembra che non si possa fare cells(a,1).interior.colorindex = qualcosa
    quindi come si dovrebbe sostituire esattamente cells(x,y) con Range(x,y).interior.colorindex ?
    Il problema non interessa me, ma per il Forum ribadisco la richiesta dell' OP, di cui credo di aver capito che voglia le Combinazioni con Ripetizione, come si evince chiaramente dal suo file del post #6, e nonostante le sue contraddizioni.
    Ho provato con la formattazione condizionale, fatta dopo l'elenco delle combinazioni, ma non so mettere 6 regole nella F.C. di Excel.
    Grazie
    Saluti

    LEO
    https://t.me/LordBrum
  • OFFLINE
    dodo47
    Post: 3.781
    Registrato il: 06/04/2013
    Utente Master
    2010
    00 12/04/2024 13:29
    Ciao

    Sub permC()
    Dim i As Long, j As Long, k As Long, l As Long, m As Long, n As Long, a As Long, b As Long, x As Long
    Dim ColorArr() As Long
    Range("A:F").ClearFormats
    ReDim ColorArr(1 To 6)
    ColorArr(1) = 65535
    ColorArr(2) = 15773696
    ColorArr(3) = 5296274
    ColorArr(4) = 49407
    ColorArr(5) = 255
    ColorArr(6) = 10921638
    For i = 1 To 6: For j = i To 6: For k = j To 6: For l = k To 6: For m = l To 6: For n = m To 6: a = a + 1
    Cells(a, 1).Interior.Color = ColorArr(i): Cells(a, 2).Interior.Color = ColorArr(j): Cells(a, 3).Interior.Color = ColorArr(k): Cells(a, 4).Interior.Color = ColorArr(l): Cells(a, 5).Interior.Color = ColorArr(m): Cells(a, 6).Interior.Color = ColorArr(n)
    Next: Next: Next: Next: Next: Next
    Range("H1").Value = a
    End Sub
    


    saluti





    [Modificato da dodo47 12/04/2024 13:31]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    L2018
    Post: 1.350
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 12/04/2024 14:01
    A @Dodo47 Domenico

    un grazie infinito, se basta l'aggettivo, per la soluzione come al solito beccata in pieno al primo colpo.
    Altro che la mia prova puerile che mi restituiva le prove tecniche di trasmissione.
    Un Grazie davvero che gli dovrebbe venire anche e soprattutto dall' OP
    Questa soluzione, a mio avviso, dovrebbe essere quella giusta, nel senso che ho ricontrollato i vari siti e sembra che effettivamente le combinazioni con ripetizione di (6,6) siano proprio 462.
    La soluzione di Danilo, pure apprezzabile per la pazienza nell'uso delle formule, restituisce in realtà le PERMUTAZIONI di 6 oggetti.
    Ma alla fine Lino.59 userà quella che gli piace.
    Piccolo suggerimento: un'istruzione che metta il bordo sottile ad ogni cella non guasterebbe, ma cercheremo di studiare un po', è giusto.
    A me resta l'algoritmo, che non avevo mai usato, e che mi piace
    Complimenti, Domenico
    [Modificato da L2018 12/04/2024 14:11]

    LEO
    https://t.me/LordBrum
  • OFFLINE
    L2018
    Post: 1.351
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 12/04/2024 14:28
    ed ecco il file "compilato"
    si attiva con CTRL+M
    ciao

    LEO
    https://t.me/LordBrum
  • OFFLINE
    L2018
    Post: 1.352
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 12/04/2024 20:26
    ...e per chiarirsi le idee visivamente il file allegato fa
    sia le Combinazioni Con Ripetizione
    che le Permutazioni, di 6 numeri-colori
    Thanks Dodo
    ciao

    LEO
    https://t.me/LordBrum
  • OFFLINE
    L2018
    Post: 1.353
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Veteran
    EXCEL 2016 - SPREAD32
    00 13/04/2024 10:48
    Re:
    in questa ultima edizione a destra compare anche un esempio di 6 oggetti-colori, in questo caso Combinazioni Semplici (quindi Senza Ripetizione) di 6 elementi presi (ad esempio) 3 alla volta.
    C'è anche la tabellina di corrispondenza Colore-Numero
    Questi 3 giocattoli sono utili alle tante, troppe, persone che continuano a non distinguere le varie modalità del Calcolo Combinatorio
    non preoccupatevi, non disturbo più
    Arrivederci
    [Modificato da L2018 13/04/2024 12:17]

    LEO
    https://t.me/LordBrum