Isi kandungan
Tutorial menunjukkan cara menjana nombor rawak, mengisih senarai secara rawak, mendapatkan pemilihan rawak dan memberikan data secara rawak kepada kumpulan. Semuanya dengan fungsi tatasusunan dinamik baharu - RANDARRAY.
Seperti yang anda ketahui, Microsoft Excel sudah mempunyai beberapa fungsi rawak - RAND dan RANDBETWEEN. Apakah ertinya memperkenalkan yang lain? Secara ringkasnya, kerana ia jauh lebih berkuasa dan boleh menggantikan kedua-dua fungsi lama. Selain daripada menetapkan nilai maksimum dan minimum anda sendiri, ia membolehkan anda menentukan bilangan baris dan lajur untuk diisi dan sama ada untuk menghasilkan perpuluhan atau integer rawak. Digunakan bersama dengan fungsi lain, RANDARRAY malah boleh mengocok data dan memilih sampel rawak.
Fungsi RANDARRAY Excel
Fungsi RANDARRAY dalam Excel mengembalikan tatasusunan nombor rawak antara mana-mana dua nombor yang anda tentukan.
Ia adalah salah satu daripada enam fungsi tatasusunan dinamik baharu yang diperkenalkan dalam Microsoft Excel 365. Hasilnya ialah tatasusunan dinamik yang tumpah ke dalam bilangan baris dan lajur yang ditentukan secara automatik.
Fungsi ini mempunyai sintaks berikut. Sila ambil perhatian bahawa semua argumen adalah pilihan:
RANDARRAY([baris], [lajur], [min], [maks], [nombor_seluruh])Di mana:
Baris (pilihan) - mentakrifkan bilangan baris untuk diisi. Jika ditinggalkan, lalai kepada 1 baris.
Lajur (pilihan) - mentakrifkan bilangan lajur untuk diisi. Jika ditinggalkan, lalai kepada 1secara rawak menetapkan peserta kepada kumpulan, formula di atas mungkin tidak sesuai kerana ia tidak mengawal berapa kali kumpulan tertentu dipilih. Sebagai contoh, 5 orang boleh ditugaskan ke kumpulan A manakala hanya 2 orang ke kumpulan C. Untuk melakukan tugasan rawak sekata , supaya setiap kumpulan mempunyai bilangan peserta yang sama, anda memerlukan penyelesaian yang berbeza.
Mula-mula, anda menjana senarai nombor rawak dengan menggunakan formula ini:
=RANDARRAY(ROWS(A2:A13))
Di mana A2:A13 adalah data sumber anda.
Dan kemudian, anda menetapkan kumpulan (atau apa-apa lagi) dengan menggunakan formula generik ini:
INDEX( values_to_assign, ROUNDUP(RANK( first_random_number, random_numbers_range)/ n, 0))Di mana n ialah saiz kumpulan, iaitu bilangan kali setiap nilai perlu diberikan.
Contohnya, untuk menugaskan orang secara rawak ke kumpulan yang disenaraikan dalam E2:E5, supaya setiap kumpulan mempunyai 3 peserta, gunakan formula ini:
=INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0))
Sila ambil perhatian bahawa ia adalah formula biasa (bukan formula tatasusunan dinamik!), jadi anda perlu mengunci julat dengan rujukan mutlak seperti dalam formula di atas.
Masukkan formula anda dalam sel atas (C2 dalam kes kami) dan n seretnya ke seberapa banyak sel yang diperlukan. Hasilnya akan kelihatan seperti ini:
Sila ingat bahawa fungsi RANDARRAY adalah tidak menentu. Untuk mengelakkan penjanaan nilai rawak baharu setiap kali anda menukar sesuatu dalam lembaran kerja, gantikanformula dengan nilainya dengan menggunakan ciri Tampal Khas .
Cara formula ini berfungsi:
Formula RANDARRAY dalam lajur pembantu adalah sangat mudah dan hampir tidak memerlukan penjelasan, jadi mari kita fokus pada formula dalam lajur C.
=INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0))
Fungsi RANK menyusun nilai dalam B2 terhadap tatasusunan nombor rawak dalam B2:B13. Hasilnya ialah nombor antara 1 dan jumlah bilangan peserta (12 dalam kes kami).
Pangkat dibahagikan dengan saiz kumpulan, (3 dalam contoh kami), dan fungsi ROUNDUP membundarkannya kepada integer terdekat. Hasil daripada operasi ini ialah nombor antara 1 dan jumlah bilangan kumpulan (4 dalam contoh ini).
Integer pergi ke argumen row_num bagi fungsi INDEX, memaksanya untuk kembalikan nilai daripada baris yang sepadan dalam julat E2:E5, yang mewakili kumpulan yang ditetapkan.
Fungsi RANDARRAY Excel tidak berfungsi
Apabila formula RANDARRAY anda mengembalikan ralat, ini adalah yang paling jelas sebab untuk menyemak:
Ralat #SPILL
Seperti mana-mana fungsi tatasusunan dinamik lain, #SPILL! ralat paling kerap bermakna tidak ada ruang yang mencukupi dalam julat tumpahan yang dimaksudkan untuk memaparkan semua keputusan. Kosongkan sahaja semua sel dalam julat ini dan formula anda akan dikira semula secara automatik. Untuk mendapatkan maklumat lanjut, sila lihat ralat Excel #SPILL - punca dan pembetulan.
Ralat #VALUE
A #VALUE! ralat mungkin berlaku dalam perkara inikeadaan:
- Jika nilai maks kurang daripada nilai min .
- Jika mana-mana argumen bukan angka.
Ralat #NAME
Dalam kebanyakan kes, #NAME! ralat menunjukkan salah satu daripada yang berikut:
- Nama fungsi salah eja.
- Fungsi ini tidak tersedia dalam versi Excel anda.
#CALC! ralat
A #CALC! ralat berlaku jika argumen baris atau lajur kurang daripada 1 atau merujuk kepada sel kosong.
Begitulah cara membina penjana nombor rawak dalam Excel dengan yang baharu fungsi RANDARRAY. Saya mengucapkan terima kasih kerana membaca dan berharap dapat berjumpa anda di blog kami minggu hadapan!
Buku kerja berlatih untuk muat turun
contoh formula RANDARRAY (fail.xlsx)
lajur.Min (pilihan) - nombor rawak terkecil untuk dihasilkan. Jika tidak dinyatakan, nilai lalai 0 digunakan.
Maks (pilihan) - nombor rawak terbesar untuk dibuat. Jika tidak dinyatakan, nilai lalai 1 digunakan.
Nombor_Seluruh (pilihan) - menentukan jenis nilai yang akan dikembalikan:
- BENAR - nombor bulat
- PALSU atau ditinggalkan (lalai) - nombor perpuluhan
Fungsi RANDARRAY - perkara yang perlu diingat
Untuk menjana nombor rawak dengan cekap dalam lembaran kerja Excel anda, terdapat 6 perkara penting untuk mengambil perhatian:
- Fungsi RANDARRAY hanya tersedia dalam Excel untuk Microsoft 365 dan Excel 2021. Dalam Excel 2019, Excel 2016 dan versi terdahulu fungsi RANDARRAY tidak tersedia.
- Jika tatasusunan yang dikembalikan oleh RANDARRAY ialah hasil akhir (output dalam sel dan tidak dihantar ke fungsi lain), Excel secara automatik mencipta julat tumpahan dinamik dan mengisinya dengan nombor rawak. Jadi, pastikan anda mempunyai sel kosong yang mencukupi di bawah dan/atau di sebelah kanan sel tempat anda memasukkan formula, jika tidak ralat #SPILL akan berlaku.
- Jika tiada argumen dinyatakan, RANDARRAY( ) formula mengembalikan nombor perpuluhan tunggal antara 0 dan 1.
- Jika argumen baris atau/dan lajur diwakili oleh nombor perpuluhan, ia akan dipotong kepada integer keseluruhan sebelum titik perpuluhan (cth. 5.9 akan dilayansebagai 5).
- Jika hujah min atau maks tidak ditakrifkan, RANDARRAY lalai kepada 0 dan 1, masing-masing.
- Seperti rawak lain fungsi, Excel RANDARRAY adalah meruap , bermakna ia menjana senarai baharu nilai rawak setiap kali lembaran kerja dikira. Untuk mengelakkan perkara ini daripada berlaku, anda boleh menggantikan formula dengan nilai dengan menggunakan ciri Tampal Khas > Nilai Excel.
Formula RANDARRAY Excel Asas
Dan sekarang, izinkan saya menunjukkan kepada anda formula Excel rawak dalam bentuk yang paling mudah.
Andaikan anda ingin mengisi julat yang terdiri daripada 5 baris dan 3 lajur dengan sebarang nombor rawak. Untuk melakukannya, sediakan dua argumen pertama dengan cara ini:
- Baris ialah 5 kerana kami mahukan hasil dalam 5 baris.
- Lajur ialah 3 kerana kami mahukan hasil dalam 3 lajur.
Semua argumen lain kami biarkan kepada nilai lalainya dan dapatkan formula berikut:
=RANDARRAY(5, 3)
Masukkannya dalam sel kiri sebelah atas julat destinasi (A2 dalam kes kami), tekan kekunci Enter, dan anda akan mempunyai keputusan tertumpah ke atas bilangan baris dan lajur yang ditentukan.
Seperti yang anda boleh lihat dalam tangkapan skrin di atas, formula RANDARRAY asas ini mengisi julat dengan nombor perpuluhan rawak dari 0 hingga 1. Jika anda lebih suka mendapatkan nombor bulat dalam julat tertentu, kemudian konfigurasikan yang terakhir tiga hujah seperti yang ditunjukkan dalam contoh selanjutnya.
Cara untuk rawak dalamExcel - contoh formula RANDARRAY
Di bawah anda akan menemui beberapa formula lanjutan yang merangkumi senario rawak biasa dalam Excel.
Jana nombor rawak antara dua nombor
Untuk membuat senarai nombor rawak dalam julat tertentu, berikan nilai minimum dalam argumen ke-3 dan nombor maksimum dalam argumen ke-4. Bergantung pada sama ada anda memerlukan integer atau perpuluhan, tetapkan hujah ke-5 kepada TRUE atau FALSE, masing-masing.
Sebagai contoh, mari isi julat 6 baris dan 4 lajur dengan integer rawak dari 1 hingga 100. Untuk ini , kami menyediakan argumen berikut bagi fungsi RANDARRAY:
- Baris ialah 6 kerana kami mahukan hasil dalam 6 baris.
- Lajur ialah 4 kerana kami mahukan hasil dalam 4 lajur.
- Min ialah 1, iaitu nilai minimum yang kami ingin miliki.
- Maks ialah 100, iaitu nilai maksimum yang akan dijana.
- Whole_number adalah BENAR kerana kita memerlukan integer.
Menggabungkan argumen, kita dapat formula ini:
=RANDARRAY(6, 4, 1, 100, TRUE)
Dan ia menghasilkan hasil berikut:
Jana tarikh rawak antara dua tarikh
Mencari penjana tarikh rawak dalam Excel? Fungsi RANDARRAY adalah penyelesaian yang mudah! Apa yang anda perlu lakukan ialah memasukkan tarikh awal (tarikh 1) dan tarikh kemudian (tarikh 2) dalam sel yang dipratentukan, dan kemudian rujuk sel tersebut dalam formula anda:
RANDARRAY(baris, lajur, tarikh1, date2, TRUE)Untuk contoh ini, kami telah mencipta senarai tarikh rawak antara tarikh dalam D1 dan D2 dengan formula ini:
=RANDARRAY(10, 1, D1, D2, TRUE)
Sudah tentu, tiada apa yang menghalang anda daripada membekalkan tarikh min dan maks terus dalam formula jika anda mahu. Pastikan anda memasukkannya dalam format yang Excel boleh fahami:
=RANDARRAY(10, 1, "1/1/2020", "12/31/2020", TRUE)
Untuk mengelakkan kesilapan, anda boleh menggunakan fungsi DATE untuk memasukkan tarikh:
=RANDARRAY(10, 1, DATE(2020,1,1), DATE(2020,12,31), TRUE)
Nota. Secara dalaman Excel menyimpan tarikh sebagai nombor siri, jadi keputusan formula kemungkinan besar akan dipaparkan sebagai nombor. Untuk memaparkan keputusan dengan betul, gunakan format Tarikh pada semua sel dalam julat tumpahan.
Jana hari kerja rawak dalam Excel
Untuk menghasilkan hari bekerja rawak, benamkan fungsi RANDARRAY dalam hujah pertama WORKDAY seperti ini:
WORKDAY(RANDARRAY(baris, lajur, tarikh1 , tarikh2 , BENAR), 1)RANDARRAY akan mencipta tatasusunan tarikh mula rawak, yang mana fungsi WORKDAY akan menambah 1 hari bekerja dan memastikan semua tarikh yang dikembalikan adalah hari bekerja.
Dengan tarikh 1 dalam D1 dan tarikh 2 dalam D2, berikut ialah formula untuk menghasilkan senarai 10 hari bekerja:
=WORKDAY(RANDARRAY(10, 1, D1, D2, TRUE), 1)
Seperti dengan contoh sebelumnya, sila ingat untuk memformat julat tumpahan sebagai Tarikh agar keputusan dipaparkan dengan betul.
Cara menjana nombor rawak tanpa pendua
Walaupun Excel moden menawarkan 6 tatasusunan dinamik baharufungsi, malangnya, masih tiada fungsi terbina untuk mengembalikan nombor rawak tanpa pendua.
Untuk membina penjana nombor rawak unik anda sendiri dalam Excel, anda perlu merantai beberapa fungsi bersama seperti yang ditunjukkan di bawah.
Integer rawak :
INDEKS(UNIK(RANDARRAY( n *2, 1, min , maks , BENAR)), URUTAN( n ))Perpuluhan rawak :
INDEKS(UNIK(RANDARRAY( n *2, 1, min , maks , SALAH)), JURUTAN( n ))Di mana:
- N ialah bilangan nilai yang ingin anda hasilkan.
- Min ialah nilai terendah.
- Maks ialah nilai tertinggi.
Sebagai contoh, untuk menghasilkan 10 nombor bulat rawak tanpa pendua, gunakan formula ini:
=INDEX(UNIQUE(RANDARRAY(20, 1, 1, 100, TRUE)), SEQUENCE(10))
Untuk mencipta senarai 10 nombor perpuluhan rawak unik, tukar TRUE kepada FALSE dalam argumen terakhir fungsi RANDARRAY atau tinggalkan sahaja hujah ini:
=INDEX(UNIQUE(RANDARRAY(20, 1, 1, 100, FALSE)), SEQUENCE(10))
Petua dan nota:
- Penjelasan terperinci formula boleh f terdapat dalam Cara menjana nombor rawak dalam Excel tanpa pendua.
- Dalam Excel 2019 dan lebih awal, fungsi RANDARRAY tidak tersedia. Sebaliknya, sila lihat penyelesaian ini.
Cara mengisih secara rawak dalam Excel
Untuk mengocok data dalam Excel, gunakan RANDARRAY untuk tatasusunan "isih mengikut" ( mengikut_tatasusunan argumen) fungsi SORTBY. Fungsi ROWS akan mengira bilangan baris dalam andaset data, menunjukkan bilangan nombor rawak untuk dijana:
SORTBY( data , RANDARRAY(ROWS( data )))Dengan pendekatan ini, anda boleh mengisih senarai secara rawak dalam Excel, sama ada ia mengandungi nombor, tarikh atau entri teks:
=SORTBY(A2:A13, RANDARRAY(ROWS(A2:A13)))
Selain itu, anda juga boleh rombak baris tanpa mencampurkan data anda:
=SORTBY(A2:B10, RANDARRAY(ROWS(A2:B10)))
Cara untuk mendapatkan pilihan rawak dalam Excel
Untuk mengekstrak rawak contoh daripada senarai, berikut ialah formula generik untuk digunakan:
INDEX( data , RANDARRAY( n , 1, 1, ROWS( data ), BENAR))Di mana n ialah bilangan entri rawak yang anda ingin keluarkan.
Sebagai contoh, untuk memilih 3 nama secara rawak daripada senarai dalam A2:A10, gunakan formula ini :
=INDEX(A2:A10, RANDARRAY(3, 1, 1, ROWS(A2:A10), TRUE))
Atau masukkan saiz sampel yang diingini dalam sesetengah sel, sebut C2 dan rujuk sel itu:
=INDEX(A2:A10, RANDARRAY(C2, 1, 1, ROWS(A2:A10), TRUE))
Cara formula ini berfungsi:
Di teras formula ini ialah fungsi RANDARRAY yang mencipta tatasusunan rawak integer, dengan nilai dalam C2 menentukan berapa banyak nilai untuk dijana . Nombor minimum adalah dikod keras (1) dan nombor maksimum sepadan dengan bilangan baris dalam set data anda, yang dikembalikan oleh fungsi ROWS.
Susun atur integer rawak pergi terus ke row_num argumen fungsi INDEX, menyatakan kedudukan item untuk dikembalikan. Untuk sampel dalam tangkapan skrin di atas, ia ialah:
=INDEX(A2:A10, {8;7;4})
Petua. Apabila memilih sampel besar daripadaset data yang kecil, kemungkinan pilihan rawak anda akan mengandungi lebih daripada satu kejadian entri yang sama, kerana tiada jaminan bahawa RANDARRAY akan menghasilkan nombor unik sahaja. Untuk mengelakkan perkara ini daripada berlaku, gunakan versi bebas pendua formula ini.
Cara memilih baris rawak dalam Excel
Jika set data anda mengandungi lebih daripada satu lajur, kemudian tentukan lajur yang hendak disertakan dalam sampel. Untuk ini, berikan pemalar tatasusunan untuk argumen terakhir ( column_num ) bagi fungsi INDEX, seperti ini:
=INDEX(A2:B10, RANDARRAY(D2, 1, 1, ROWS(A2:A10), TRUE), {1,2})
Di mana A2:B10 ialah data sumber dan D2 ialah saiz sampel.
Akibatnya, pemilihan rawak kami akan mengandungi dua lajur data:
Petua. Seperti yang berlaku dengan contoh sebelumnya, formula ini mungkin mengembalikan rekod pendua. Untuk memastikan sampel anda tiada ulangan, gunakan pendekatan yang sedikit berbeza yang diterangkan dalam Cara memilih baris rawak tanpa pendua.
Cara untuk menetapkan nombor dan teks secara rawak dalam Excel
Untuk melakukan tugasan rawak dalam Excel, gunakan RANDBETWEEN bersama-sama dengan fungsi CHOOSE dengan cara ini:
CHOOSE(RANDARRAY(ROWS( data ), 1, 1, n , BENAR), nilai1 , nilai2 ,…)Di mana:
- Data ialah julat data sumber anda yang anda ingin tetapkan nilai rawak.
- N ialah jumlah bilangan nilai untuk diberikan.
- Nilai1 , nilai2 , nilai3 , dsb. ialah nilai yang akandiberikan secara rawak.
Sebagai contoh, untuk memberikan nombor dari 1 hingga 3 kepada peserta dalam A2:A13, gunakan formula ini:
=CHOOSE(RANDARRAY(ROWS(A2:A13), 1, 1, 3, TRUE), 1, 2, 3)
Untuk kemudahan, anda boleh memasukkan nilai untuk ditetapkan dalam sel berasingan, katakan dari D2 hingga D4 dan rujuk sel tersebut dalam formula anda (secara individu, bukan sebagai julat):
=CHOOSE(RANDARRAY(ROWS(A2:A13), 1, 1, 3, TRUE), D2, D3, D4)
Akibatnya, anda akan dapat menetapkan sebarang nombor, huruf, teks, tarikh dan masa secara rawak dengan formula yang sama:
Nota. Fungsi RANDARRAY akan terus menjana nilai rawak baharu dengan setiap perubahan dalam lembaran kerja, kerana hasilnya nilai baharu akan diberikan setiap kali. Untuk "membetulkan" nilai yang diberikan, gunakan Tampal Khas > Ciri nilai untuk menggantikan formula dengan nilai yang dikira.
Cara formula ini berfungsi
Inti penyelesaian ini sekali lagi ialah fungsi RANDARRAY yang menghasilkan tatasusunan integer rawak berdasarkan nombor min dan maks yang anda tentukan (dari 1 kepada 3 dalam kes kami). Fungsi ROWS memberitahu RANDARRAY berapa banyak nombor rawak untuk dijana. Tatasusunan ini pergi ke argumen index_num bagi fungsi CHOOSE. Contohnya:
=CHOOSE({1;2;1;2;3;2;3;3;1;3;1;2}, D2, D3, D4)
Index_num ialah hujah yang menentukan kedudukan nilai untuk dikembalikan. Dan kerana kedudukan adalah rawak, nilai dalam D2:D4 dipilih dalam susunan rawak. Ya, semudah itu :)
Cara untuk menetapkan data secara rawak kepada kumpulan
Apabila tugas anda adalah untuk