กรณีที่ต้องการสุ่มกลุ่มข้อมูล โดยแต่ละกลุ่มต้องการให้สุ่มมาไม่เท่ากันนั้น สามารถใช้สูตรในการจัดการได้เช่นกัน
ยกตัวอย่างเช่น ข้อมูลที่ A1:B19 แบ่งเป็น 3 กลุ่ม คือ A, B, C แต่ละสมาชิกกลุ่มมีมูลค่ากำกับตามภาพด้านล่าง ต้องการสุ่มโดย
- สุ่ม A มา 1 ค่า
- สุ่ม B มา 2 ค่า
- สุ่ม C มา 3 ค่า
แล้วนำค่าที่ได้จากการสุ่มมารวมกัน
ภาพตัวอย่างข้อมูลที่ต้องการสุ่ม
เราสามารถใช้สูตรในการสุ่มได้ดังนี้ครับ
- ที่ C2 คีย์สูตร
=RAND()
Enter > Copy ลงด้านล่าง - ที่ E2:E4 คีย์ A, B และ C ตามลำดับ
- ที่ F2:F4 กรอกจำนวนที่ต้องการสุ่มแต่ละค่า
- ที่ F5 คีย์สูตรเพื่อรวมจำนวนรายการที่ต้องสุ่ม
=SUM(F2:F4)
Enter - ที่ G2 คีย์สูตรเพื่อใช้หาบรรทัดที่เริ่มของแต่ละ Group
=SUM(F$2:F2)-F2+1
Enter > Copy ไปถึง G4 - ที่ I2 คีย์สูตรเพื่อ List รายชื่อ Group
=IF(ROWS(I$2:I2)>$F$5,"",LOOKUP(ROWS(I$2:I2),$G$2:$G$4,$E$2:$E$4))
Enter > Copy ลงด้านล่าง - ที่ J2 คีย์สูตรเพื่อหา Value ที่ได้จากการสุ่ม
=IF(I2="","",INDEX($B$2:$B$16,MATCH(SMALL(IF($A$2:$A$16=I2,$C$2:$C$16),
COUNTIF(I$2:I2,I2)),IF($A$2:$A$16=I2,$C$2:$C$16),0)))
Ctrl+Shift+Enter > Copy ลงด้านล่าง - กดแป้น F9 เพื่อสุ่มค่าตามต้องการ
Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(…)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
ภาพแสดงผลลัพธ์ที่ต้องการในช่อง I:J
Revised: January 29, 2017 at 06:07