Thep Excel

RANDสุ่มตัวเลขทศนิยมระหว่าง 0 ถึง 1

RAND คืนค่าตัวเลขสุ่มแบบทศนิยมที่มีค่าตั้งแต่ 0 แต่ไม่ถึง 1 (เช่น 0.5234) เหมาะสำหรับการจำลองสถานการณ์ สุ่มตัวอย่าง หรือใช้สร้างคอลัมน์สำหรับเรียงลำดับข้อมูลแบบสุ่ม (Shuffle) เป็นฟังก์ชันที่ไม่มีอาร์กิวเมนต์

fx
=RAND()

ความนิยม6/10
ความยาก2/10
ประโยชน์6/10

อัปเดต 30 November 2025

Syntax & Arguments

ฟังก์ชัน 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

How it works

การสุ่มตัวอย่าง (Sampling)

ใช้ RAND สุ่มเลือกรายการสินค้า 5% จากทั้งหมด เพื่อนำมาตรวจสอบคุณภาพ (QC)

จับฉลากผู้โชคดี

สร้างเลขสุ่มให้รายชื่อผู้ลงทะเบียนทุกคน แล้วเลือกผู้ที่มีค่ามากที่สุด 3 อันดับแรก

Examples

สุ่มเลข 0-1RAND()

คืนค่าทศนิยมแบบสุ่มที่มีค่ามากกว่าหรือเท่ากับ 0 แต่น้อยกว่า 1

fx
=RAND()

ผลลัพธ์0.1234 (ค่าเปลี่ยนไปเรื่อยๆ)
สุ่มค่าน้ำหนักตัวอย่างในช่วง 10 ถึง 50 กก. สำหรับทดสอบระบบRAND() * (50 – 10) + 10

ใช้สูตร RAND() * (Max – Min) + Min เพื่อสุ่มตัวเลขทศนิยมในช่วงที่ต้องการ เหมาะกับการสร้างข้อมูลทดสอบ (test data) ที่ต้องการค่าทศนิยมสมจริง เช่น น้ำหนัก อุณหภูมิ ก่อนเอาไปทดสอบสูตรหรือ dashboard จริง

fx
=RAND() * (50 – 10) + 10

ผลลัพธ์34.56 (ค่าเปลี่ยนไปเรื่อยๆ)
สุ่มเลขที่ใบสั่งซื้อสำหรับสุ่มตรวจสอบ (audit sampling)INT(RAND() * 100) + 1

ใช้ INT ตัดทศนิยมทิ้งให้ได้จำนวนเต็ม 1-100 งานตรวจสอบภายใน (internal audit) มักใช้แบบนี้สุ่มเลขที่เอกสารจาก 100 รายการมาตรวจ 1 ใบ เพื่อไม่ให้คนตรวจเลือกเองแบบมีอคติ

fx
=INT(RAND() * 100) + 1

