Page 1 of 1
การใช้ IF หลายเงื่อนไข
Posted: Thu Mar 29, 2018 9:07 pm
by Rin
พยายามใช้สูตร =IF(E2="","",IF(B2="","Y",IF(C2="","Y",""))) ที่ช่อง A2 เพื่อจะบอกว่า ถ้า B2:B11 และ C2:C11 ว่าง ให้ใส่ Y ที่ A2:A11
แต่พบปัญหาค่ะ
Re: การใช้ IF หลายเงื่อนไข
Posted: Thu Mar 29, 2018 9:12 pm
by puriwutpokin
ที่ A2=IF(E2="","",IF(AND(B2="",C2=""),"Y","")) copy down
Re: การใช้ IF หลายเงื่อนไข
Posted: Thu Mar 29, 2018 9:23 pm
by Rin
ขอบคุณมากๆ นะคะ
Re: การใช้ IF หลายเงื่อนไข
Posted: Sat Mar 31, 2018 9:27 pm
by kio2002
พอดีผมใช้ if หลายเงื่อนไขเหมือนกันครับ ติดปัญหา สามารถใช้กระทู้นี้ถามต่อเลย ได้ไหมครับ
Re: การใช้ IF หลายเงื่อนไข
Posted: Sat Mar 31, 2018 9:32 pm
by puriwutpokin
ได้ครับ แนบไฟล์ตัวอย่างและคำตอบที่ต้องการมาดูกันครับ
Re: การใช้ IF หลายเงื่อนไข
Posted: Sat Apr 07, 2018 9:45 pm
by kio2002
เรียนสมาชิกทุกท่าน
ผมทำ if หลายชั้น แล้วติดปัญหา
กรณีเลือกเซลล์ H5 เป็น "ส่วนลด แยก" แล้วค่าระหว่างเซลล์ H31:H36 ไม่ทำงาน มันขึ้น False
คาดว่าผมน่าจะใส่วงเล็บไม่ถูก รบกวนสมาชิกช่วยดูให้หน่อยครับ
=IF($C$8="ก่อน VAT",IF($I$5="ส่วนลดรวม",CEILING(F31-$H$5*F31,IF($C$7="ปัดขึ้นจำนวนเต็ม",ROUNDUP(F31-$H$5*F31,0),IF($C$7="ไม่ปัด",ROUNDUP(F31-$H$5*F31,2),IF($I$5="ส่วนลด แยก",F31-G31*F31,IF($C$7="ปัดขึ้นจำนวนเต็ม",ROUNDUP(F31-G31*F31,0),IF($C$7="ไม่ปัด",ROUNDUP(F31-G31*F31,2),0.25))))))))
Re: การใช้ IF หลายเงื่อนไข
Posted: Sat Apr 07, 2018 10:55 pm
by puriwutpokin
แบบนี้หรือเปล่าครับ ที่ H31=IF($C$8="ก่อน VAT",IF($I$5="ส่วนลดรวม",CEILING(F31-$H$5,F31),IF($C$7="ปัดขึ้นจำนวนเต็ม",ROUNDUP(F31-$H$5*F31,0),IF($C$7="ไม่ปัด",ROUNDUP(F31-$H$5*F31,2),IF($I$5="ส่วนลด แยก",F31-G31*F31,IF($C$7="ปัดขึ้นจำนวนเต็ม",ROUNDUP(F31-G31*F31,0),IF($C$7="ไม่ปัด",ROUNDUP(F31-G31*F31,2),0.25))))))) >Copy Down
Re: การใช้ IF หลายเงื่อนไข
Posted: Sun Apr 08, 2018 7:52 pm
by kio2002
puriwutpokin wrote: Sat Apr 07, 2018 10:55 pm
แบบนี้หรือเปล่าครับ ที่ H31=IF($C$8="ก่อน VAT",IF($I$5="ส่วนลดรวม",CEILING(F31-$H$5,F31),IF($C$7="ปัดขึ้นจำนวนเต็ม",ROUNDUP(F31-$H$5*F31,0),IF($C$7="ไม่ปัด",ROUNDUP(F31-$H$5*F31,2),IF($I$5="ส่วนลด แยก",F31-G31*F31,IF($C$7="ปัดขึ้นจำนวนเต็ม",ROUNDUP(F31-G31*F31,0),IF($C$7="ไม่ปัด",ROUNDUP(F31-G31*F31,2),0.25))))))) >Copy Down
ลองปรับตามที่ท่านบอกแล้วครับ พอเลือก "ปัดจุดทศนิยม 0.25" ที่เซลล์ C7 แล้วค่าที่เซลล์ H31 ขึ้นเลข 100 ค่าที่ถูกต้อง ต้องเป็น 90.25
Re: การใช้ IF หลายเงื่อนไข
Posted: Sun Apr 08, 2018 8:10 pm
by snasui

