Page 1 of 2
อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Mon Mar 23, 2015 10:07 pm
by sommor
อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกตามเงือนไข ครับ
หมายความว่า ผมใส่ข้อมูลที่ D แล้วให้มันแยก แตก กระจาย ไป ที่ A B และC
โดยที่ a ต้องไม่เกิน 5 ใน b ต้องไม่เกิน 10 และ C ก็ไม่เกิน 10 ครับ ผลลัพท์ เท่ากับคอลัมป์ D
ขออาจารย์แนะนำด้วย ครับ
23-3-2558 22-02-13.jpg
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Mon Mar 23, 2015 11:55 pm
by snasui

แนบไฟล์ Excel มาด้วยเพื่อสะดวกในการตอบครับ
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Tue Mar 24, 2015 12:13 am
by sommor
sommor wrote:อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกตามเงือนไข ครับ
หมายความว่า ผมใส่ข้อมูลที่ D แล้วให้มันแยก แตก กระจาย ไป ที่ A B และC
โดยที่ a ต้องไม่เกิน 5 ใน b ต้องไม่เกิน 10 และ C ก็ไม่เกิน 10 ครับ ผลลัพท์ เท่ากับคอลัมป์ D
ขออาจารย์แนะนำด้วย ครับ
23-3-2558 22-02-13.jpg
(ขออภัย ครับ)
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Tue Mar 24, 2015 12:31 am
by snasui

เซลล์ B3 คีย์สูตรตามด้านล่างครับ
=IF($E3-(SUM($A3:A3)-$A3)-B$2>=0,B$2,MAX(0,$E3-(SUM($A3:A3)-$A3)))
Enter > Copy ไปทางขวาและลงด้านล่าง
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Tue Mar 24, 2015 12:35 am
by sommor
เป็นพระคุณอย่างยิ่งครับ อาจารย์
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Tue Mar 24, 2015 5:48 pm
by sommor
อาจารย์ ครับ ผมลองพยายาม เพิ่มเติมเข้าไปอย่างที่เราต้องการ แต่ก็ยังทำไม่ได้ครับ แบบว่า ผมพยายาม กระจายให้ครบทุกช่อง ให้ ตัวเลขที่ A B และ C แตกต่างกันบ้าง แม้ว่า ผลรวม จะเท่ากัน ก็ตาม (อยากให้ ได้ค่าเหมือน ดัง ภาพ ครับ)
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Tue Mar 24, 2015 5:55 pm
by snasui

การทำเช่นนั้น ทางเลือกหนึ่งคือให้เขียนด้วย VBA ครับ
ลองเขียนมาก่อนติดแล้วค่อยถามกันต่อครับ
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Tue Mar 24, 2015 5:59 pm
by sommor
อันนี้ ผมไม่รู้เรื่องเลย ครับ VBA ผมแค่ใช้สูตร EXCEL เล็กๆ น้อยๆ เป็น เฉยๆ ครับ (ขอบคุณที่แนะนำครับ อาจารย์)
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Wed Mar 25, 2015 9:28 am
by sommor
อาจารย์ครับ ถ้าหากเราต้อง กระจายให้ครบทุกช่อง A B และ C ทำได้ไหมครับ จากสูตรที่ได้ มา จะเน้นที่ ช่อง A และ C
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Wed Mar 25, 2015 11:49 pm
by snasui

