
ฟังก์ชั่น Rand เป็นการสุ่มที่ให้ผลลัพธ์เป็นตัวเลข
ระหว่าง 0 กับ 1 ดูคำอธิบายที่นี่ครับ
http://office.microsoft.com/th-th/excel ... P005204211 ดังนั้น ค่าที่ได้จะมากกว่า 0 และไม่ถึง 1 เพราะคำว่าระหว่างจะต้องไม่นับค่าต้นและค่าปลาย
จากสูตร =INT(RAND()*9000000+1000000) ขอยกตัวอย่างให้เห็นภาพเรื่องของ 9000000 และ 1000000 ตามด้านล่างครับ
จากโจทย์ต้องการให้ได้ตัวเลข 7 หลักเสมอดังนั้น ค่าที่น้อยที่สุดคือ 1000000 เพราะเป็น 7 หลักที่น้อยที่สุด ส่วน 7 หลักที่มากที่สุดคือ 9999999 และจากคำนิยามของ Rand ที่ให้ผลลัพธ์อยู่ระหว่าง 0 ไม่ถึง 1 โอกาสจะเป็น 0.000000000000001 ก็ย่อมจะเกิดขึ้นได้ ซึ่งค่าที่ได้นี้หากนำไปคูณกับ 9000000 ผลลัพธ์ คือ 0.000000009 ซึ่งไม่ถึง 1
เมื่อเรานำ 0.000000009 มาบวกกับ 1000000 ซึ่งเป็นเลข 7 หลักที่น้อยที่สุดจะได้เป็น 1000000.000000009 ส่วนฟังก์ชั่น Int เป็นการตัดเศษทิ้ง ดังนั้น Int(1000000.000000009) ก็จะได้เป็น 1000000 จากกรณีนี้ตัวเลขทีสุ่มแล้วน้อยทีสุดจะไม่มีโอกาสน้อยกว่า 1000000 ได้เลย
สมมุติว่าสุ่มแล้วได้ 0.999999999999999 เมื่อนำมาคูณกับ 9000000 ผลลัพธ์จะได้ 8999999.99999999 เมื่อนำมาบวกกับ 1000000 จะได้ 9999999.99999999 ดังนั้น Int(9999999.99999999) ก็จะได้เป็น 9999999 กรณีนี้ตัวเลขทีสุ่มแล้วมากทีสุดจะไม่มีโอกาสมากกว่า 9999999 ได้เลย จาก 2 กรณีข้างต้นคิดว่าน่าจะเห็นภาพมากขึ้น
ส่วนที่ถามมา
poohbear wrote:สมมุติว่าเรา จะใช้แค่ 5 หลัก หรือ 8 หลัก แค่ลบ ศูนย์ ออกไปแค่นี่หรือค่ะ
คำตอบคือ ใช่ครับ