Come distribuire equamente un elenco di valori

Supponiamo di avere un foglio di lavoro con due colonne di dati. La prima colonna ha in ordine sequenziale ogni lettera dell’alfabeto, dalla A alla Z (oppure qualsiasi altra sequenza univoca di caratteri). La seconda colonna contiene un numero di ore correlato alla lettera dell’alfabeto.

E se volessi distribuire, nel modo più uniforme possibile, una combinazione delle lettere dell’alfabeto in quattro gruppi basati sulla terza colonna (ore)? Ad esempio, se la somma di tutte le ore per ogni lettera dell’alfabeto è 4.000 ore, vuoi ottenere una combinazione che separi l’alfabeto in modo che ciascuno dei quattro gruppi abbia circa 1.000 ore.

Questo è in realtà un problema ben noto nel campo della matematica discreta. Una varietà di algoritmi è stata sviluppata per fornire soluzioni e ci sono alcuni linguaggi di programmazione (come LISP) che facilitano notevolmente la creazione di strutture ad albero che possono “cercare” soluzioni ottimali.

In questo caso, tuttavia, è meglio un approccio semplice, che implica l’utilizzo di una macro. Supponiamo che tu abbia i tuoi dati nelle colonne da A a B. La seguente macro analizzerà l’intervallo specificato e restituirà una combinazione di valori che soddisfano i tuoi requisiti.

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

=Distribuisci($A$2:$B$22;2;4;3;1)
Come distribuire equamente un elenco di valori 1

Tags: , , , ,

Ti è stato utile?