สูตรเดิมเน้นทุกเซลล์ จากที่ถามมา ช่วยชี้ให้เห็นว่าสูตรเดิมเน้นที่ A และ C อย่างไรโดยแนบไฟล์ตัวอย่างประกอบครับ
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Thu Mar 26, 2015 7:12 am
by DhitiBank
สูตรของอาจารย์จะเน้นความถูกต้องครับ โดยจะไล่เติมเลขให้เต็มจากคอลัมน์ B-->C-->D ตามลำดับ แต่คุณต้องการให้ผลลัพธ์ที่ออกเป็นแบบสุ่มด้วยซึ่งไม่ได้บอกเงื่อนไขนี้ไว้ในตอนต้น
ทดลองแบบนี้ดูครับ
B3 คีย์
=IF(E3<5,ROUND(RAND()*E3,0),IF(E3>23,MAX(INT(E3/5),INT(RAND()*(E3/5+1))),IF(E3>20,MAX(1,INT(RAND()*(E3/5+1))),INT(RAND()*6))))
C3 คีย์
=MIN(10,E3-B3,INT(RAND()*ABS(10-(E3-B3))+MIN(10,ABS(10-(E3-B3)))))
D3 คีย์
=E3-SUM(B3:C3)
แล้วคัดลอกลงด้านล่าง แล้วลองกด F9 เพื่อสุ่มดูครับ
อย่างไรก็ตาม การใช้สูตรแบบนี้ผมว่าอาจมีข้อผิดพลาดบ้างในการสุ่มบางครั้ง เนื่องจากอาจยังเขียนเงิ่อนไขไม่ครอบคลุมพอ (เขียนมาแค่นี้ผมยังมึนเลย

) ถ้าจะให้ชัวร์ก็ VBA ตามที่อาจารย์บอกนะครับ
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Thu Mar 26, 2015 2:21 pm
by sommor
ว้าว... โอเค เลย ครับ เยี่ยม มากๆ เลย ครับ แค่นี้ ก็ เป็นพระคุณอย่างยิ่ง ครับ
จากที่ผม อ่านสูตร ที่ให้มา รู้แต่ ตรง D3 เท่านั้นเอง ครับ จะให้ไปพัฒนาต่อ ก็ไปไม่เปํน ครับ
ขอบคุณมากๆ ครับ
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Thu Mar 26, 2015 3:07 pm
by sommor
ขอเพิ่มเติม ครับ ผมเลย ต้องเพิ่มเติม เข้าไป อีก (ทดลอง หาความรู้) ยังงง แก้ไม่ได้ ครับ
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Thu Mar 26, 2015 3:34 pm
by DhitiBank
งงครับ ทำไมเพิ่มมาหลายคอลัมน์ และทำไมรวมที่คอลัมน์ J ถึงมีแค่ 25 คะแนน รบกวนอธิบายให้ละเอียดขึ้นได้ไหมครับ และยกตึวอย่างคำตอบที่ต้องการสัก 3-4 ตัวอย่าง เพื่อเป็นแนวทาง
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Thu Mar 26, 2015 3:38 pm
by sommor
ตอนแรก ที่ให้ไป มัน เป็น แค่ 3 คอลัมป์ จาก สูตรให้มา โอเค แล้ว ครับ ครับ ทีนี้ เราอยากทดลอง หรือเพิ่ม เติม เป็น 5-6 คอลัมป์ บ้างและเอามาใช้ ลักษณะเนี๊ยะ ครับ อยากพัฒนา เพิ่ม เติม ครับ
(ขอบคุณที่ช่วย งง) (ต้องการเหมือนเดิม แหละ ครับ)
ช่อง B ไม่เกิน 5 ช่อง C ไม่เกิน 15 ช่อง D ไม่เกิน 10 ช่องE ไม่เกิน 20 ช่อง F ไม่เกิน 5 ช่อง G ไม่เกิน 15 ช่อง H ไม่เกิน 10 ช่อง I ไม่เกิน 20 ครับ ใน J เราใส่ ตัวเลขให้ไปให้ ตัวเลข กระจาย แบบ สุ่ม ให้ครบทุกช่อง
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Thu Mar 26, 2015 10:46 pm
by sommor
ข้างบนไฟล์ ผิดครับ เลย ส่งมาใหม่ ครับ
จาก สูตรให้มา โอเค แล้ว ครับ ครับ ทีนี้ เราอยากทดลอง หรือเพิ่ม เติม เป็น 5-6 คอลัมป์ บ้างและเอามาใช้ ลักษณะเนี๊ยะ ครับ อยากพัฒนา เพิ่ม เติม ครับ
(ต้องการเหมือนเดิม แหละ ครับ)
ช่อง B ไม่เกิน 5 ช่อง C ไม่เกิน 15 ช่อง D ไม่เกิน 10 ช่องE ไม่เกิน 20 ช่อง F ไม่เกิน 5 ช่อง G ไม่เกิน 15 ช่อง H ไม่เกิน 10 ช่อง I ไม่เกิน 20 ครับ
ใน J เราใส่ ตัวเลขไป ให้ ตัวเลข กระจาย แบบ สุ่ม ให้ครบทุกช่อง
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Fri Mar 27, 2015 9:37 am
by sommor
ทดลองแบบนี้ดูครับ
B3 คีย์
=IF(E3<5,ROUND(RAND()*E3,0),IF(E3>23,MAX(INT(E3/5),INT(RAND()*(E3/5+1))),IF(E3>20,MAX(1,INT(RAND()*(E3/5+1))),INT(RAND()*6))))
C3 คีย์
=MIN(10,E3-B3,INT(RAND()*ABS(10-(E3-B3))+MIN(10,ABS(10-(E3-B3)))))
D3 คีย์
=E3-SUM(B3:C3)
โอเค แล้ว ครับ คุณ DhitiBank
แต่ อยากพัฒนา ต่อ ให้กระจาย 8 แถว ผมไปต่อ ไม่เป็น ครับ
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Fri Mar 27, 2015 9:42 am
by DhitiBank
ทดลองแบบนี้ครับ
B3 คีย์
=IF(J3<5,ROUND(RAND()*(J3+1),0),
IF(J3>=SUM($C$2:$I$2),ROUND(RAND()*(5-MOD(J3-1,B$2)-1)+MOD(J3-1,B$2)+1,0),
INT(RAND()*6)))
C3 คีย์
=IF($J3-SUM($B3:B3)>=SUM(C$2:$I$2),C$2,
IF(SUM($B3:B3)+SUM(D$2:$I$2)>=$J3,MIN($J3-SUM($B3:B3),INT(RAND()*(C$2+1))),
INT(RAND()*(C$2-(C$2-1))+(C$2-1))))
คัดลอกไปถึง H3
I3 คีย์
=J3-SUM(B3:H3)
K3 คีย์
=IF(SUM(B3:I3)<>J3,"!!","")
L3 คีย์
=IF(COUNTIF(B3:I3,"<"&0)+SUMPRODUCT(--(B3:I3>$B$2:$I$2)),"!!","")
คัดลอกสูตรทั้งหมดลงล่างครับ
(K3 และ L3 เอาไว้ตรวจสอบผลการสุ่มครับ ว่าผิดพลาดหรือเปล่า หากผิดพลาดจะขึ้น !! ครับ ซึ่งอาจจะยังมี)
ผมว่าการทำงานลักษณะนี้ไม่เหมาะจะเอาสูตรมาใช้เลยนะครับ เพราะโอกาสผิดพลาดสูง

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Fri Mar 27, 2015 10:38 am
by sommor
ไม่เป็นไร ครับ ขอแค่ให้มันพอได้ ถ้าตัวไหนผิดก็แก้ เป็น ตัวๆ ครับ ขอบคุณครับ ที่ช่วย คิดให้ จะลองดูครับ ถ้าได้ไม่ได้ อย่างไรก็ ขอขอบพระคุณอย่าง ยิ่ง ครับ
Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ
Posted: Sun Apr 05, 2015 5:19 pm
by sommor
ขอสอบถามอีกรอบ ครับ
ช่อง B ไม่เกิน 5 ช่อง C ไม่เกิน 15 ช่อง D ไม่เกิน 10 ช่องE ไม่เกิน 20 ช่อง F ไม่เกิน 5 ช่อง G ไม่เกิน 15 ช่อง H ไม่เกิน 10 ช่อง I ไม่เกิน 20 ครับ
ใน J เราใส่ ตัวเลขไป ให้ ตัวเลข กระจาย แบบ สุ่ม ให้ครบทุกช่อง
ถ้าต้องจะกำหนด ไม่ให้ตัวเลข ต่ำว่า 0 หรือ 1 หรือ 2 ลักษณะนี้ละครับ สรุป คือ ไม่ให้ต่ำกว่า 2 จะกำหนด อย่างไร ครับ เช่น ในช่อง B ไม่เกิน 5 และห้าม ต่ำกว่า 2