ผลลัพธ์57 (ค่าเปลี่ยนไปเรื่อยๆ)
แบ่งกลุ่มลูกค้าแบบสุ่มสำหรับทำ A/B TestIF(RAND()

เทียบ RAND() กับ 0.5 ถ้าน้อยกว่าให้เป็นกลุ่ม A ถ้าไม่ใช่ให้เป็นกลุ่ม B ทำให้แบ่งลูกค้าออกเป็น 2 กลุ่มโดยประมาณ 50/50 แบบสุ่มจริง ใช้ทำ A/B Test ส่งอีเมลการตลาด 2 แบบเทียบผลลัพธ์กัน ถ้าอยากได้สัดส่วนอื่นก็เปลี่ยนเลข 0.5 เป็นค่าที่ต้องการ เช่น 0.7 สำหรับ 70/30

fx
=IF(RAND()<0.5,"กลุ่ม A","กลุ่ม B")

ผลลัพธ์กลุ่ม A (ค่าเปลี่ยนไปเรื่อยๆ)
สุ่มเรียงลำดับรายชื่อผู้ตรวจสอบให้ยุติธรรม (Shuffle)SORTBY(A2:A10, RANDARRAY(9))

ใน Excel 365 ใช้ RANDARRAY ร่วมกับ SORTBY สลับลำดับรายชื่อได้ทันทีโดยไม่ต้องสร้างคอลัมน์ช่วย เหมาะกับงานสุ่มลำดับคิวตรวจสอบ หรือสุ่มมอบหมายงานให้ทีมแบบไม่มีใครได้เปรียบ ถ้าเป็นรุ่นเก่ากว่า 365 ต้องสร้างคอลัมน์ RAND() แยกแล้ว Sort ตามคอลัมน์นั้นแทน

fx
=SORTBY(A2:A10, RANDARRAY(9))

ผลลัพธ์รายการที่ถูกสลับลำดับ

FAQs

ทำไมค่าเปลี่ยนตลอดเวลา?+

เพราะ RAND เป็น Volatile Function ที่จะคำนวณใหม่ทุกครั้งที่มีการเปลี่ยนแปลงใน Worksheet ไม่ใช่แค่ตอนเปิดไฟล์เท่านั้น ถ้าต้องการให้ค่านิ่งสำหรับทำรายงาน ให้ Copy แล้ว Paste Values ทับลงไป

RAND ต่างจาก RANDBETWEEN อย่างไร?+

RAND ได้ทศนิยม 0-1 (เหมาะกับความน่าจะเป็น หรือใช้คูณ/บวกแปลงเป็นช่วงอื่น) ส่วน RANDBETWEEN ได้จำนวนเต็มในช่วงที่ระบุตรงๆ โดยไม่ต้องคำนวณเพิ่ม เหมาะกับการสุ่มเลขจำนวนเต็มล้วนๆ

RAND() ให้ค่า 1 ได้ไหม?+

ไม่ได้ครับ RAND() ให้ค่าตั้งแต่ 0 ขึ้นไปแต่ไม่ถึง 1 เสมอ (0

ทำไมไฟล์ที่มี RAND() เยอะๆ ทำงานช้าลง?+

เพราะ RAND เป็น Volatile Function ทุกเซลล์ที่มี RAND() จะคำนวณใหม่ทุกครั้งที่ Excel recalculate ทั้งไฟล์ ไม่ใช่แค่ตอนข้อมูลที่เกี่ยวข้องเปลี่ยน ถ้ามีเป็นร้อยเป็นพันเซลล์จะทำให้ไฟล์หน่วง แก้ได้ด้วยการเปลี่ยน Calculation Options เป็น Manual แล้วกด F9 เมื่อต้องการคำนวณใหม่จริงๆ

ใช้ RAND สุ่มรหัสผ่านหรือทำ Lottery แจกรางวัลจริงได้ไหม?+

ไม่แนะนำครับ RAND ใช้อัลกอริทึม pseudo-random ที่ไม่ปลอดภัยระดับ cryptographic คาดเดาได้ในทางทฤษฎีถ้ารู้ seed เหมาะกับงานจำลอง สุ่มตัวอย่าง หรือทดสอบเท่านั้น งานที่เกี่ยวกับความปลอดภัยหรือเงินรางวัลจริงควรใช้เครื่องมือ secure random โดยเฉพาะ

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ RAND จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้RANDMath and trigonometry
Math and trigonometry (4)
INT

INT จะปัดตัวเลขลงไปยังจำนวนเต็มที่น้อยกว่าหรือเท่ากับตัวเลขนั้นเสมอ สำหรับจำนวนบวกจะเหมือนการตัดทศนิยมทิ้ง แต่สำหรับจำนวนลบจะปัดลงให้มีค่าติดลบมากขึ้น (เช่น -5.5 จะเป็น -6)

RANDARRAY

RANDARRAY สร้างอาร์เรย์ของตัวเลขสุ่มระหว่างค่าที่กำหนด สามารถระบุจำนวนแถว คอลัมน์ ช่วงค่า และชนิดข้อมูล (จำนวนเต็มหรือทศนิยม)

RANDBETWEEN

RANDBETWEEN คืนค่าจำนวนเต็มสุ่มที่อยู่ระหว่างค่าต่ำสุดและสูงสุดที่ระบุ ใช้สำหรับจำลองข้อมูล สร้างรหัสสุ่ม หรือเลือกข้อมูลแบบสุ่ม

ROUND

ROUND จะปัดตัวเลขไปยังค่าที่ใกล้เคียงที่สุดตามจำนวนหลักที่ระบุ (num_digits) สามารถปัดทศนิยม (ค่าบวก), ปัดเป็นจำนวนเต็ม (0), หรือปัดหลักสิบ หลักร้อย (ค่าลบ) ได้ เป็นฟังก์ชันพื้นฐานที่ใช้บ่อยที่สุดในการสรุปตัวเลข

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่