: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

การใช้ IF หลายเงื่อนไข

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Rin
Member
Member
Posts: 135
Joined: Fri Jan 26, 2018 10:18 pm

การใช้ IF หลายเงื่อนไข

#1

Post by Rin »

พยายามใช้สูตร =IF(E2="","",IF(B2="","Y",IF(C2="","Y",""))) ที่ช่อง A2 เพื่อจะบอกว่า ถ้า B2:B11 และ C2:C11 ว่าง ให้ใส่ Y ที่ A2:A11

แต่พบปัญหาค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3693
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: การใช้ IF หลายเงื่อนไข

#2

Post by puriwutpokin »

ที่ A2=IF(E2="","",IF(AND(B2="",C2=""),"Y","")) copy down
:shock: :roll: :D
Rin
Member
Member
Posts: 135
Joined: Fri Jan 26, 2018 10:18 pm

Re: การใช้ IF หลายเงื่อนไข

#3

Post by Rin »

ขอบคุณมากๆ นะคะ
kio2002
Member
Member
Posts: 177
Joined: Thu Sep 20, 2012 8:40 am

Re: การใช้ IF หลายเงื่อนไข

#4

Post by kio2002 »

พอดีผมใช้ if หลายเงื่อนไขเหมือนกันครับ ติดปัญหา สามารถใช้กระทู้นี้ถามต่อเลย ได้ไหมครับ
User avatar
puriwutpokin
Guru
Guru
Posts: 3693
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: การใช้ IF หลายเงื่อนไข

#5

Post by puriwutpokin »

ได้ครับ แนบไฟล์ตัวอย่างและคำตอบที่ต้องการมาดูกันครับ
:shock: :roll: :D
kio2002
Member
Member
Posts: 177
Joined: Thu Sep 20, 2012 8:40 am

Re: การใช้ IF หลายเงื่อนไข

#6

Post 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))))))))
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3693
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: การใช้ IF หลายเงื่อนไข

#7

Post 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
:shock: :roll: :D
kio2002
Member
Member
Posts: 177
Joined: Thu Sep 20, 2012 8:40 am

Re: การใช้ IF หลายเงื่อนไข

#8

Post 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
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การใช้ IF หลายเงื่อนไข

#9

Post by snasui »

:D ช่วยลำดับมาเป็นข้อ ๆ ในทุกเงื่อนไขที่ต้องการ การเรียงลำดับจะต้องพิจารณาก่อนหลังมาด้วยครับ

คำถามลักษณะนี้ควรเขียนเงื่อนไขทั้งหมดมาแทนการถามด้วยสูตร ขอให้ใช้สูตรเป็นเพียงส่วนประกอบของคำถาม ผู้ตอบจะช่วยพิจารณาให้เองว่าสูตรทั้งหมดควรจะเขียนว่าอย่างไรจากเงื่อนไขที่ได้อธิบายมาครับ
kio2002
Member
Member
Posts: 177
Joined: Thu Sep 20, 2012 8:40 am

Re: การใช้ IF หลายเงื่อนไข

#10

Post 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
หากอธิบายไม่เข้าใจ ต้องขออภัยด้วยครับ และรบกวนแจ้งข้อที่ไม่เข้าใจมาได้เลยครับ จะได้อธิบายใหม่
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การใช้ IF หลายเงื่อนไข

#11

Post by snasui »

:D ตัวอย่างสูตรที่ 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 มาช่วยครับ
kio2002
Member
Member
Posts: 177
Joined: Thu Sep 20, 2012 8:40 am

Re: การใช้ IF หลายเงื่อนไข

#12

Post by kio2002 »

แบบนี้เลยครับอาจารย์ ตรงตามความต้องการ ผมจะนำไปใช้และปรับเพิ่ม หากติดขัดตรงไหนจะสอบถามเพิ่มเติมนะครับ
ไม่เคยรู้มาก่อนว่าใช้ and และ or เข้ามาช่วยได้
ขอบคุณมากๆครับ
Post Reply