:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
sommor
Member
Member
Posts: 183
Joined: Mon Mar 05, 2012 9:12 am

อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#1

Post by sommor »

อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกตามเงือนไข ครับ

หมายความว่า ผมใส่ข้อมูลที่ D แล้วให้มันแยก แตก กระจาย ไป ที่ A B และC
โดยที่ a ต้องไม่เกิน 5 ใน b ต้องไม่เกิน 10 และ C ก็ไม่เกิน 10 ครับ ผลลัพท์ เท่ากับคอลัมป์ D

ขออาจารย์แนะนำด้วย ครับ
23-3-2558 22-02-13.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#2

Post by snasui »

:D แนบไฟล์ Excel มาด้วยเพื่อสะดวกในการตอบครับ
User avatar
sommor
Member
Member
Posts: 183
Joined: Mon Mar 05, 2012 9:12 am

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#3

Post by sommor »

sommor wrote:อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกตามเงือนไข ครับ

หมายความว่า ผมใส่ข้อมูลที่ D แล้วให้มันแยก แตก กระจาย ไป ที่ A B และC
โดยที่ a ต้องไม่เกิน 5 ใน b ต้องไม่เกิน 10 และ C ก็ไม่เกิน 10 ครับ ผลลัพท์ เท่ากับคอลัมป์ D

ขออาจารย์แนะนำด้วย ครับ
23-3-2558 22-02-13.jpg
(ขออภัย ครับ)
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#4

Post by snasui »

:D เซลล์ B3 คีย์สูตรตามด้านล่างครับ

=IF($E3-(SUM($A3:A3)-$A3)-B$2>=0,B$2,MAX(0,$E3-(SUM($A3:A3)-$A3)))

Enter > Copy ไปทางขวาและลงด้านล่าง
User avatar
sommor
Member
Member
Posts: 183
Joined: Mon Mar 05, 2012 9:12 am

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#5

Post by sommor »

เป็นพระคุณอย่างยิ่งครับ อาจารย์
User avatar
sommor
Member
Member
Posts: 183
Joined: Mon Mar 05, 2012 9:12 am

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#6

Post by sommor »

อาจารย์ ครับ ผมลองพยายาม เพิ่มเติมเข้าไปอย่างที่เราต้องการ แต่ก็ยังทำไม่ได้ครับ แบบว่า ผมพยายาม กระจายให้ครบทุกช่อง ให้ ตัวเลขที่ A B และ C แตกต่างกันบ้าง แม้ว่า ผลรวม จะเท่ากัน ก็ตาม (อยากให้ ได้ค่าเหมือน ดัง ภาพ ครับ)
You do not have the required permissions to view the files attached to this post.
Last edited by sommor on Tue Mar 24, 2015 5:57 pm, edited 1 time in total.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#7

Post by snasui »

:D การทำเช่นนั้น ทางเลือกหนึ่งคือให้เขียนด้วย VBA ครับ

ลองเขียนมาก่อนติดแล้วค่อยถามกันต่อครับ
User avatar
sommor
Member
Member
Posts: 183
Joined: Mon Mar 05, 2012 9:12 am

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#8

Post by sommor »

อันนี้ ผมไม่รู้เรื่องเลย ครับ VBA ผมแค่ใช้สูตร EXCEL เล็กๆ น้อยๆ เป็น เฉยๆ ครับ (ขอบคุณที่แนะนำครับ อาจารย์)
User avatar
sommor
Member
Member
Posts: 183
Joined: Mon Mar 05, 2012 9:12 am

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#9

Post by sommor »

อาจารย์ครับ ถ้าหากเราต้อง กระจายให้ครบทุกช่อง A B และ C ทำได้ไหมครับ จากสูตรที่ได้ มา จะเน้นที่ ช่อง A และ C
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#10

Post by snasui »

:D สูตรเดิมเน้นทุกเซลล์ จากที่ถามมา ช่วยชี้ให้เห็นว่าสูตรเดิมเน้นที่ A และ C อย่างไรโดยแนบไฟล์ตัวอย่างประกอบครับ
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#11

Post 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 เพื่อสุ่มดูครับ
อย่างไรก็ตาม การใช้สูตรแบบนี้ผมว่าอาจมีข้อผิดพลาดบ้างในการสุ่มบางครั้ง เนื่องจากอาจยังเขียนเงิ่อนไขไม่ครอบคลุมพอ (เขียนมาแค่นี้ผมยังมึนเลย :flw: ) ถ้าจะให้ชัวร์ก็ VBA ตามที่อาจารย์บอกนะครับ
User avatar
sommor
Member
Member
Posts: 183
Joined: Mon Mar 05, 2012 9:12 am

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#12

Post by sommor »

ว้าว... โอเค เลย ครับ เยี่ยม มากๆ เลย ครับ แค่นี้ ก็ เป็นพระคุณอย่างยิ่ง ครับ
จากที่ผม อ่านสูตร ที่ให้มา รู้แต่ ตรง D3 เท่านั้นเอง ครับ จะให้ไปพัฒนาต่อ ก็ไปไม่เปํน ครับ

ขอบคุณมากๆ ครับ
Last edited by sommor on Thu Mar 26, 2015 3:12 pm, edited 1 time in total.
User avatar
sommor
Member
Member
Posts: 183
Joined: Mon Mar 05, 2012 9:12 am

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#13

Post by sommor »

ขอเพิ่มเติม ครับ ผมเลย ต้องเพิ่มเติม เข้าไป อีก (ทดลอง หาความรู้) ยังงง แก้ไม่ได้ ครับ
You do not have the required permissions to view the files attached to this post.
Last edited by sommor on Thu Mar 26, 2015 3:36 pm, edited 1 time in total.
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#14

Post by DhitiBank »

งงครับ ทำไมเพิ่มมาหลายคอลัมน์ และทำไมรวมที่คอลัมน์ J ถึงมีแค่ 25 คะแนน รบกวนอธิบายให้ละเอียดขึ้นได้ไหมครับ และยกตึวอย่างคำตอบที่ต้องการสัก 3-4 ตัวอย่าง เพื่อเป็นแนวทาง
User avatar
sommor
Member
Member
Posts: 183
Joined: Mon Mar 05, 2012 9:12 am

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#15

Post by sommor »

ตอนแรก ที่ให้ไป มัน เป็น แค่ 3 คอลัมป์ จาก สูตรให้มา โอเค แล้ว ครับ ครับ ทีนี้ เราอยากทดลอง หรือเพิ่ม เติม เป็น 5-6 คอลัมป์ บ้างและเอามาใช้ ลักษณะเนี๊ยะ ครับ อยากพัฒนา เพิ่ม เติม ครับ

(ขอบคุณที่ช่วย งง) (ต้องการเหมือนเดิม แหละ ครับ)

ช่อง B ไม่เกิน 5 ช่อง C ไม่เกิน 15 ช่อง D ไม่เกิน 10 ช่องE ไม่เกิน 20 ช่อง F ไม่เกิน 5 ช่อง G ไม่เกิน 15 ช่อง H ไม่เกิน 10 ช่อง I ไม่เกิน 20 ครับ ใน J เราใส่ ตัวเลขให้ไปให้ ตัวเลข กระจาย แบบ สุ่ม ให้ครบทุกช่อง
You do not have the required permissions to view the files attached to this post.
User avatar
sommor
Member
Member
Posts: 183
Joined: Mon Mar 05, 2012 9:12 am

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#16

Post by sommor »

ข้างบนไฟล์ ผิดครับ เลย ส่งมาใหม่ ครับ


จาก สูตรให้มา โอเค แล้ว ครับ ครับ ทีนี้ เราอยากทดลอง หรือเพิ่ม เติม เป็น 5-6 คอลัมป์ บ้างและเอามาใช้ ลักษณะเนี๊ยะ ครับ อยากพัฒนา เพิ่ม เติม ครับ

(ต้องการเหมือนเดิม แหละ ครับ)

ช่อง B ไม่เกิน 5 ช่อง C ไม่เกิน 15 ช่อง D ไม่เกิน 10 ช่องE ไม่เกิน 20 ช่อง F ไม่เกิน 5 ช่อง G ไม่เกิน 15 ช่อง H ไม่เกิน 10 ช่อง I ไม่เกิน 20 ครับ

ใน J เราใส่ ตัวเลขไป ให้ ตัวเลข กระจาย แบบ สุ่ม ให้ครบทุกช่อง
You do not have the required permissions to view the files attached to this post.
User avatar
sommor
Member
Member
Posts: 183
Joined: Mon Mar 05, 2012 9:12 am

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#17

Post 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 แถว ผมไปต่อ ไม่เป็น ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#18

Post 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 เอาไว้ตรวจสอบผลการสุ่มครับ ว่าผิดพลาดหรือเปล่า หากผิดพลาดจะขึ้น !! ครับ ซึ่งอาจจะยังมี)
ผมว่าการทำงานลักษณะนี้ไม่เหมาะจะเอาสูตรมาใช้เลยนะครับ เพราะโอกาสผิดพลาดสูง :?
User avatar
sommor
Member
Member
Posts: 183
Joined: Mon Mar 05, 2012 9:12 am

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#19

Post by sommor »

ไม่เป็นไร ครับ ขอแค่ให้มันพอได้ ถ้าตัวไหนผิดก็แก้ เป็น ตัวๆ ครับ ขอบคุณครับ ที่ช่วย คิดให้ จะลองดูครับ ถ้าได้ไม่ได้ อย่างไรก็ ขอขอบพระคุณอย่าง ยิ่ง ครับ
User avatar
sommor
Member
Member
Posts: 183
Joined: Mon Mar 05, 2012 9:12 am

Re: อยากทราบ วิธีการแยกตัวเลข ออกจากกัน ที่มาการบวกที่มีเงือนไข ครับ

#20

Post 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
Post Reply