ช่วยลำดับมาเป็นข้อ ๆ ในทุกเงื่อนไขที่ต้องการ การเรียงลำดับจะต้องพิจารณาก่อนหลังมาด้วยครับ
คำถามลักษณะนี้ควรเขียนเงื่อนไขทั้งหมดมาแทนการถามด้วยสูตร ขอให้ใช้สูตรเป็นเพียงส่วนประกอบของคำถาม ผู้ตอบจะช่วยพิจารณาให้เองว่าสูตรทั้งหมดควรจะเขียนว่าอย่างไรจากเงื่อนไขที่ได้อธิบายมาครับ
Re: การใช้ IF หลายเงื่อนไข
Posted: Mon Apr 09, 2018 8:49 pm
by kio2002
ขออภัยครับ ท่านอาจารย์ที่ไม่ได้เรียงลำดับ และเงื่อนไขที่ต้องการ
ขออธิบายตั้งแต่ต้นเลยนะครับ
ที่เซลล์ C8 จะมี drop down "รวม VAT" และ "ก่อน VAT" ให้เลือก
ลำดับที่1 หากเลือก "รวม vat"
ลำดับที่1.2ให้พิจารณาต่อว่า ที่เซลล์ I5 เป็น "ส่วนลดรวม" หรือ "ส่วนลด แยก"
ลำดับที่1.2.1 หากเป็น "ส่วนลดรวม" ให้สูตรทำงานดังนี้ F31-31*$H$5
ลำดับที่1.2.2 แต่ถ้าเลือก "ส่วนลด แยก" ให้สูตรทำงานดังนี้ F31-F31*G31 ตามสูตรที่เขียนด้านล่างนี้ครับ สูตรตัวนี้ไม่มีปัญหาครับ
=ROUNDUP(IF($C$8="รวม VAT",IF($I$5="ส่วนลดรวม",F31-F31*$H$5,IF($I$5="ส่วนลด แยก",F31-F31*G31))+L31/1.07),2)
ต่อมา
ลำดับที่2 หากเลือก "ก่อน VAT"
ลำดับที่2.1ให้พิจารณาต่อว่า ที่เซลล์ I5 เป็น "ส่วนลดรวม" หรือ "ส่วนลด แยก"
ลำดับที่2.2 หากเลือก "ส่วนลดรวม"
ลำดับที่2.2.1ให้พิจารณาต่อว่า ที่เซลล์ C7 เลือก "ปัดขึ้นจำนวนเต็ม" หรือ "ไม่ปัด" หรือ "ปัดจุดทศนิยม 0.25"
ลำดับที่2.2.2 หากเลือก "ปัดขึ้นจำนวนเต็ม" ให้สูตรทำงานดังนี้ ROUNDUP(F31-$H$5*F31,0)
ลำดับที่2.2.3 หากเลือก "ไม่ปัด" ให้สูตรทำงานดังนี้ ROUNDUP(F31-$H$5*F31,2)
ลำดับที่2.2.4 หากเลือก "ปัดจุดทศนิยม 0.25" ให้สูตรทำงานดังนี้ CEILING(F31-$H$5*F31,0.25)
ลำดับที่2.3 หากเลือก "ส่วนลด แยก"
ลำดับที่2.3.1ให้พิจารณาต่อว่า ที่เซลล์ C7 เลือก "ปัดขึ้นจำนวนเต็ม" หรือ "ไม่ปัด" หรือ "ปัดจุดทศนิยม 0.25"
ลำดับที่2.3.2 หากเลือก "ปัดขึ้นจำนวนเต็ม" ให้สูตรทำงานดังนี้ ROUNDUP(F31-G31*F31,0)
ลำดับที่2.3.3 หากเลือก "ไม่ปัด" ให้สูตรทำงานดังนี้ ROUNDUP(F31-G31*F31,2)
ลำดับที่2.3.4 หากเลือก "ปัดจุดทศนิยม 0.25" ให้สูตรทำงานดังนี้ CEILING(F31-G31*F31,0.25)
ตามสูตรที่ยังติดปัญหาด้านล่างนี้ครับ
=ROUNDUP(IF($C$8="ก่อน VAT",IF($I$5="ส่วนลดรวม",CEILING(F31-$H$5*F31,0.25),IF($C$7="ปัดขึ้นจำนวนเต็ม",ROUNDUP(F31-$H$5*F31,0),IF($C$7="ไม่ปัด",ROUNDUP(F31-$H$5*F31,2),IF($I$5="ส่วนลด แยก",CEILING(F31-G31*F31,0.25),IF($C$7="ปัดขึ้นจำนวนเต็ม",ROUNDUP(F31-G31*F31,0),IF($C$7="ไม่ปัด",ROUNDUP(F31-G31*F31,2)))))))+L31/1.07),2)
และรวมสูตรข้อที่1 และ2 เข้าด้วยกันครับ หรือสมาชิกสามารถแนะนำสูตรที่เหมาะสม และกระชับมากกว่านี้ได้เลยนะครับ ยินดีเปลี่ยนใหม่
สูตรนี้ค่อนข้างยาว ผมทำเองบางทียัง งงๆ แต่ไม่รู้จะใช้สูตรไหนครับ พอดีเข้าใจสูตร IF มาพอสมควร จึงเลือกใช้สูตร IF
หากอธิบายไม่เข้าใจ ต้องขออภัยด้วยครับ และรบกวนแจ้งข้อที่ไม่เข้าใจมาได้เลยครับ จะได้อธิบายใหม่
Re: การใช้ IF หลายเงื่อนไข
Posted: Mon Apr 09, 2018 10:13 pm
by snasui

