RSS

การสุ่มแบบแบ่งเป็นกลุ่มและแต่ละกลุ่มสุ่มมาไม่เท่ากัน

26 Jan

กรณีที่ต้องการสุ่มกลุ่มข้อมูล โดยแต่ละกลุ่มต้องการให้สุ่มมาไม่เท่ากันนั้น สามารถใช้สูตรในการจัดการได้เช่นกัน

ยกตัวอย่างเช่น ข้อมูลที่ A1:B19 แบ่งเป็น 3 กลุ่ม คือ A, B, C แต่ละสมาชิกกลุ่มมีมูลค่ากำกับตามภาพด้านล่าง ต้องการสุ่มโดย

  1. สุ่ม A มา 1 ค่า
  2. สุ่ม B มา 2 ค่า
  3. สุ่ม C มา 3 ค่า

แล้วนำค่าที่ได้จากการสุ่มมารวมกัน

ภาพตัวอย่างข้อมูลที่ต้องการสุ่ม

image

เราสามารถใช้สูตรในการสุ่มได้ดังนี้ครับ

  1. ที่ C2 คีย์สูตร
    =RAND()
    Enter > Copy ลงด้านล่าง
  2. ที่ E2:E4 คีย์ A, B และ C ตามลำดับ
  3. ที่ F2:F4 กรอกจำนวนที่ต้องการสุ่มแต่ละค่า
  4. ที่ F5 คีย์สูตรเพื่อรวมจำนวนรายการที่ต้องสุ่ม
    =SUM(F2:F4)
    Enter
  5. ที่ G2 คีย์สูตรเพื่อใช้หาบรรทัดที่เริ่มของแต่ละ Group
    =SUM(F$2:F2)-F2+1
    Enter > Copy ไปถึง G4
  6. ที่ 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 ลงด้านล่าง
  7. ที่ 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 ลงด้านล่าง
  8. กดแป้น F9 เพื่อสุ่มค่าตามต้องการ

Rainbow Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(…)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง

ภาพแสดงผลลัพธ์ที่ต้องการในช่อง I:J

 
Leave a comment

Posted by on 26/01/2013 in If, Index, Match, Rand, Small, Sum

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: