วันศุกร์ที่ 10 กันยายน พ.ศ. 2564

สุ่มชื่อโดยใช้ Excel

       การสอนออนไลน์ จะมีการสุ่มถามนักเรียน ซึ่งมีเว็บที่ให้บริการการสุ่มใช้งานฟรี แต่ยังไม่ตรงความต้องการของผู้เขียน ดังนั้นผู้เขียนจึงศึกษาวิธีการสุ่มโดยใช้ excel และปรับแต่งให้ตรงความต้องการ ให้แสดงเลขที่ ชื่อ และทำไว้ครบทุกห้อง ซึ่งมีวิธีการดังนี้

      การสุ่มตัวเลขโดยใช้คำสั่ง RANDBETWEEN และแสดงรายชื่อโดยคำสั่ง VLOOKUP  


1.สร้างไฟล์งานให้มี ลำดับ และรายชื่อ จากนั้นทำการคลุมดำตารางรายชื่อ แล้วตั้งชื่อตามต้องการ ในที่นี้ตั้งเป็น namem1

2.ที่เซลล์ F5 พิมพ์สูตรลงไป =RANDBETWEEN(1,10)  (นักเรียนมีทั้งหมด 10 คน เป็นการสุ่มนักเรียน จากลำดับที่ 1-10 )
3.ที่เซลล์ G5 พิมพ์สูตรลงไป =VLOOKUP(F5,namem1,2,FALSE)   เป็นการค้นหาค่าที่เหมือนกับเซลล์ F5 จากช่วงตาราง namem1 โดยนำคอลัมน์ที่ 2 ของตารางรายชื่อมาแสดงผล (ตาราง namem1  คอลัมน์ที่1 คือ ลำดับ คอลัมน์ที่2 คือรายชื่อ) จากนั้นปรับขนาดเซลล์ตามต้องการและใส่สีพื้นหลังเพื่อให้มองเห็นได้ชัดเจน

4.เพิ่มแถบ พัฒนา หรือ Developer การเพิ่มแถบเมนูไปที่ File --> Option --> เลือก Customize Ribbon --> เลือก Developer กด OK   (หากเครื่องไหนมีแล้วไม่ต้องทำ ข้ามไปข้อ5)

 

5.สร้างปุ่มกดเพื่อสุ่ม โดยไปที่แถบ Developer --> Insert --> Button คลิกเลือก แล้วมาวาดตรงที่ต้องการ จากนั้นตั้งชื่อตามต้องการ ในที่นี้ตั้งชื่อ Buttonm1_Click  กดปุ่ม OK


6.จากนั้นคลิกขวาที่ปุ่ม Button 1 เลือก Edit text เปลี่ยนจาก Button 1 เป็น คลิกเพื่อสุ่ม จากนั้นคลิกที่แผ่นงาน excel


7.จากนั้นคลิกขวาที่ปุ่ม Button 1 เลือกที่ Visual basic  พิมพ์คำสั่งเข้าไปที่ module   (ถ้ามีหลายห้อง ให้ทำชีทละห้อง ให้ใส่โค้ดลงในแต่ละชีท ซึ่งค่า RANDBETWEEN(1,10) จะต่างกันไปตามจำนวนนักเรียนแต่ละห้อง)  [หากไม่อยากสร้างปุ่มกด (Button) ให้กด F9 แทนก็ได้ หรือจะสร้าง dropdown list ขึ้นมาก็ได้ โดยคลิกที่เซลล์ G7 (เลือกช่องเซลล์ไหนก็ได้ตามใจชอบ)ไปที่เมนู Data -->Data Validation  ที่ช่อง Allow เลือกเป็น List  ช่อง Source พิมพ์ คลิกเพื่อสุ่ม กดปุ่ม OK]

    Sub Buttonm1_Click()
        Sheet1.Activate            '
        Range("F7").Value = ""        'กำหนดค่าช่อง F7 เป็นค่าว่าง (จะกำหนดเซลล์ไหนก็ได้)
    End Sub

      บันทึกแมโครกับเวิร์กบุ๊กปัจจุบัน กดบันทึก(Save)  เลือก ไม่ใช่ (No) จากนั้นตั้งชื่อไฟล์  เลือกชนิดไฟล์เป็น Excel Macro - Enabled WorkBook  กด Save



 8.จากนั้นคลิกขวาที่ปุ่ม คลิกเพื่อสุ่ม  เลือก Assign macro  เลือก Buttonm1_Click กดปุ่ม OK 


          จากนั้นทำการกดสุ่มรายชื่อนักเรียนตามต้องการ ซึ่งเราสามารถสร้างการสุ่มรายชื่อไว้ครบทุกห้องเรียนที่สอนได้