Nomer acak tanpa mbaleni

Formulasi masalah

Ayo dadi nganggep yen kita kudu nggawe pesawat saka nomer acak integer tanpa repetitions ing sawetara tartamtu saka nilai. Conto ing perjalanan:

  • ngasilake kode acak unik kanggo produk utawa pangguna
  • nemtokake wong kanggo tugas (saben siji kanthi acak saka dhaptar)
  • permutasi tembung ing pitakon telusuran (hello seo-shnikam)
  • main lotre lsp.

Cara 1. Prasaja

Kanggo miwiti, ayo nimbang pilihan sing prasaja: kita kudu entuk set acak 10 integer saka 1 nganti 10. Nggunakake fungsi sing dibangun ing Excel ANTARA KASUS (EDGE ANTARA) uniqueness ora dijamin. Yen sampeyan ngetik ing sel sheet lan nyalin mudhun 10 sel, banjur repetitions bisa gampang kelakon:

Nomer acak tanpa mbaleni

Mulane, kita bakal pindhah cara liyane.

Kabeh versi Excel duwe fungsi URUTAN (RANG), dimaksudaké kanggo peringkat utawa, kanthi tembung liya, nemtokake posisi paling dhuwur saka nomer ing sawijining set. Nomer paling gedhe ing dhaptar duwe pangkat = 1, nomer loro ing ndhuwur duwe pangkat = 2, lan liya-liyane.

Ayo ketik fungsi ing sel A2 SLCHIS (RAND) tanpa bantahan lan nyalin rumus mudhun 10 sel. Fungsi iki bakal ngasilake 10 nomer pecahan acak saka 0 nganti 1:

Nomer acak tanpa mbaleni

Ing kolom sabanjuré kita introduce fungsi URUTANkanggo nemtokake posisi ing peringkat kanggo saben nomer acak sing ditampa:

Nomer acak tanpa mbaleni

Kita entuk ing kolom B apa sing dikarepake - nomer wilangan acak sing ora diulang saka 1 nganti 10.

Secara teoritis, kahanan bisa kedadeyan nalika SLCHIS bakal menehi kita loro nomer acak podho rupo ing kolom A, rangking bakal cocog lan kita bakal njaluk pengulangan ing kolom B. Nanging, kemungkinan skenario kuwi arang banget cilik, diwenehi kasunyatan sing akurasi 15 panggonan desimal.

Cara 2. Ruwet

Cara iki rada luwih rumit, nanging mung nggunakake siji rumus array. Ayo dadi ngomong kita kudu nggawe dhaptar 9 non-baleni integer acak ing sawetara saka 1 kanggo 50 ing sheet.

Ketik rumus ing ngisor iki ing sel A2, klik ing pungkasan Ctrl + Shift + Ketik (kanggo ngetik minangka rumus array!) lan salin rumus mudhun menyang nomer sel sing dikarepake:

Nomer acak tanpa mbaleni

Cara 3. Makro

Lan, mesthi, sampeyan bisa ngatasi masalah nggunakake pemrograman ing Visual Basic. Ing salah siji saka artikel lawas bab random sampling, Aku wis disebut Lotto array fungsi macro, kang mrodhuksi nomer dibutuhake nomer acak non-baleni saka interval tartamtu.

  • Cara ngetung jumlah nilai unik ing sawetara
  • Pilihan acak saka unsur saka dhaftar

Ninggalake a Reply