ตัวอย่างสูตรที่ H31 ตามที่อธิบายมาซึ่งจะไม่ได้พิจารณากรณีที่แจ้งมาว่าติดขัดตรงไหน อย่างไร จะพิจารณาเฉพาะเงื่อนไขของสูตรทั้งหมดเท่านั้นครับ
=IF(AND($C$8="รวม VAT",$I$5="ส่วนลดรวม"),F31-31*$H$5,IF(AND($C$8="รวม VAT",$I$5="ส่วนลดแยก"),F31-F31*G31,IF(AND($C$8="ก่อน VAT",$I$5="ส่วนลด รวม",$C$7="ปัดขึ้นจำนวนเต็ม"),ROUNDUP(F31-$H$5*F31,0),IF(AND($C$8="ก่อน VAT",$I$5="ส่วนลด รวม",$C$7="ไม่ปัด"),ROUNDUP(F31-$H$5*F31,2),IF(AND($C$8="ก่อน VAT",$I$5="ส่วนลด รวม",$C$7="ปัดจุดทศนิยม 0.25"),CEILING(F31-$H$5*F31,0.25),IF(AND($C$8="ก่อน VAT",$I$5="ส่วนลด แยก",$C$7="ปัดขึ้นจำนวนเต็ม"),ROUNDUP(F31-G31*F31,0),IF(AND($C$8="ก่อน VAT",$I$5="ส่วนลด แยก",$C$7="ไม่ปัด"),ROUNDUP(F31-G31*F31,2),IF(AND($C$8="ก่อน VAT",$I$5="ส่วนลด แยก",$C$7="ปัดจุดทศนิยม 0.25"),CEILING(F31-G31*F31,0.25),"ไม่เข้าเงื่อนไข"))))))))
Enter > Copy ลงด้านล่าง
การพิจารณาว่าเข้าเงื่อนไขใดพร้อมกันทั้งหมดให้ใช้ And เข้ามาช่วย หากพิจารณาว่าเข้าเพียงเงื่อนไขใดเงื่อนไขหนึ่งจากเงื่อนไขทั้งหมดให้ใช้ Or มาช่วยครับ
Re: การใช้ IF หลายเงื่อนไข
Posted: Mon Apr 09, 2018 11:11 pm
by kio2002
แบบนี้เลยครับอาจารย์ ตรงตามความต้องการ ผมจะนำไปใช้และปรับเพิ่ม หากติดขัดตรงไหนจะสอบถามเพิ่มเติมนะครับ
ไม่เคยรู้มาก่อนว่าใช้ and และ or เข้ามาช่วยได้
ขอบคุณมากๆครับ