Calcolo combinatorio e formule

33 views
Skip to first unread message

r

unread,
May 14, 2010, 6:05:48 PM5/14/10
to excel_vba
ci voglio provare ... partiamo dalle disposizioni con ripetizioni ...
in sostanza nella prima riga ... gli elementi ... definiamo un
intervallo dinamico ... definiamo un nome, "range" e assegnamo questa
formula:
=SCARTO($A$1;;;;CONTA.SE($1:$1;"<>"))

in A2 la formula:
=SE(E((RIF.RIGA(A1)-1<COLONNE(range)^COLONNE(range));COLONNE(range)
+1>RIF.COLONNA(A1));INDICE(range;1+RESTO(INT((RIF.RIGA(D1)-1)/
(COLONNE(range)^(COLONNE(range)-RIF.COLONNA())));COLONNE(range))))

da trascinare in basso e a destra ...
sicuramente migliorabile ...
saluti
r

r

unread,
May 15, 2010, 11:08:20 AM5/15/10
to excel_vba
inizio a migliorare io ...
rendendola variabile
...
da wiki la definizione:
Una presentazione ordinata di elementi di un insieme nella quale si
possono avere ripetizioni di uno stesso elemento si dice disposizione
con ripetizioni. Cerchiamo il numero delle possibili sequenze di k
oggetti estratti dagli elementi di un insieme di n oggetti, ognuno dei
quali può essere preso più volte. Si hanno n possibilità per scegliere
il primo componente, n per il secondo, altrettante per il terzo e così
via, sino al k-esimo che completa la configurazione.

sempre a partire da A2:
=SE(E((RIF.RIGA($A1)-1<COLONNE(range)^$K$3);$K$3+1>RIF.COLONNA(A
$1));INDICE(range;1+RESTO(INT((RIF.RIGA($A1)-1)/
(COLONNE(range)^(RIF.COLONNA(A$1)-1)));COLONNE(range))))

e trascinando in basso e a destra

dove in K3 c'è il numero di k oggetti (presenti in range)
la definizione di range è quella data in precedenza
nella prima riga quindi gli n oggetti.
saluti
r

r

unread,
May 15, 2010, 7:05:42 PM5/15/10
to excel_vba
continuo ... dati come precedentemente descritto
disposizioni semplici ... in A2:

=SE(E((FATTORIALE(COLONNE(range))/FATTORIALE(COLONNE(range)-$K
$3))>(RIF.RIGA($A1)-1);$K$3+1>RIF.COLONNA(A$1));INDICE(range;
1+RESTO((INT((RIF.RIGA(A1)-1)/COLONNE(range))*(RIF.COLONNA(A1)-1))
+RIF.COLONNA(A1)-1+RESTO(INT(RIF.RIGA($A1))-1;COLONNE(range));COLONNE(range)));NON.DISP())

trascinare in basso e a destra

sicuramente da migliorare ...
saluti
r

r

unread,
May 16, 2010, 4:37:21 AM5/16/10
to excel_vba
ho caricato un file ...
sulle disposizioni semplici ... ho qualche dubbio ... ma ci
penserò ...
saluti
r

roberto mensa

unread,
May 16, 2010, 11:32:42 AM5/16/10
to excel_vba
infatti funzionano solo per serie di 2 ... vedremo ...

roberto mensa

unread,
May 17, 2010, 6:32:32 AM5/17/10
to excel_vba

ho caricato un secondo file ... riassumo quanto presente ...
primo foglio le disposizioni semplici di n elementi presi 2 volte
secondo foglio disposizioni con ripetizioni di n elementi per k sequenze nelle colonne di sinistra, nelle colonne di destra disposizioni sempli di n elementi per k sequenze ... in questo caso si hanno anche le permutazioni che ricordiamolo sono casi particolari di disposizioni semplici
 
saluti
r
 

r

unread,
May 17, 2010, 9:30:23 AM5/17/10
to excel_vba
nel file calcolo combinatorio3 ho aggiunto le combinazioni semplici
che prima mancavano ....
saluti
r

roberto mensa

unread,
May 17, 2010, 11:27:34 AM5/17/10
to excel_vba
continuo ... a ruota ...
definire un nome che restituisce una matrice contenente le disposizioni con ripetizione
 
inserisci nome "disp_a", formula:
=1+RESTO(INT((RIF.RIGA(SCARTO($A$1;;;$G$4^$F$4))-1)/($G$4^(RIF.COLONNA(SCARTO($A$1;;;;$F$4))-1)));$G$4)
restituisce una matrice contenente le disposizioni con ripetizioni dati il numero di oggetti (in G4) e la lunghezza della sequenza (in F4)
 
saluti
r
 

r

unread,
May 17, 2010, 6:22:35 PM5/17/10
to excel_vba
mi sto proprio divertendo :-) ... va beh lo so ... parlo da solo :-)
ma sta cosa del calcolo combinatorio mi sta intrippando ...
ho allegato un nuovo file ... ho tolto i vecchi per evitare
confusione ...
quello che ho aggiunto è un nome che restituisce una matrice con le
disposizioni semplici ... per il resto ho dedicato fogli a singoli
argomenti ... ma scaricate il file e provate ...
visto però che nno ho finito ... chi vuole mi segua in questo
viaggio :-)
saluti
r

r

unread,
May 18, 2010, 7:45:17 AM5/18/10
to excel_vba
nuovo aggiornamento ... aggiunti 2 nome che restituiscono matrici di:
disposizioni con ripetizioni di n elementi per k serie sotto forma di
numeri quindi in una sola colonna tipo
111
112
113
121
122
....

stesso lavoro per disposizioni semplici di serie k = 2 per n elementi
12
13
14
15
21
23
24
25
....

allego file ... versione 7
ciao
r

roberto mensa

unread,
May 18, 2010, 12:00:02 PM5/18/10
to excel_vba
continuo a ruota libera :-)
aggiungo disposizioni semplici senza tabella di appoggio (evvai!) utilizza un nome definito e una colonna di appoggio ... restituisce un numero ... tipo:
321
312
231
213
132
123

volendo è facile dividere gli oggetti in singole celle ...
aggiorno il file ... sarà l'8

saluti
r

r

unread,
May 19, 2010, 11:39:52 AM5/19/10
to excel_vba
mi sono accorto che la tabella delle combinazioni non funzionava a
dovere ... ho scelto una nuova strada ... nel file versione 10 trovate
quindi un foglio apposito per le combinazioni semplici ...
al prossimo aggiornamento
saluti
r

Paolo

unread,
May 19, 2010, 4:13:08 PM5/19/10
to excel_v...@googlegroups.com
Ciao Roby, parlando di combinazioni non mi pare che funzioni molto bene.
Fai alcune prove con K=2 o =3, vedrai che escono delle ripetizioni.
Per il resto dammi il tempo di guardare. Domani ci metter� le mani e ti
sapr� dire.
Per il momento ciao Paolo

--------------------------------------------------
From: "r" <robb...@gmail.com>
Sent: Wednesday, May 19, 2010 5:39 PM
To: "excel_vba" <excel_v...@googlegroups.com>
Subject: Re: Calcolo combinatorio e formule
Reply all
Reply to author
Forward
0 new messages