2010-05-08 20 views

Répondre

1

Je n'ai pas Excel devant moi, mais quelque chose comme ça

B1: =Round(Rand()*(a1-3)+1, 0) 
C1: =Round(Rand()*(a1-b1-2)+1, 0) 
D1: =A1-B1-C1 
  • B1 est réglé sur un nombre de 1 à A1-2
  • C1 est réglé sur un certain nombre de 1 à A1-B1-1
  • D1 est réglé sur ce qui reste.
+0

Awsome Merci !! Toutes les bonnes réponses mais fonctionne comme un rêve. – Mike

+1

Ensuite, acceptez la réponse :) - cliquez sur la coche à gauche de la réponse. –

1

Je pense que vous devez écrire une macro pour développer les valeurs dans B1, C1, D1 automatiquement, mais la façon dont je le ferais serait de mettre le code suivant dans B1:

=RANDBETWEEN(1, (A1-2)) 

Ci-dessous en C1:

=RANDBETWEEN(1, (A1-B1-1)) 

Ci-dessous dans D1:

=A1-B1-C1 

Si vous ne disposez pas de la RANDBETWEEN() Fonction ici est comment l'activer:

  1. Dans le menu « Outils », sélectionnez « Add-Ins »
  2. Trouver la référence à « l'analyse ToolPak » et de mettre une coche dans la case
  3. Sélectionnez « OK
1

Sans une macro, je ne vois aucune façon de se déplacer avec des valeurs temporaires indiquées.

Regardez mon illustration ici, qui fait ce que vous essayez d'atteindre: http://www.gratisupload.dk/download/43627/

A2 détient la valeur initiale de diviser

valeurs temporaires:
C2, D2, E2 sont juste = RAND ()

Votre façon uniforme, mais radomly valeurs fourchues apear dans ces cellules:
C5 = A2/(C2 + D2 + E2) * C2
D5 = A2/(C2 + D2 + E2) * D2
E5 = A2/(C2 + D2 + E2) * E2

Edit: Bien sûr, vous pouvez afficher les valeurs temporaires (C2, D2, E2) sur une feuille séparée. Toujours, seulement pour éviter le monde maléfique des macros.