Page 1 of 1

คำสั่ง random

Posted: Sat Oct 06, 2012 1:36 pm
by poohbear
คำสั่งที่จะ random ให้ได้ตัวเลข 7 หลัก ห้าพันชุด ต้องใช้คำสั่งอะไรค่ะ

Re: คำสั่ง random

Posted: Sat Oct 06, 2012 1:52 pm
by snasui
:D ลองตามนี้ครับ

ที่เซลล์ใด ๆ คีย์

=INT(RAND()*900000+100000)

Enter > Copy ลงด้านล่างเท่าต้องการ

Re: คำสั่ง random

Posted: Sat Oct 06, 2012 1:58 pm
by poohbear
ลองทำตามสูตรที่ให้มาแล้วค่ะ ผลลัพธ์ออกมาเป็นเลข 6 หลักค่ะ รบกวนหน่อยนะค่ะ ต้องการเป็นเลข 7 หลัก ค่ะ ขอบคุณค่ะ

Re: คำสั่ง random

Posted: Sat Oct 06, 2012 2:00 pm
by snasui
:lol: ผมคีย์ตกไปครับ :tt: เพิ่มเลข 0 เข้าไปอีกตัวเป็นด้านล่างครับ

=INT(RAND()*9000000+1000000)

Enter > Copy ลงด้านล่าง

Re: คำสั่ง random

Posted: Sat Oct 06, 2012 2:16 pm
by poohbear
ขอบคุณมากนะค่ะ

Re: คำสั่ง random

Posted: Sat Oct 06, 2012 3:54 pm
by poohbear
รบกวนถามอีกเรื่องค่ะ
ทำไมเราต้องใช้สูตร =INT(RAND()*9000000+1000000) แบบนี้ค่ะ คือสงสัยว่าทำไมต้องใช้ เลข 9000000 บวกกับ 1000000
สมมุติว่าเรา จะใช้แค่ 5 หลัก หรือ 8 หลัก แค่ลบ ศูนย์ ออกไปแค่นี่หรือค่ะ มีหลักการคิดหรือเปล่าค่ะ

ขอบคุณมากค่ะ

Re: คำสั่ง random

Posted: Sat Oct 06, 2012 4:25 pm
by snasui
:D ฟังก์ชั่น 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 หลัก แค่ลบ ศูนย์ ออกไปแค่นี่หรือค่ะ
คำตอบคือ ใช่ครับ

Re: คำสั่ง random

Posted: Sat Oct 06, 2012 4:39 pm
by poohbear
ขอบคุณที่สุดในโลกเลยค่ะ ได้ความรู้เพิ่มอีก

Re: คำสั่ง random

Posted: Mon Oct 08, 2012 10:31 am
by phirawit
ขอบคุณมากเลยคะ ขอเอาไปใช้ด้วยนะคะ