Page 1 of 1

การหาผลรวมแบบมีเงื่อนไขครับ

Posted: Mon Feb 23, 2015 3:04 pm
by thanasit55
ไม่ทราบว่า excel สามารถหาผลรวมของตัวเลขโดยที่มีการกำหนดผลรวมมาแล้ว เช่นมีตัวเลข 1 2 3 4 5 6 7 8

แล้วโจทย์บอกว่าให้หาตัวเลขที่บวกกันแล้วได้ 15(A3) ครับโดยการทำ highlight เซลที่มีตัวเลข 4 5 6 ใน A1-L1 ครับแล้วเมื่อมีการเปลี่ยนค่า ใน A3 ก็ให้หาผลรวมใหม่โดนการ hilight A1-L1 ใหม่ครับไม่ทราบว่าสามารถทำได้หรือไม่ครับผมได้แนบไฟล์มาให้ด้วยครับผม

Re: การหาผลรวมแบบมีเงื่อนไขครับ

Posted: Mon Feb 23, 2015 4:34 pm
by bank9597
ต้องใช้ VBA ครับ หรือไม่ก็ใช้ Excel Solver ไม่แน่ใจน่ะ

Re: การหาผลรวมแบบมีเงื่อนไขครับ

Posted: Mon Feb 23, 2015 7:42 pm
by primevalm
ตัวเลข 3 ตัว ที่บวกกันแล้วได้ 15 มันมีหลายชุดนะครับ ไม่ได้มีแค่ 4 5 6 เท่านั้น แต่ยังมี 3 5 7 หรือ 1 5 9 หรือ ฯลฯ

Re: การหาผลรวมแบบมีเงื่อนไขครับ

Posted: Mon Feb 23, 2015 9:36 pm
by snasui
:D สามารถใช้ Solver เข้ามาช่วยได้ครับโดย
  1. ตรง A3 คีย์สูตร =SUMPRODUCT(A1:L1,A2:L2)
  2. เข้าเมนู File > Options
  3. Add-ins > ตรง Manage สังเกตว่าเป็น Excel Add-ins > Go... > Solver > OK
  4. คลิก A3 > เข้าเมนู Data > Solver > ตรง Set Objective: คลิกลงในช่องแล้วคลิก A3 > ตรง Value Of: คีย์เลข 15 (หรือเลขที่ต้องการ)
  5. ตรง By Changing Variable Cells: คลิกลงในช่องแล้วลากเมาส์คลุม A2:L2
  6. คลิกปุ่ม Add > ลากเมาส์คลุม A2:L2 > Add > ตรง Cell Reference: คลิกลงในช่องแล้วลากเมาส์คลุม A2:L2 > ช่องถัดมาเลือก bin > OK > คลิกปุ่ม Solve > คลิก OK
  7. เซลล์ใดมีเลข 1 แสดงว่าด้านบนเซลล์นั้นรวมกันแล้วได้ค่าตามค่าในเซลล์ A3

Re: การหาผลรวมแบบมีเงื่อนไขครับ

Posted: Wed Feb 25, 2015 9:55 pm
by thanasit55
snasui wrote::D สามารถใช้ Solver เข้ามาช่วยได้ครับโดย
  1. ตรง A3 คีย์สูตร =SUMPRODUCT(A1:L1,A2:L2)
  2. เข้าเมนู File > Options
  3. Add-ins > ตรง Manage สังเกตว่าเป็น Excel Add-ins > Go... > Solver > OK
  4. คลิก A3 > เข้าเมนู Data > Solver > ตรง Set Objective: คลิกลงในช่องแล้วคลิก A3 > ตรง Value Of: คีย์เลข 15 (หรือเลขที่ต้องการ)
  5. ตรง By Changing Variable Cells: คลิกลงในช่องแล้วลากเมาส์คลุม A2:L2
  6. คลิกปุ่ม Add > ลากเมาส์คลุม A2:L2 > Add > ตรง Cell Reference: คลิกลงในช่องแล้วลากเมาส์คลุม A2:L2 > ช่องถัดมาเลือก bin > OK > คลิกปุ่ม Solve > คลิก OK
  7. เซลล์ใดมีเลข 1 แสดงว่าด้านบนเซลล์นั้นรวมกันแล้วได้ค่าตามค่าในเซลล์ A3
ขอบคุณมากครับขอนำไปทดสอบก่อนนะครับ

Re: การหาผลรวมแบบมีเงื่อนไขครับ

Posted: Thu Feb 26, 2015 12:44 am
by DhitiBank
หรืออีกวิธีหนึ่ง ใช้สูตรครับ แต่ข้อจำกัดมีเยอะมากๆ ลองทำแบบนี้ครับ

1. ที่ N1 คีย์
=INDEX($A$1:$L$1,INT(RAND()*12)+1)
Enter คัดลอกไป O1

2. ที่ P1 คีย์
=A3-N1-O1
Enter

3. ที่ Q1 คีย์
=SUMPRODUCT(1/COUNTIF(N1:P1,N1:P1))
Enter

4. ที่ N2 คีย์

Code: Select all

=IF(OR(P1<0,COUNTIF(A1:L1,P1)=0),"Please random again",
IF(Q1=3,"",
IF(AND(N1=O1,COUNTIF(A1:L1,N1)=1),"Please random again",
IF(AND(N1=P1,COUNTIF(A1:L1,N1)=1),"Please random again",
IF(AND(P1=O1,COUNTIF(A1:L1,P1)=1),"Please random again",
IF(AND(N1=O1,O1=P1,COUNTIF(A1:L1,N1)<3),"Please random again",""))))))
Enter

5. ที่ A2 คีย์

Code: Select all

=IF(COUNTIF($N$1:$P$1,A1)=0,0,IF(COUNTIF($N$1:$P$1,A1)>COUNTIF($A$1:$L$1,A1),"ERR",
IF(COUNTIF($N$1:$P$1,A1)=COUNTIF($A$1:$L$1,A1),1,
IF(COUNTIF(A1:$L$1,A1)>1,0,1))))
Enter คัดลอกไปทางขวาจนถึง L2

6. คลิกเซลล์ A1 แล้วเลือก Conditional formatting --> New Rule -->Use a formula to determine...
ตรงช่องว่างด้านล่างให้ใส่สูตร
=A2=1
จากนั้นเลือก Format สีอักษรสีขาว พื้นหลังสีแดง แล้ว OK --> OK

7. Conditional formatting --> Manage Rules... ในช่อง Applies to ให้เปลี่ยนเป็น =$A$1:$L$1 --> apply --> OK

กดปุ่ม F9 ไปเรื่อยๆ ตามไฟล์แนบครับ แต่อย่างที่บอก ข้อจำกัดเยอะมากครับทำให้ขึ้นข้อความเตือนบ่อย