„Excel“ formulė: atsitiktinių skaičių svertinė tikimybė

Turinys

Bendroji formulė

=MATCH(RAND(),cumulative_probability)

Santrauka

Norėdami sugeneruoti atsitiktinį skaičių, pasvertą pagal tam tikrą tikimybę, galite naudoti pagalbininkų lentelę ir formulę, pagrįstą funkcijomis RAND ir MATCH.

Parodytame pavyzdyje formulė F5 yra:

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

Paaiškinimas

Ši formulė remiasi pagalbininkų lentele, matoma diapazone B4: D10. B stulpelyje yra šeši skaičiai, kurių norime gauti kaip galutinį rezultatą. C stulpelyje pateikiamas kiekvienam skaičiui priskirtas tikimybės svoris, įvestas procentais. D stulpelyje pateikiama sukaupta tikimybė, sukurta naudojant šią formulę D5, nukopijuota žemyn:

=SUM(D4,C4)

Atkreipkite dėmesį, mes sąmoningai perkeliame kaupiamąją tikimybę žemyn viena eilute žemyn, kad D5 reikšmė būtų lygi nuliui. Tai siekiama įsitikinti, kad MATCH sugeba rasti visų reikšmių padėtį iki nulio, kaip paaiškinta toliau.

Norėdami sukurti atsitiktinę vertę, naudodama pagalbinės lentelės svertinę tikimybę, F5 yra ši formulė, nukopijuota žemyn:

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

„MATCH“ viduje paieškos reikšmę teikia funkcija RAND. RAND sukuria atsitiktinę reikšmę nuo nulio iki 1. Paieškos masyvas yra diapazonas D5: D10, užrakintas, todėl jis nepasikeis, kol formulė nukopijuojama žemyn stulpelyje.

Trečiasis MATCH argumentas, atitikties tipas, praleistas. Nepateikus atitikties tipo, MATCH grąžins didžiausios vertės poziciją, mažesnę arba lygią paieškos vertei *. Praktiškai tai reiškia, kad funkcija MATCH juda palei D5: D10 reikšmes, kol sutinkama didesnė vertė, tada „žengia atgal“ į ankstesnę padėtį. Kai MATCH susiduria su verte, didesne už didžiausią paskutinę reikšmę D5: D10 (pavyzdyje .7), ji grąžina paskutinę poziciją (6 pavyzdyje). Kaip minėta pirmiau, pirmoji D5: D10 reikšmė sąmoningai lygi nuliui, kad būtų užtikrinta, kad žemesnės nei .1 reikšmės būtų „sugautos“ pagal paieškos lentelę ir grąžintų 1 poziciją.

* Paieškos diapazono vertės turi būti rūšiuojamos didėjimo tvarka.

Atsitiktinė svertinė teksto vertė

Norėdami grąžinti atsitiktinę svertinę teksto vertę (ty ne skaitinę vertę), galite įvesti teksto reikšmes diapazone B5: B10, tada pridėti INDEX, kad grąžintumėte to diapazono vertę, atsižvelgiant į padėtį, kurią grąžino MATCH:

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

Pastabos

  1. Aš susidūriau su tokiu požiūriu forumo įraše mrexcel.com
  2. RAND yra nepastovi funkcija, kuri bus perskaičiuojama kiekvieną kartą pakeitus darbalapį
  3. Kai turėsite atsitiktinę (-es) vertę (-es), naudokite įklijuokite specialias> reikšmes, jei reikia, pakeisdami formulę

Įdomios straipsniai...