RAND คืนค่าตัวเลขสุ่มแบบทศนิยมที่มีค่าตั้งแต่ 0 แต่ไม่ถึง 1 (เช่น 0.5234) เหมาะสำหรับการจำลองสถานการณ์ สุ่มตัวอย่าง หรือใช้สร้างคอลัมน์สำหรับเรียงลำดับข้อมูลแบบสุ่ม (Shuffle) เป็นฟังก์ชันที่ไม่มีอาร์กิวเมนต์
ฟังก์ชัน RAND ใช้สำหรับสุ่มตัวเลขทศนิยมที่มีค่าระหว่าง 0 ถึง 1 (0 <= x < 1) ไม่ต้องใส่ argument ใดๆ เลย เขียนแค่ =RAND() แล้วกด Enter
ที่ต้องระวังคือมันเป็น Volatile Function จะสุ่มค่าใหม่ทุกครั้งที่มีการเปลี่ยนแปลงใน Worksheet ไม่ใช่แค่ตอนเปิดไฟล์ ถ้าไม่อยากให้ค่าเปลี่ยนไปมาต้อง Copy แล้ว Paste Values ทับ
ส่วนตัวผมใช้ RAND บ่อยเวลาต้องสุ่มตัวอย่างตรวจสอบข้อมูล (audit sampling), ทำ Monte Carlo simulation คร่าวๆ, หรือแบ่งกลุ่มลูกค้าแบบสุ่มสำหรับทำ A/B Test — ไม่ใช้กับงานที่ต้องการความปลอดภัยแบบสุ่มรหัสผ่านหรือ crypto เพราะมันไม่ใช่ secure random generator
ใช้ RAND สุ่มเลือกรายการสินค้า 5% จากทั้งหมด เพื่อนำมาตรวจสอบคุณภาพ (QC)
สร้างเลขสุ่มให้รายชื่อผู้ลงทะเบียนทุกคน แล้วเลือกผู้ที่มีค่ามากที่สุด 3 อันดับแรก
คืนค่าทศนิยมแบบสุ่มที่มีค่ามากกว่าหรือเท่ากับ 0 แต่น้อยกว่า 1
ใช้สูตร RAND() * (Max – Min) + Min เพื่อสุ่มตัวเลขทศนิยมในช่วงที่ต้องการ เหมาะกับการสร้างข้อมูลทดสอบ (test data) ที่ต้องการค่าทศนิยมสมจริง เช่น น้ำหนัก อุณหภูมิ ก่อนเอาไปทดสอบสูตรหรือ dashboard จริง
ใช้ INT ตัดทศนิยมทิ้งให้ได้จำนวนเต็ม 1-100 งานตรวจสอบภายใน (internal audit) มักใช้แบบนี้สุ่มเลขที่เอกสารจาก 100 รายการมาตรวจ 1 ใบ เพื่อไม่ให้คนตรวจเลือกเองแบบมีอคติ
เทียบ RAND() กับ 0.5 ถ้าน้อยกว่าให้เป็นกลุ่ม A ถ้าไม่ใช่ให้เป็นกลุ่ม B ทำให้แบ่งลูกค้าออกเป็น 2 กลุ่มโดยประมาณ 50/50 แบบสุ่มจริง ใช้ทำ A/B Test ส่งอีเมลการตลาด 2 แบบเทียบผลลัพธ์กัน ถ้าอยากได้สัดส่วนอื่นก็เปลี่ยนเลข 0.5 เป็นค่าที่ต้องการ เช่น 0.7 สำหรับ 70/30
ใน Excel 365 ใช้ RANDARRAY ร่วมกับ SORTBY สลับลำดับรายชื่อได้ทันทีโดยไม่ต้องสร้างคอลัมน์ช่วย เหมาะกับงานสุ่มลำดับคิวตรวจสอบ หรือสุ่มมอบหมายงานให้ทีมแบบไม่มีใครได้เปรียบ ถ้าเป็นรุ่นเก่ากว่า 365 ต้องสร้างคอลัมน์ RAND() แยกแล้ว Sort ตามคอลัมน์นั้นแทน
เพราะ RAND เป็น Volatile Function ที่จะคำนวณใหม่ทุกครั้งที่มีการเปลี่ยนแปลงใน Worksheet ไม่ใช่แค่ตอนเปิดไฟล์เท่านั้น ถ้าต้องการให้ค่านิ่งสำหรับทำรายงาน ให้ Copy แล้ว Paste Values ทับลงไป
RAND ได้ทศนิยม 0-1 (เหมาะกับความน่าจะเป็น หรือใช้คูณ/บวกแปลงเป็นช่วงอื่น) ส่วน RANDBETWEEN ได้จำนวนเต็มในช่วงที่ระบุตรงๆ โดยไม่ต้องคำนวณเพิ่ม เหมาะกับการสุ่มเลขจำนวนเต็มล้วนๆ
ไม่ได้ครับ RAND() ให้ค่าตั้งแต่ 0 ขึ้นไปแต่ไม่ถึง 1 เสมอ (0
เพราะ RAND เป็น Volatile Function ทุกเซลล์ที่มี RAND() จะคำนวณใหม่ทุกครั้งที่ Excel recalculate ทั้งไฟล์ ไม่ใช่แค่ตอนข้อมูลที่เกี่ยวข้องเปลี่ยน ถ้ามีเป็นร้อยเป็นพันเซลล์จะทำให้ไฟล์หน่วง แก้ได้ด้วยการเปลี่ยน Calculation Options เป็น Manual แล้วกด F9 เมื่อต้องการคำนวณใหม่จริงๆ
ไม่แนะนำครับ RAND ใช้อัลกอริทึม pseudo-random ที่ไม่ปลอดภัยระดับ cryptographic คาดเดาได้ในทางทฤษฎีถ้ารู้ seed เหมาะกับงานจำลอง สุ่มตัวอย่าง หรือทดสอบเท่านั้น งานที่เกี่ยวกับความปลอดภัยหรือเงินรางวัลจริงควรใช้เครื่องมือ secure random โดยเฉพาะ
ฟังก์ชันที่ผู้เขียนโยงไว้กับ RAND จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
INT จะปัดตัวเลขลงไปยังจำนวนเต็มที่น้อยกว่าหรือเท่ากับตัวเลขนั้นเสมอ สำหรับจำนวนบวกจะเหมือนการตัดทศนิยมทิ้ง แต่สำหรับจำนวนลบจะปัดลงให้มีค่าติดลบมากขึ้น (เช่น -5.5 จะเป็น -6)
RANDARRAY สร้างอาร์เรย์ของตัวเลขสุ่มระหว่างค่าที่กำหนด สามารถระบุจำนวนแถว คอลัมน์ ช่วงค่า และชนิดข้อมูล (จำนวนเต็มหรือทศนิยม)
RANDBETWEEN คืนค่าจำนวนเต็มสุ่มที่อยู่ระหว่างค่าต่ำสุดและสูงสุดที่ระบุ ใช้สำหรับจำลองข้อมูล สร้างรหัสสุ่ม หรือเลือกข้อมูลแบบสุ่ม
ROUND จะปัดตัวเลขไปยังค่าที่ใกล้เคียงที่สุดตามจำนวนหลักที่ระบุ (num_digits) สามารถปัดทศนิยม (ค่าบวก), ปัดเป็นจำนวนเต็ม (0), หรือปัดหลักสิบ หลักร้อย (ค่าลบ) ได้ เป็นฟังก์ชันพื้นฐานที่ใช้บ่อยที่สุดในการสรุปตัวเลข
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่