Excel formula: nejauša skaitļa svērtā varbūtība -

Satura rādītājs

Vispārēja formula

=MATCH(RAND(),cumulative_probability)

Kopsavilkums

Lai izveidotu nejaušu skaitli, kas svērts ar noteiktu varbūtību, varat izmantot palīgu tabulu kopā ar formulu, kuras pamatā ir RAND un MATCH funkcijas.

Parādītajā piemērā formula F5 ir:

=MATCH(RAND(),D$5:D$10)

Paskaidrojums

Šī formula balstās uz palīgu tabulu, kas redzama diapazonā B4: D10. B slejā ir seši skaitļi, kurus mēs vēlamies iegūt kā gala rezultātu. C slejā ir katram skaitlim piešķirtais varbūtības svars, kas ievadīts procentos. D slejā ir kopēta varbūtība, kas izveidota ar šo formulu D5, nokopēta:

=SUM(D4,C4)

Ievērojiet, ka mēs apzināti novirzām kumulatīvo varbūtību vienā rindā uz leju tā, lai vērtība D5 būtu nulle. Tas ir paredzēts, lai pārliecinātos, ka MATCH spēj atrast pozīciju visām vērtībām līdz nullei, kā paskaidrots zemāk.

Lai ģenerētu nejaušu vērtību, izmantojot svērto varbūtību palīgtabulā, F5 ir šī formula, kas nokopēta:

=MATCH(RAND(),D$5:D$10)

MATCH iekšpusē uzmeklēšanas vērtību nodrošina funkcija RAND. RAND ģenerē nejaušu vērtību starp nulli un 1. Uzmeklēšanas masīvs ir diapazons D5: D10, bloķēts, tāpēc tas nemainīsies, formulu nokopējot kolonnā.

Trešais arguments MATCH, spēles veids, ir izlaists. Ja atbilstības veids tiek izlaists, MATCH atgriezīs lielākās vērtības pozīciju, kas ir mazāka vai vienāda ar uzmeklēšanas vērtību *. Praktiski tas nozīmē, ka funkcija MATCH pārvietojas pa vērtībām D5: D10, līdz tiek konstatēta lielāka vērtība, un pēc tam "atkāpjas" iepriekšējā pozīcijā. Kad MATCH sastop vērtību, kas ir lielāka par lielāko pēdējo vērtību D5: D10 (piemērā .7), tā atgriež pēdējo pozīciju (piemērā 6). Kā minēts iepriekš, pirmā vērtība D5: D10 apzināti ir nulle, lai nodrošinātu, ka zemāk par .1 vērtības tiek “noķertas” uzmeklēšanas tabulā un atgriež pozīciju 1.

* Uzmeklēšanas diapazona vērtības jāsakārto augošā secībā.

Nejauša svērtā teksta vērtība

Lai atgrieztu nejaušu svērto teksta vērtību (ti, skaitlisku vērtību), varat ievadīt teksta vērtības diapazonā B5: B10, pēc tam pievienot INDEX, lai atgrieztu vērtību šajā diapazonā, pamatojoties uz MATCH atgriezto pozīciju:

=INDEX($B$5:$B$10,MATCH(RAND(),D$5:D$10))

Piezīmes

  1. Es saskāros ar šo pieeju foruma ziņā vietnē mrexcel.com
  2. RAND ir nepastāvīga funkcija, un tā tiks pārrēķināta ar visām darblapas izmaiņām
  3. Kad jums ir nejauša (-as) vērtība (-as), izmantojiet paste special> vērtības, lai vajadzības gadījumā aizstātu formulu

Interesanti raksti...