Isi kandungan
Dalam artikel ini, kita akan membincangkan beberapa formula berbeza untuk rawak dalam Excel tanpa mengulangi nombor. Selain itu, kami akan menunjukkan kepada anda Penjana Rawak universal yang boleh menghasilkan senarai nombor rawak, tarikh dan rentetan tanpa ulangan.
Seperti yang anda ketahui, Microsoft Excel mempunyai beberapa fungsi untuk menjana nombor rawak seperti RAND, RANDBETWEEN dan RANDARRAY. Walau bagaimanapun, tiada jaminan bahawa hasil daripada sebarang fungsi akan menjadi pendua percuma.
Tutorial ini menerangkan beberapa formula untuk membuat senarai nombor rawak unik. Sila ambil perhatian bahawa sesetengah formula hanya berfungsi dalam versi terkini Excel 365 dan 2021 manakala yang lain boleh digunakan dalam mana-mana versi Excel 2019, Excel 2016, Excel 2013 dan lebih awal.
Dapatkan senarai nombor rawak unik dengan langkah yang dipratentukan
Hanya berfungsi dalam Excel 365 dan Excel 2021 yang menyokong tatasusunan dinamik.
Jika anda mempunyai versi Excel terkini, yang paling mudah cara untuk anda mendapatkan senarai nombor rawak unik ialah dengan menggabungkan 3 fungsi tatasusunan dinamik baharu: SORTBY, SEQUENCE dan RANDARRAY:
SORTBY(SEQUENCE( n), RANDARRAY( n))Di mana n ialah bilangan nilai rawak yang anda mahu dapatkan.
Sebagai contoh, untuk membuat senarai 5 nombor rawak, gunakan 5 untuk n :
=SORTBY(SEQUENCE(5), RANDARRAY(5))
Masukkan formula dalam sel paling atas, tekan kekunci Enter dan hasilnya akan tumpah secara automatik ke atasbilangan sel yang ditentukan.
Seperti yang anda lihat dalam tangkapan skrin di bawah, formula ini sebenarnya mengisih nombor dari 1 hingga 5 dalam susunan rawak . Jika anda memerlukan penjana nombor rawak klasik tanpa ulangan, sila lihat contoh lain yang mengikuti di bawah.
Dalam formula di atas, anda hanya menentukan bilangan baris untuk diisi. Semua argumen lain dibiarkan kepada nilai lalainya, bermakna senarai akan bermula pada 1 dan akan dinaikkan sebanyak 1. Jika anda mahukan nombor dan kenaikan pertama yang berbeza, kemudian tetapkan nilai anda sendiri untuk yang ke-3 ( mulakan ) dan argumen ke-4 ( step ) bagi fungsi SEQUENCE.
Sebagai contoh, untuk bermula pada 100 dan meningkat sebanyak 10, gunakan formula ini:
=SORTBY(SEQUENCE(5, , 100, 10), RANDARRAY(5))
Cara formula ini berfungsi:
Berfungsi dari dalam ke luar, inilah yang formula lakukan:
- Fungsi SEQUENCE mencipta tatasusunan nombor berjujukan berdasarkan nilai mula yang ditentukan atau lalai dan saiz langkah yang bertambah. Urutan ini pergi ke argumen array SORTBY.
- Fungsi RANDARRAY mencipta tatasusunan nombor rawak yang sama saiz dengan jujukan (5 baris, 1 lajur dalam kes kami). Nilai min dan maks tidak begitu penting, jadi kita boleh membiarkan ini kepada lalai. Tatasusunan ini pergi ke argumen by_array SORTBY.
- Fungsi SORTBY mengisih nombor turutan yang dijana oleh SEQUENCE menggunakan tatasusunan nombor rawak yang dihasilkan olehRANDARRAY.
Sila ingat bahawa formula mudah ini mencipta senarai nombor rawak tidak berulang dengan langkah yang dipratentukan . Untuk memintas pengehadan ini, gunakan versi lanjutan formula yang diterangkan di bawah.
Jana senarai nombor rawak tanpa pendua
Hanya berfungsi dalam Excel 365 dan Excel 2021 yang menyokong dinamik tatasusunan.
Untuk menjana nombor rawak dalam Excel tanpa pendua, gunakan salah satu daripada formula generik di bawah.
Integer rawak :
INDEX(UNIQUE( RANDARRAY( n ^2, 1, min , maks , BENAR)), URUTAN( n ))Perpuluhan rawak :
INDEKS(UNIK(RANDARRAY( n ^2, 1, min , maks , SALAH)), JURUSAN( n ))Di mana:
- N ialah bilangan nilai untuk dijana.
- Min ialah nilai minimum.
- Maks ialah nilai maksimum.
Sebagai contoh, untuk membuat senarai 5 integer rawak daripada 1 hingga 100 tanpa ulangan, gunakan formula ini:
=INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100, TRUE)), SEQUENCE(5))
Untuk menjana 5 rawak unik nombor perpuluhan , letakkan FALSE dalam argumen terakhir RANDARRAY atau tinggalkan ini hujah:
=INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100)), SEQUENCE(5))
Cara formula ini berfungsi:
Pada fi pandangan pertama formula mungkin kelihatan agak rumit, tetapi apabila dilihat lebih dekat logiknya adalah sangat mudah:
- Fungsi RANDARRAY mencipta tatasusunan nombor rawak berdasarkan nilai min dan maksimum yang anda tentukan. Untuk menentukan berapa banyak nilai untukmenjana, anda meningkatkan bilangan unik yang diingini kepada kuasa 2. Oleh kerana tatasusunan yang terhasil mungkin tiada siapa yang tahu berapa banyak pendua, anda perlu menyediakan tatasusunan nilai yang mencukupi untuk UNIK untuk dipilih. Dalam contoh ini, kami hanya memerlukan 5 nombor rawak unik tetapi kami mengarahkan RANDARRAY untuk menghasilkan 25 (5^2).
- Fungsi UNIK mengalih keluar semua pendua dan "menyuap" tatasusunan bebas pendua ke INDEX.
- Dari tatasusunan yang diluluskan oleh UNIQUE, fungsi INDEX mengekstrak nilai n pertama seperti yang ditentukan oleh SEQUENCE (5 nombor dalam kes kami). Oleh kerana nilai sudah berada dalam susunan rawak, tidak kira yang mana yang bertahan.
Nota. Pada tatasusunan yang sangat besar, formula ini mungkin agak perlahan. Sebagai contoh, untuk mendapatkan senarai 1,000 nombor unik sebagai hasil akhir, RANDARRAY perlu menjana tatasusunan 1,000,000 nombor rawak (1000^2) secara dalaman. Dalam situasi sedemikian, daripada menaikkan kuasa, anda boleh mendarabkan n dengan, katakan, 10 atau 20. Harap maklum bahawa tatasusunan yang lebih kecil dihantar ke fungsi UNIK (berbanding kecil dengan nombor yang dikehendaki daripada nilai rawak yang unik), semakin besar peluang bahawa tidak semua sel dalam julat tumpahan akan diisi dengan keputusan.
Buat julat nombor rawak tidak berulang dalam Excel
Hanya berfungsi dalam Excel 365 dan Excel 2021 yang menyokong tatasusunan dinamik.
Untuk menjana julat nombor rawak tanpaberulang, anda boleh menggunakan formula ini:
INDEX(UNIQUE(RANDARRAY( n ^2, 1, min , maks )), SEQUENCE( baris , lajur ))Di mana:
- n ialah bilangan sel untuk diisi. Untuk mengelakkan pengiraan manual, anda boleh membekalkannya sebagai (bilangan baris * bilangan lajur). Contohnya, untuk mengisi 10 baris dan 5 lajur, gunakan 50^2 atau (10*5)^2.
- Baris ialah bilangan baris untuk diisi.
- Lajur ialah bilangan lajur untuk diisi.
- Min ialah nilai terendah.
- Maks ialah yang tertinggi nilai.
Seperti yang anda perhatikan, formula pada asasnya adalah sama seperti dalam contoh sebelumnya. Satu-satunya perbezaan ialah fungsi SEQUENCE, yang dalam kes ini mentakrifkan kedua-dua bilangan baris dan lajur.
Sebagai contoh, untuk mengisi julat 10 baris dan 3 lajur dengan nombor rawak unik dari 1 hingga 100, gunakan formula ini:
=INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100)), SEQUENCE(10, 3))
Dan ia akan menghasilkan tatasusunan perpuluhan rawak tanpa mengulangi nombor:
Jika anda memerlukan nombor bulat, kemudian tetapkan hujah terakhir RANDARRAY kepada TRUE :
=INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100, TRUE)), SEQUENCE(10,3))
Cara menjana nombor rawak unik dalam Excel 2019, 2016 dan lebih awal
Memandangkan tiada versi selain Excel 365 dan 2021 menyokong tatasusunan dinamik, tiada satu pun di atas penyelesaian berfungsi dalam versi terdahulu Excel. Walau bagaimanapun, ini tidak bermakna tiada penyelesaian sama sekali, anda hanya perlu melakukan beberapa langkah lagi:
- Buat senarai nombor rawak. Berdasarkan andaperlu, gunakan sama ada:
- Fungsi RAND untuk menjana perpuluhan rawak antara 0 dan 1, atau
- Fungsi RANDBETWEEN untuk menghasilkan integer rawak dalam julat yang anda tentukan.
Pastikan anda menjana lebih banyak nilai daripada yang anda perlukan kerana sesetengahnya akan menjadi pendua dan anda akan memadamkannya kemudian.
Untuk contoh ini, kami mencipta senarai 10 integer rawak antara 1 dan 20 dengan menggunakan formula di bawah:
=RANDBETWEEN(1,20)
Untuk memasukkan formula dalam berbilang sel sekali gus, pilih semua sel (A2:A15 dalam contoh kami), taip formula dalam bar formula dan tekan Ctrl + Enter . Atau anda boleh memasukkan formula dalam sel pertama seperti biasa, dan kemudian seret ke bawah ke seberapa banyak sel yang diperlukan.
Bagaimanapun, hasilnya akan kelihatan seperti ini:
Seperti yang anda mungkin perhatikan, kami telah memasukkan formula dalam 14 sel, walaupun akhirnya kami hanya memerlukan 10 nombor rawak unik.
- Tukar formula kepada nilai. Apabila kedua-dua RAND dan RANDBETWEEN mengira semula dengan setiap perubahan pada lembaran kerja, senarai nombor rawak anda akan terus berubah. Untuk mengelakkan perkara ini daripada berlaku, gunakan Tampal Khas > Nilai untuk menukar formula kepada nilai seperti yang dijelaskan dalam Cara menghentikan nombor rawak daripada mengira semula.
Untuk memastikan anda telah melakukannya dengan betul, pilih mana-mana nombor dan lihat pada bar formula. Ia sepatutnya memaparkan nilai, bukan formula:
- Padam pendua. Untuk memilikinyaselesai, pilih semua nombor, pergi ke tab Data > Alat data kumpulan dan klik Alih Keluar Pendua . Dalam kotak dialog Alih Keluar Pendua yang muncul, cuma klik OK tanpa mengubah apa-apa. Untuk langkah terperinci, sila lihat Cara mengalih keluar pendua dalam Excel.
Selesai! Semua pendua hilang, dan kini anda boleh memadamkan lebihan nombor.
Petua. Daripada alat terbina dalam Excel, anda boleh menggunakan Pembuang Pendua kami untuk Excel.
Cara menghentikan nombor rawak daripada berubah
Semua fungsi rawak dalam Excel termasuk RAND, RANDBETWEEN dan RANDARRAY tidak menentu, bermakna mereka mengira semula setiap kali hamparan ditukar. Hasilnya, nilai rawak baharu dihasilkan dengan setiap perubahan. Untuk mengelakkan menjana nombor baharu secara automatik, gunakan Tampal Khas > Ciri nilai untuk menggantikan formula dengan nilai statik. Begini caranya:
- Pilih semua sel dengan formula rawak anda dan tekan Ctrl + C untuk menyalinnya.
- Klik kanan julat yang dipilih dan klik Tampal Khas > Nilai . Sebagai alternatif, anda boleh menekan Shift + F10 dan kemudian V , yang merupakan pintasan untuk pilihan ini.
Untuk langkah terperinci, sila lihat Cara menukar formula kepada nilai dalam Excel.
Penjana nombor rawak untuk Excel tanpa ulangan
Pengguna Ultimate Suite kami tidak benar-benar memerlukan sebarang penyelesaian di atas keranamereka sudah mempunyai Penjana Rawak sejagat dalam Excel mereka. Alat ini boleh menghasilkan senarai integer tidak berulang, nombor perpuluhan, tarikh dan kata laluan unik dengan mudah. Begini caranya:
- Pada tab Ablebits Tools , klik Randomkan > Random Generator .
- Pilih julat untuk diisi dengan nombor rawak.
- Pada anak tetingkap Penjana Rawak , lakukan perkara berikut:
- Pilih jenis nilai yang diingini: integer, nombor nyata, tarikh, Boolean , senarai tersuai atau rentetan (sesuai untuk menjana kata laluan unik yang kukuh!).
- Sediakan nilai Dari dan Ke .
- Pilih Nilai unik kotak semak.
- Klik Jana .
Itu sahaja! Julat yang dipilih akan diisi dengan nombor rawak tidak berulang sekali gus:
Jika anda ingin tahu untuk mencuba alat ini dan meneroka ciri menarik lain yang disertakan dengan Ultimate Suite kami, anda dialu-alukan untuk memuat turun versi percubaan.
Begitulah cara rawak nombor dalam Excel tanpa pendua. Saya mengucapkan terima kasih kerana membaca dan berharap dapat berjumpa anda di blog kami minggu hadapan!
Berlatih buku kerja untuk muat turun
Jana nombor rawak unik dalam Excel (fail.xlsx)