Fungsi Excel RANDARRAY - cara cepat untuk menghasilkan angka acak

  • Bagikan Ini
Michael Brown

Tutorial ini menunjukkan cara menghasilkan angka acak, mengurutkan daftar secara acak, mendapatkan pilihan acak, dan menetapkan data secara acak ke grup. Semua dengan fungsi array dinamis baru - RANDARRAY.

Seperti yang mungkin Anda ketahui, Microsoft Excel sudah memiliki beberapa fungsi pengacakan - RAND dan RANDBETWEEN. Apa gunanya memperkenalkan fungsi yang lain? Singkatnya, karena fungsi ini jauh lebih kuat dan dapat menggantikan kedua fungsi yang lebih lama. Selain mengatur nilai maksimum dan minimum Anda sendiri, fungsi ini memungkinkan Anda menentukan berapa banyak baris dan kolom yang akan diisi dan apakah akan menghasilkan desimal acak atauDigunakan bersama dengan fungsi-fungsi lain, RANDARRAY bahkan dapat mengacak data dan memilih sampel acak.

    Fungsi Excel RANDARRAY

    Fungsi RANDARRAY di Excel mengembalikan larik angka acak antara dua angka yang Anda tentukan.

    Ini adalah salah satu dari enam fungsi larik dinamis baru yang diperkenalkan di Microsoft Excel 365. Hasilnya adalah larik dinamis yang tumpah ke dalam jumlah baris dan kolom yang ditentukan secara otomatis.

    Fungsi ini memiliki sintaks berikut. Harap perhatikan bahwa semua argumen bersifat opsional:

    RANDARRAY([baris], [kolom], [min], [max], [whole_number])

    Di mana:

    Baris (opsional) - menentukan berapa banyak baris yang akan diisi. Jika dihilangkan, defaultnya adalah 1 baris.

    Kolom (opsional) - menentukan berapa banyak kolom yang akan diisi. Jika dihilangkan, defaultnya adalah 1 kolom.

    Min (opsional) - angka acak terkecil yang akan dihasilkan. Jika tidak ditentukan, nilai default 0 digunakan.

    Max (opsional) - angka acak terbesar yang akan dibuat. Jika tidak ditentukan, nilai default 1 digunakan.

    Whole_number (opsional) - menentukan jenis nilai apa yang akan dikembalikan:

    • BENAR - bilangan bulat
    • SALAH atau dihilangkan (default) - angka desimal

    Fungsi RANDARRAY - hal-hal yang perlu diingat

    Untuk menghasilkan angka acak secara efisien di lembar kerja Excel Anda, ada 6 poin penting yang harus diperhatikan:

    • Fungsi RANDARRAY hanya tersedia di Excel untuk Microsoft 365 dan Excel 2021. Di Excel 2019, Excel 2016 dan versi sebelumnya, fungsi RANDARRAY tidak tersedia.
    • Jika array yang dikembalikan oleh RANDARRAY adalah hasil akhir (output dalam sel dan tidak diteruskan ke fungsi lain), Excel secara otomatis membuat rentang tumpahan dinamis dan mengisinya dengan angka acak. Jadi, pastikan Anda memiliki cukup sel kosong di bawah dan / atau di sebelah kanan sel tempat Anda memasukkan rumus, jika tidak, kesalahan #SPILL akan terjadi.
    • Jika tidak ada argumen yang ditentukan, rumus RANDARRAY() mengembalikan satu angka desimal antara 0 dan 1.
    • Jika barisan atau/dan kolom argumen diwakili oleh angka desimal, argumen tersebut akan dipotong ke seluruh bilangan bulat sebelum titik desimal (misalnya 5.9 akan diperlakukan sebagai 5).
    • Jika min atau max argumen tidak didefinisikan, RANDARRAY secara default masing-masing menjadi 0 dan 1.
    • Seperti fungsi acak lainnya, Excel RANDARRAY adalah mudah menguap , yang berarti ia menghasilkan daftar baru nilai acak setiap kali lembar kerja dihitung. Untuk mencegah hal ini terjadi, Anda dapat mengganti rumus dengan nilai dengan menggunakan Excel Tempel Khusus > Nilai-nilai fitur.

    Rumus dasar Excel RANDARRAY

    Dan sekarang, izinkan saya menunjukkan kepada Anda rumus Excel acak dalam bentuknya yang paling sederhana.

    Misalkan Anda ingin mengisi rentang yang terdiri dari 5 baris dan 3 kolom dengan angka acak apa pun. Untuk menyelesaikannya, siapkan dua argumen pertama dengan cara ini:

    • Baris adalah 5 karena kita menginginkan hasil dalam 5 baris.
    • Kolom adalah 3 karena kita menginginkan hasilnya dalam 3 kolom.

    Semua argumen lain kita biarkan ke nilai defaultnya dan dapatkan rumus berikut:

    =RANDARRAY(5, 3)

    Masukkan di sel kiri atas dari rentang tujuan (A2 dalam kasus kami), tekan Memasukkan kunci, dan Anda akan mendapatkan hasil yang tersebar di sejumlah baris dan kolom yang ditentukan.

    Seperti yang Anda lihat pada gambar di atas, rumus RANDARRAY dasar ini mengisi rentang dengan angka desimal acak dari 0 hingga 1. Jika Anda lebih suka mendapatkan bilangan bulat dalam rentang tertentu, konfigurasikan tiga argumen terakhir seperti yang ditunjukkan pada contoh selanjutnya.

    Cara mengacak di Excel - contoh rumus RANDARRAY

    Di bawah ini Anda akan menemukan beberapa rumus lanjutan yang mencakup skenario pengacakan khas di Excel.

    Menghasilkan angka acak di antara dua angka

    Untuk membuat daftar angka acak dalam rentang tertentu, berikan nilai minimum dalam argumen ke-3 dan angka maksimum dalam argumen ke-4. Bergantung pada apakah Anda memerlukan bilangan bulat atau desimal, setel argumen ke-5 ke TRUE atau FALSE, masing-masing.

    Sebagai contoh, mari kita isi rentang 6 baris dan 4 kolom dengan bilangan bulat acak dari 1 hingga 100. Untuk ini, kami menyiapkan argumen berikut dari fungsi RANDARRAY:

    • Baris adalah 6 karena kita menginginkan hasilnya dalam 6 baris.
    • Kolom adalah 4 karena kita menginginkan hasilnya dalam 4 kolom.
    • Min adalah 1, yang merupakan nilai minimum yang kita inginkan.
    • Max adalah 100, yang merupakan nilai maksimum yang akan dihasilkan.
    • Whole_number adalah TRUE karena kita membutuhkan bilangan bulat.

    Menyatukan argumen-argumen tersebut, kita mendapatkan rumus ini:

    =RANDARRAY(6, 4, 1, 100, TRUE)

    Dan itu menghasilkan hasil berikut ini:

    Menghasilkan tanggal acak di antara dua tanggal

    Mencari generator tanggal acak di Excel? Fungsi RANDARRAY adalah solusi mudah! Yang harus Anda lakukan adalah memasukkan tanggal sebelumnya (tanggal 1) dan tanggal kemudian (tanggal 2) di sel yang telah ditentukan, lalu mereferensikan sel tersebut dalam rumus Anda:

    RANDARRAY(baris, kolom, date1 , date2 , TRUE)

    Untuk contoh ini, kami telah membuat daftar tanggal acak antara tanggal di D1 dan D2 dengan rumus ini:

    =RANDARRAY(10, 1, D1, D2, TRUE)

    Tentu saja, tidak ada yang menghalangi Anda untuk memberikan tanggal min dan max secara langsung dalam rumus jika Anda menginginkannya. Pastikan Anda memasukkannya dalam format yang dapat dimengerti Excel:

    =RANDARRAY(10, 1, "1/1/2020", "12/31/2020", TRUE)

    Untuk mencegah kesalahan, Anda bisa menggunakan fungsi DATE untuk memasukkan tanggal:

    =RANDARRAY(10, 1, TANGGAL(2020,1,1), TANGGAL(2020,12,31), TRUE)

    Catatan. Secara internal Excel menyimpan tanggal sebagai nomor seri, sehingga hasil rumus kemungkinan besar akan ditampilkan sebagai angka. Untuk menampilkan hasil dengan benar, terapkan Tanggal format ke semua sel dalam rentang tumpahan.

    Hasilkan hari kerja acak di Excel

    Untuk menghasilkan hari kerja acak, sematkan fungsi RANDARRAY pada argumen pertama WORKDAY seperti ini:

    HARI KERJA (RANDARRAY (baris, kolom, date1 , date2 , TRUE), 1)

    RANDARRAY akan membuat larik tanggal mulai acak, di mana fungsi WORKDAY akan menambahkan 1 hari kerja dan memastikan bahwa semua tanggal yang dikembalikan adalah hari kerja.

    Dengan tanggal 1 di D1 dan tanggal 2 di D2, berikut rumus untuk menghasilkan daftar 10 hari kerja:

    =WORKDAY(RANDARRAY(10, 1, D1, D2, TRUE), 1)

    Seperti contoh sebelumnya, harap ingat untuk memformat rentang tumpahan sebagai Tanggal agar hasilnya ditampilkan dengan benar.

    Cara menghasilkan angka acak tanpa duplikat

    Meskipun Excel modern menawarkan 6 fungsi array dinamis baru, sayangnya, masih belum ada fungsi bawaan untuk mengembalikan angka acak tanpa duplikat.

    Untuk membangun sendiri generator angka acak yang unik di Excel, Anda perlu merantai beberapa fungsi bersama seperti yang ditunjukkan di bawah ini.

    Bilangan bulat acak :

    INDEKS(UNIK(RANDARRAY( n *2, 1, min , max , TRUE)), URUTAN( n ))

    Desimal acak :

    INDEKS(UNIK(RANDARRAY( n *2, 1, min , max , FALSE)), URUTAN( n ))

    Di mana:

    • N adalah berapa banyak nilai yang ingin Anda hasilkan.
    • Min adalah nilai terendah.
    • Max adalah nilai tertinggi.

    Misalnya, untuk menghasilkan 10 bilangan bulat acak tanpa duplikat, gunakan rumus ini:

    =INDEX(UNIQUE(RANDARRAY(20, 1, 1, 100, TRUE)), SEQUENCE(10))

    Untuk membuat daftar 10 unique angka desimal acak , ubah TRUE menjadi FALSE di argumen terakhir dari fungsi RANDARRAY atau cukup hilangkan argumen ini:

    =INDEX(UNIQUE(RANDARRAY(20, 1, 1, 100, FALSE)), SEQUENCE(10))

    Kiat dan catatan:

    • Penjelasan rinci dari rumus tersebut dapat ditemukan di Cara menghasilkan angka acak di Excel tanpa duplikat.
    • Di Excel 2019 dan sebelumnya, fungsi RANDARRAY tidak tersedia. Sebagai gantinya, silakan lihat solusi ini.

    Cara mengurutkan secara acak di Excel

    Untuk mengacak data di Excel, gunakan RANDARRAY untuk larik "urutkan berdasarkan" ( by_array Fungsi ROWS akan menghitung jumlah baris dalam kumpulan data Anda, yang menunjukkan berapa banyak angka acak yang akan dihasilkan:

    SORTBY( data , RANDARRAY(BARIS( data )))

    Dengan pendekatan ini, Anda bisa mengurutkan daftar secara acak di Excel, apakah itu berisi angka, tanggal, atau entri teks:

    =SORTBY(A2:A13, RANDARRAY(ROWS(A2:A13))))

    Selain itu, Anda juga bisa mengacak barisan tanpa mencampur data Anda:

    =SORTBY(A2:B10, RANDARRAY(ROWS(A2:B10))))

    Cara mendapatkan pilihan acak di Excel

    Untuk mengekstrak sampel acak dari sebuah daftar, berikut ini rumus umum untuk digunakan:

    INDEX( data , RANDARRAY( n , 1, 1, 1, BARIS( data ), TRUE))

    Di mana n adalah jumlah entri acak yang ingin Anda ekstrak.

    Misalnya, untuk memilih 3 nama secara acak dari daftar di A2:A10, gunakan rumus ini:

    =INDEX(A2:A10, RANDARRAY(3, 1, 1, ROWS(A2:A10), TRUE))

    Atau masukkan ukuran sampel yang diinginkan di beberapa sel, katakanlah C2, dan rujuk sel itu:

    =INDEX(A2:A10, RANDARRAY(C2, 1, 1, ROWS(A2:A10), TRUE))

    Bagaimana formula ini bekerja:

    Inti dari rumus ini adalah fungsi RANDARRAY yang membuat larik acak bilangan bulat, dengan nilai di C2 yang menentukan berapa banyak nilai yang akan dihasilkan. Angka minimal adalah hardcoded (1) dan angka maksimum sesuai dengan jumlah baris dalam kumpulan data Anda, yang dikembalikan oleh fungsi ROWS.

    Larik bilangan bulat acak langsung menuju ke row_num argumen dari fungsi INDEX, menentukan posisi item yang akan dikembalikan. Untuk sampel pada tangkapan layar di atas, itu adalah:

    =INDEX(A2:A10, {8;7;4})

    Tip. Ketika memilih sampel besar dari kumpulan data kecil, kemungkinan besar pemilihan acak Anda akan berisi lebih dari satu kejadian dari entri yang sama, karena tidak ada jaminan bahwa RANDARRAY hanya akan menghasilkan angka unik. Untuk mencegah hal ini terjadi, gunakan versi bebas duplikat dari rumus ini.

    Cara memilih baris acak di Excel

    Jika kumpulan data Anda berisi lebih dari satu kolom, maka tentukan kolom mana yang akan disertakan dalam sampel. Untuk ini, berikan konstanta array untuk argumen terakhir ( column_num ) dari fungsi INDEX, seperti ini:

    =INDEX(A2:B10, RANDARRAY(D2, 1, 1, ROWS(A2:A10), TRUE), {1,2})

    Dimana A2:B10 adalah sumber data dan D2 adalah ukuran sampel.

    Hasilnya, pemilihan acak kita akan berisi dua kolom data:

    Tip. Seperti halnya dengan contoh sebelumnya, rumus ini dapat mengembalikan catatan duplikat. Untuk memastikan bahwa sampel Anda tidak memiliki pengulangan, gunakan pendekatan yang sedikit berbeda yang dijelaskan di Cara memilih baris acak tanpa duplikat.

    Cara menetapkan angka dan teks secara acak di Excel

    Untuk melakukan penugasan acak di Excel, gunakan RANDBETWEEN bersama dengan fungsi CHOOSE dengan cara ini:

    PILIH (RANDARRAY (BARIS( data ), 1, 1, n , TRUE), nilai1 , nilai2 ,...)

    Di mana:

    • Data adalah rentang data sumber Anda yang ingin Anda tetapkan nilai acak.
    • N adalah jumlah total nilai yang akan ditetapkan.
    • Nilai1 , nilai2 , value3 , dsb. adalah nilai-nilai yang akan ditetapkan secara acak.

    Misalnya, untuk menetapkan angka dari 1 hingga 3 ke peserta dalam A2:A13, gunakan rumus ini:

    =PILIH(RANDARRAY(ROWS(A2:A13), 1, 1, 3, TRUE), 1, 2, 3)

    Untuk kenyamanan, Anda bisa memasukkan nilai yang akan ditetapkan dalam cell terpisah, misalnya dari D2 ke D4, dan mereferensikan cell-cell tersebut dalam rumus Anda (secara individual, bukan sebagai range):

    =PILIH(RANDARRAY(ROWS(A2:A13), 1, 1, 3, TRUE), D2, D3, D4)

    Hasilnya, Anda akan dapat menetapkan angka, huruf, teks, tanggal dan waktu secara acak dengan rumus yang sama:

    Catatan. Fungsi RANDARRAY akan terus menghasilkan nilai acak baru dengan setiap perubahan di lembar kerja, sebagai hasilnya nilai baru akan ditetapkan setiap saat. Untuk "memperbaiki" nilai yang ditetapkan, gunakan fitur Tempel Khusus> Nilai untuk mengganti rumus dengan nilai terhitungnya.

    Bagaimana formula ini bekerja

    Inti dari solusi ini lagi-lagi adalah fungsi RANDARRAY yang menghasilkan larik bilangan bulat acak berdasarkan angka min dan max yang Anda tentukan (dari 1 hingga 3 dalam kasus kami). Fungsi ROWS memberi tahu RANDARRAY berapa banyak bilangan acak yang akan dihasilkan. Larik ini masuk ke index_num argumen dari fungsi CHOOSE. Sebagai contoh:

    =PILIH({1;2;1;2;2;3;2;3;3;1;3;1;2}, D2, D3, D4)

    Index_num adalah argumen yang menentukan posisi nilai yang akan dikembalikan. Dan karena posisinya acak, nilai di D2:D4 dipilih dalam urutan acak. Yap, sesederhana itu :)

    Bagaimana cara menetapkan data secara acak ke dalam kelompok

    Bila tugas anda adalah menugaskan peserta secara acak ke dalam kelompok, rumus di atas mungkin tidak cocok karena tidak mengontrol berapa kali kelompok tertentu dipilih. Misalnya, 5 orang bisa ditugaskan ke kelompok A sementara hanya 2 orang ke kelompok C. Untuk melakukan penugasan acak secara merata agar setiap kelompok memiliki jumlah peserta yang sama, Anda memerlukan solusi yang berbeda.

    Pertama, Anda menghasilkan daftar angka acak dengan menggunakan rumus ini:

    =RANDARRAY(BARIS(A2:A13))

    Di mana A2:A13 adalah sumber data Anda.

    Dan kemudian, Anda menetapkan kelompok (atau apa pun) dengan menggunakan rumus umum ini:

    INDEX( values_to_assign , PEMBULATAN(PERINGKAT( first_random_number , random_numbers_range )/ n , 0))

    Di mana n adalah ukuran kelompok, yaitu jumlah berapa kali setiap nilai harus ditetapkan.

    Misalnya, untuk menetapkan orang secara acak ke dalam kelompok-kelompok yang tercantum dalam E2:E5, sehingga setiap kelompok memiliki 3 peserta, gunakan rumus ini:

    =INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0))

    Harap perhatikan bahwa ini adalah rumus biasa (bukan rumus array dinamis!), jadi kamu perlu mengunci rangenya dengan referensi absolut seperti pada rumus di atas.

    Masukkan rumusmu di cell paling atas (C2 dalam kasus kita) lalu drag ke bawah ke cell-cell lainnya sesuai kebutuhan. Hasilnya akan terlihat seperti ini:

    Harap diingat bahwa fungsi RANDARRAY bersifat volatile. Untuk mencegah menghasilkan nilai acak baru setiap kali Anda mengubah sesuatu di lembar kerja, ganti rumus dengan nilainya dengan menggunakan fungsi Tempel Khusus fitur.

    Bagaimana formula ini bekerja:

    Rumus RANDARRAY pada kolom helper sangat sederhana dan hampir tidak membutuhkan penjelasan, jadi mari kita fokus pada rumus di kolom C.

    =INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0))

    Fungsi RANK mengurutkan nilai di B2 terhadap array angka acak di B2:B13. Hasilnya adalah angka antara 1 dan jumlah total peserta (12 dalam kasus kami).

    Pangkat dibagi dengan ukuran kelompok, (3 dalam contoh kita), dan fungsi ROUNDUP membulatkannya ke bilangan bulat terdekat. Hasil dari operasi ini adalah angka antara 1 dan jumlah total kelompok (4 dalam contoh ini).

    Bilangan bulat masuk ke row_num argumen fungsi INDEX, memaksanya untuk mengembalikan nilai dari baris yang sesuai dalam rentang E2: E5, yang mewakili grup yang ditetapkan.

    Fungsi Excel RANDARRAY tidak berfungsi

    Ketika rumus RANDARRAYmu mengembalikan error, ini adalah alasan paling jelas untuk memeriksanya:

    Kesalahan #SPILL

    Seperti halnya fungsi array dinamis lainnya, kesalahan #SPILL! paling sering berarti bahwa tidak ada cukup ruang dalam rentang tumpahan yang dimaksudkan untuk menampilkan semua hasil. Cukup kosongkan semua sel dalam rentang ini, dan rumus Anda akan menghitung ulang secara otomatis. Untuk informasi lebih lanjut, silakan lihat Excel #SPILL error - penyebab dan perbaikan.

    #VALUE kesalahan

    Kesalahan #VALUE! bisa terjadi dalam keadaan ini:

    • Jika max nilainya kurang dari min nilai.
    • Jika salah satu argumen bukan numerik.

    #NAMA kesalahan

    Dalam kebanyakan kasus, kesalahan #NAME! mengindikasikan salah satu dari yang berikut ini:

    • Nama fungsi salah eja.
    • Fungsi ini tidak tersedia di versi Excel Anda.

    #CALC! kesalahan

    Sebuah kesalahan #CALC! terjadi jika barisan atau kolom argumen kurang dari 1 atau mengacu pada sel kosong.

    Itulah cara membuat generator angka acak di Excel dengan fungsi RANDARRAY baru. Saya berterima kasih telah membaca dan berharap dapat melihat Anda di blog kami minggu depan!

    Buku kerja latihan untuk diunduh

    Contoh rumus RANDARRAY (file .xlsx)

    Michael Brown adalah penggemar teknologi berdedikasi dengan hasrat untuk menyederhanakan proses kompleks menggunakan perangkat lunak. Dengan pengalaman lebih dari satu dekade di industri teknologi, dia telah mengasah keahliannya di Microsoft Excel dan Outlook, serta Google Spreadsheet dan Dokumen. Blog Michael didedikasikan untuk berbagi pengetahuan dan keahliannya dengan orang lain, memberikan tip dan tutorial yang mudah diikuti untuk meningkatkan produktivitas dan efisiensi. Apakah Anda seorang profesional berpengalaman atau pemula, blog Michael menawarkan wawasan berharga dan saran praktis untuk mendapatkan hasil maksimal dari perangkat lunak penting ini.