Isi kandungan
Tutorial memfokuskan pada cara melakukan pensampelan rawak dalam Excel tanpa ulangan. Anda akan menemui penyelesaian untuk Excel 365, Excel 2021, Excel 2019 dan versi terdahulu.
Sebentar tadi, kami menerangkan beberapa cara berbeza untuk memilih secara rawak dalam Excel. Kebanyakan penyelesaian tersebut bergantung pada fungsi RAND dan RANDBETWEEN, yang mungkin menjana nombor pendua. Akibatnya, sampel rawak anda mungkin mengandungi nilai berulang. Jika anda memerlukan pemilihan rawak tanpa pendua, kemudian gunakan pendekatan yang diterangkan dalam tutorial ini.
Pemilihan rawak Excel daripada senarai tanpa pendua
Hanya berfungsi dalam Excel 365 dan Excel 2021 yang menyokong tatasusunan dinamik.
Untuk membuat pilihan rawak daripada senarai tanpa ulangan, gunakan formula generik ini:
INDEX(SORTBY( data, RANDARRAY(ROWS( data))), SEQUENCE( n))Di mana n ialah saiz pilihan yang diingini.
Contohnya, untuk mendapatkan 5 nama rawak unik daripada senarai dalam A2:A10, berikut ialah formula untuk digunakan:
=INDEX(SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10))), SEQUENCE(5))
Demi kemudahan, anda boleh memasukkan saiz sampel dalam sel pratakrif, sebut C2 dan bekalkan rujukan sel kepada fungsi SEQUENCE:
=INDEX(SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10))), SEQUENCE(C2))
Cara formula ini berfungsi:
Berikut ialah penjelasan peringkat tinggi tentang logik formula: fungsi RANDARRAY mencipta tatasusunan nombor rawak, SORTBY mengisih nilai asal mengikut nombor tersebut dan INDEX mendapatkan semula nilai sebanyakditentukan oleh SEQUENCE.
Pecahan terperinci berikut:
Fungsi ROWS mengira bilangan baris set data anda mengandungi dan menghantar kiraan kepada fungsi RANDARRAY, supaya ia boleh menjana bilangan yang sama perpuluhan rawak:
RANDARRAY(ROWS(A2:C10))
Susun atur perpuluhan rawak ini digunakan sebagai tatasusunan "isih mengikut" oleh fungsi SORTBY. Akibatnya, data asal anda akan dikocok secara rawak.
Daripada data yang diisih secara rawak, anda mengekstrak sampel saiz tertentu. Untuk ini, anda membekalkan tatasusunan yang dikocok ke fungsi INDEX dan meminta untuk mendapatkan semula nilai N pertama dengan bantuan fungsi SEQUENCE, yang menghasilkan urutan nombor dari 1 hingga N . Oleh kerana data asal sudah diisih dalam susunan rawak, kami tidak begitu peduli kedudukan mana yang hendak diambil, hanya kuantiti yang penting.
Pilih baris rawak dalam Excel tanpa pendua
Hanya berfungsi dalam Excel 365 dan Excel 2021 yang menyokong tatasusunan dinamik.
Untuk memilih baris rawak tanpa ulangan, bina formula dengan cara ini:
INDEX(SORTBY( data, RANDARRAY(ROWS( data))), SEQUENCE( n), {1,2,…})Di mana n ialah saiz sampel dan {1,2,…} ialah nombor lajur untuk diekstrak.
Sebagai contoh, mari pilih baris rawak daripada A2:C10 tanpa entri pendua, berdasarkan saiz sampel dalam F1. Memandangkan data kami berada dalam 3 lajur, kami membekalkan pemalar tatasusunan ini kepada formula:{1,2,3}
=INDEX(SORTBY(A2:C10, RANDARRAY(ROWS(A2:C10))), SEQUENCE(F1), {1,2,3})
Dan dapatkan hasil berikut:
Cara formula ini berfungsi:
Formula berfungsi dengan logik yang sama seperti yang sebelumnya. Perubahan kecil yang membuat perbezaan besar ialah anda menentukan kedua-dua argumen row_num dan column_num untuk fungsi INDEX: row_num dibekalkan oleh SEQUENCE dan column_num oleh pemalar tatasusunan.
Cara melakukan pensampelan rawak dalam Excel 2010 - 2019
Memandangkan hanya Excel untuk Microsoft 365 dan Excel 2021 menyokong tatasusunan dinamik, fungsi tatasusunan dinamik digunakan dalam contoh sebelumnya hanya berfungsi dalam Excel 365. Untuk versi lain, anda perlu mencari penyelesaian yang berbeza.
Andaikan anda mahukan pilihan rawak daripada senarai dalam A2:A10. Ini boleh dilakukan dengan 2 formula berasingan:
- Jana nombor rawak dengan formula Rand. Dalam kes kami, kami masukkannya dalam B2, dan kemudian salin ke B10:
=RAND()
- Ekstrak nilai rawak pertama dengan formula di bawah, yang anda masukkan dalam E2:
=INDEX($A$2:$A$10, RANK.EQ(B2, $B$2:$B$10) + COUNTIF($B$2:B2, B2) - 1)
- Salin formula di atas ke seberapa banyak sel sebanyak nilai rawak yang anda mahu pilih. Dalam contoh ini, kami mahu 4 nama, jadi kami menyalin formula dari E2 hingga E5.
Selesai! Sampel rawak kami tanpa pendua kelihatan seperti berikut:
Cara formula ini berfungsi:
Seperti dalam contoh pertama, anda menggunakan INDEX berfungsi untuk mendapatkan semula nilai dari lajur A berdasarkan baris rawaknombor. Perbezaannya adalah dalam cara anda mendapatkan nombor tersebut:
Fungsi RAND mengisi julat B2:B10 dengan perpuluhan rawak.
Fungsi RANK.EQ mengira kedudukan nombor rawak dalam sesuatu yang diberikan barisan. Contohnya, dalam E2, RANK.EQ(B2, $B$2:$B$10) meletakkan kedudukan nombor dalam B2 berbanding semua nombor dalam B2:B10. Apabila disalin ke E3, rujukan relatif B2 berubah kepada B3 dan mengembalikan kedudukan nombor dalam B3, dan seterusnya.
Fungsi COUNTIF mencari bilangan kejadian nombor tertentu yang terdapat dalam sel di atas. Sebagai contoh, dalam E2, COUNTIF($B$2:B2, B2) menyemak hanya satu sel - B2 itu sendiri dan mengembalikan 1. Dalam E5, formula berubah kepada COUNTIF($B$2:B5, B5) dan mengembalikan 2, kerana B5 mengandungi nilai yang sama seperti B2 (sila ambil perhatian, ini hanya untuk menerangkan logik formula dengan lebih baik; pada set data kecil, peluang untuk mendapatkan nombor rawak pendua adalah hampir kepada sifar).
Akibatnya, untuk semua Kejadian pertama, COUNTIF mengembalikan 1, yang mana anda tolak 1 untuk mengekalkan kedudukan asal. Untuk kejadian ke-2, COUNTIF mengembalikan 2. Dengan menolak 1 anda menambah kedudukan sebanyak 1, sekali gus menghalang kedudukan pendua.
Sebagai contoh, untuk B2, RANK.EQ mengembalikan 1. Memandangkan ini adalah kejadian pertama, COUNTIF juga mengembalikan 1. RANK.EQ + COUNTIF memberikan 2. Dan - 1 memulihkan kedudukan 1.
Sekarang, lihat apa yang berlaku sekiranya kejadian ke-2. Untuk B5, RANK.EQ juga mengembalikan 1 manakala COUNTIF mengembalikan 2. Menambah ini memberikan3, daripadanya anda tolak 1. Sebagai hasil akhir, anda mendapat 2, yang mewakili pangkat nombor dalam B5.
Pangkat pergi ke argumen row_num bagi fungsi INDEX , dan ia memilih nilai daripada baris yang sepadan (argumen column_num ditinggalkan, jadi ia lalai kepada 1). Inilah sebab mengapa ia sangat penting untuk mengelakkan kedudukan pendua. Jika bukan kerana fungsi COUNTIF, RANK.EQ akan menghasilkan 1 untuk kedua-dua B2 dan B5, menyebabkan INDEX mengembalikan nilai dari baris pertama (Andrew) dua kali.
Cara menghalang sampel rawak Excel daripada berubah
Memandangkan semua fungsi rawak dalam Excel seperti RAND, RANDBETWEEN dan RANDARRAY adalah tidak menentu, ia mengira semula dengan setiap perubahan pada lembaran kerja. Akibatnya, sampel rawak anda akan terus berubah. Untuk mengelakkan perkara ini daripada berlaku, gunakan Tampal Khas > Ciri nilai untuk menggantikan formula dengan nilai statik. Untuk ini, jalankan langkah berikut:
- Pilih semua sel dengan formula anda (sebarang formula yang mengandungi fungsi RAND, RANDBETWEEN atau RANDARRAY) dan tekan Ctrl + C untuk menyalinnya.
- Klik kanan julat yang dipilih dan klik Tampal Khas > Nilai . Sebagai alternatif, tekan Shift + F10 dan kemudian V , yang merupakan pintasan untuk ciri yang disebutkan di atas.
Untuk langkah terperinci, sila lihat Cara menukar formula kepada nilai dalam Excel.
Pemilihan rawak Excel: baris, lajuratau sel
Berfungsi dalam semua versi Excel 365 hingga Excel 2010.
Jika anda telah memasang Ultimate Suite kami dalam Excel anda, maka anda boleh melakukan pensampelan rawak dengan klik tetikus dan bukannya formula. Begini caranya:
- Pada tab Ablebits Tools , klik Rawak > Pilih Secara Rawak .
- Pilih julat yang anda ingin pilih sampel.
- Pada anak tetingkap tambahan, lakukan perkara berikut:
- Pilih sama ada anda mahu memilih baris rawak, lajur atau sel.
- Tentukan saiz sampel: yang boleh menjadi peratusan atau nombor.
- Klik butang Pilih .
Itu ia! Seperti yang ditunjukkan dalam imej di bawah, sampel rawak dipilih terus dalam set data anda. Jika anda ingin menyalinnya di suatu tempat, hanya tekan pintasan salin biasa (Ctrl + C) .
Begitulah cara memilih sampel rawak dalam Excel tanpa pendua. Saya berterima kasih kerana membaca dan berharap dapat berjumpa anda di blog kami minggu hadapan!
Muat turun yang tersedia
Sampel rawak tanpa pendua - contoh formula (fail.xlsx)
Suite Ultimate Versi berfungsi sepenuhnya 14 hari (fail .exe)