: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 เกิน7ชั้นไม่ได้

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
zoriner
Member
Member
Posts: 2
Joined: Sat Mar 26, 2011 6:30 pm

ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#1

Post by zoriner »

เรียน คุณคมควน
ผมได้ทำตามวิธีที่คุณได้โพสท์ไว้เรื่อง เราจะซ้อน IF มากกว่า 7 ชั้นได้อย่างไร? แล้ว แต่ปรากฏว่าไม่สามารถครับ
จนผมต้องลง MS Office 2007 เพราะเห็นว่ามันสามารถเพิ่มได้มากกว่า MS 2003 แต่ก็มันเป็น2ผลลัพธ์ (ผมลอง
กรอกเกรดโดยสมมติอย่างที่คุณเห็น ผมเป็นมือใหม่หัดทำครับ
หรือว่าผมต้องใส่อะไรลงไปอีกครับ จึงออกมาผลลัพธ์เดียว ("ผ่าน"หรือ"ตก")จนปัญญาจริง ๆครับ
จึงอยากจะขอให้คุณคมควนช่วยเหลือ ผมต้องทำสูตรให้เสร็จจะได้ให้ครูวิชาการกรอกคะแนนลงน่ะครับ เหลือสูตรเดียวเนี่ยแหละครับ

อ้อ..ลืมบอกไปว่าเงื่อนไขของการ "ผ่าน" ก็คือ นักเรียนต้องได้อย่างน้อยเกรด 1 ในทุกวิชา ถ้าได้เกรด 0 แม้เพียงวิชาเดียว
จะถือว่าสอบ "ตก" ครับ
ถ้าคุณคมควนมีสูตรอะไรที่จะช่วยให้สั้นเข้าก็กรุณาใส่มาให้ผมด้วยนะครับ ผมส่งมาทั้ง เวอร์ชั่น 2003 และ 2007 ครับ (ทาง อีเมล)

ขอบคุณมากครับ

ด้วยความนับถือในความมีจิตสาธาณะ

ขจรศักดิ์ โสรินทร์
:ugeek:
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#2

Post by snasui »

ช่วยอธิบายการคิดเกรดให้ด้วยครับ เพราะเท่าที่ผมดู ลักษณะเกรดจะเป็นดังนี้

0-49 เกรด 0
50-54 เกรด 1
55-59 เกรด 1.5
60-64 เกรด 2
65-69 เกรด 2.5
70-74 เกรด 3
75-79 เกรด 3.5
80 ขึ้นไป เกรด 4

ซึ่งสูตรที่เขียนมาแล้วก็ถือว่าใช้ได้ครับ หรือผิดพลาดที่เซลล์ไหน อย่างไร ช่วยแจ้งรายละเอียดด้วยครับ และสำหรับเซลล์ที่กรอกค่าไว้เป็น 0 ไม่ทราบเนื่องจากสาเหตุใดครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#3

Post by snasui »

เท่าที่ผมดูน่าจะเป็นปัญหาที่คอลัมน์ Z ที่เป็นการประเมินผลว่าผ่านหรือไม่ผ่าน

ที่ Z13 ใช้สูตรนี้แทนสูตรเดิมครับ

=IF(SUMPRODUCT(--($C$11:$T$11="ระดับเกรด"),--($C13:$T13=0))>0,"ตก","ผ่าน")

Enter > Copy ลงด้านล่าง
zoriner
Member
Member
Posts: 2
Joined: Sat Mar 26, 2011 6:30 pm

Re: ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#4

Post by zoriner »

:tt: อ๋อ..ที่กรอกเป็น 0 (ศูนย์)เพราะผมต้องการทดสอบสูตรครับว่าใช้ได้ไหม...ผลคือมันใช้ไม่ได้...แล้วก็ถูกต้องแล้วครับการคิดเกรดแบ่งเป็น 8 ระดับ
และชีทตัวนี้เป็นผลรวมขั้นสุดท้ายก่อนตัดสินผลการเรียนในแต่ละระดับชั้นเรียนครับ (ตัวนี้เป็นชั้นป.6 ที่ผมจะทำเป็นตัวต้นแบบให้ชั้นอื่น ๆต่อไป)
ต้องขอบคุณ..คุณคมควน..มากนะครับที่ช่วยเหลือสูตรที่ให้มาใช้ได้ดีตรงตามความต้องการเลยครับ
แต่ผมก็ยังสงสัย..อยู่ว่า..ทำไมใช้วิธีเพิ่ม IF ตัวที่ 9 ไม่ได้ทั้งใน excel 2003 และ 2007 ...รบกวนขอความรู้ในเรื่องนี้ด้วยจะได้ไหมครับ..

:mrgreen: ....ขอบคุณอีกครั้งที่ให้ความกระจ่างในเรื่อง Excel :D
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#5

Post by snasui »

สำหรับตัวอย่างไฟล์ที่ทำมาแล้วพบว่าซ้อน If เกินกว่า 7 ชั้นไม่ได้ เนื่องจากว่าเขียนสูตรไม่ถูกต้องครับ ความต้องการในคอลัมน์ Z ก็เพื่อตรวจสอบว่าระดับเกรดช่องใดช่องหนึ่งเป็น 0 หรือไม่ ถ้าเป็น 0 แม้แต่ช่องเดียวคือตก หากไม่เป็น 0 เลยคือผ่าน

กรณีเงื่อนไขเป็นแบบนี้เราสามารถใช้ And หรือ Or เข้ามาช่วยได้ครับ

กรณีใช้ Or ในการเขียนสูตร ที่ Z12 คีย์

=IF(OR(D13<1,F13<1,H13<1,J13<1,L13<1,N13<1,P13<1,R13<1,T13<1),"ตก","ผ่าน")

Enter > Copy ลงด้านล่าง

ความหมายคือ ถ้า D13 น้อยกว่า 1 หรือ F13 น้อยกว่า 1 หรือ H13 น้อยกว่า 1 หรือ...T13 น้อยกว่า 1 ให้แสดงคำว่า ตก หากไม่เข้าเงื่อนไขข้างต้นให้แสดงคำว่า ผ่าน

กรณีใช้ And ในการเขียนสูตรที่ Z12 คีย์

=IF(And(D13>0,F13>0,H13>0,J13>0,L13>0,N13>0,P13>0,R13>0,T13>0),"ผ่าน","ตก")

Enter > Copy ลงด้านล่าง

ความหมายคือ ถ้า D13 มากกว่า 0 และ F13 มากกว่า 0 และ H13 มากกว่า 0 และ...T13 มากกว่า 0 ให้แสดงคำว่า ผ่าน หากไม่เข้าเงื่อนไขข้างต้นให้แสดงคำว่า ตก
Nakorn
Member
Member
Posts: 39
Joined: Tue Feb 22, 2011 6:09 pm
Location: กทม.

ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#6

Post by Nakorn »

ใช้ If เกิน 7 ชั้นไม่ได้ในเงื่อนไขของเวลาครับ
ไฟล์แนบ <Test_If.xls>
จะรวมเงื่อนไขใน Column B, C และ D ได้อย่างไรครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#7

Post by snasui »

:D การแสดงผลเป็นตัวเลขใช้การบวกกันครับ ดูตัวอย่าง IF เกิน 7 ชั้นที่นี่ครับ http://snasui.blogspot.com/2008/11/if-7.html
Nakorn
Member
Member
Posts: 39
Joined: Tue Feb 22, 2011 6:09 pm
Location: กทม.

Re: ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#8

Post by Nakorn »

ผลลัพท์มันไม่ตรงครับ (เป็นที่เงื่อนไขของเวลาหรือเปล่าครับ)
=IF(A9<8/24,8/24,IF(A9<=8.25/24,A9,IF(A9<=8.5/24,8.5/24,IF(A9<=9/24,9/24,IF(A9<=9.5/24,9.5/24,IF(A9<=10/24,10/24,IF(A9<=10.5/24,10.5/24,IF(A9<=11/24,11/24,A9))))))))+IF(A9<=11.5/24,11.5/24,A9)
ผลลัพท์ = 22:31 ซึ่งน่าจะได้ = 11:30
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#9

Post by snasui »

หากเขียนสูตรถูกต้องย่อมต้องได้ผลลัพธ์ครับ สูตรนี้ใช้กับตัวเลขทุกประเภทครับ ที่ได้ผลลัพธ์ไม่เท่ากับเป้าหมายแสดงว่าในชุดแรกก็มีคำตอบ ในชุดถัดมาก็มีคำตอบ ลองตรวจสอบดูครับ
Nakorn
Member
Member
Posts: 39
Joined: Tue Feb 22, 2011 6:09 pm
Location: กทม.

ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#10

Post by Nakorn »

ยังไม่ได้อยู่ดีครับอาจารย์ ตรวจสอบแล้วเงื่อนไขก็ไม่ซ้ำ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#11

Post by snasui »

:D ผม Evaluate ด้วย F9 แล้วพบว่าในเซลล์ C2 ชุด If หน้าและ If หลังก็ได้คำตอบทั้งคู่ เช่นนี้จึงทำให้ได้คำตอบผิด ดูภาพประกอบด้านล่างครับ

สำหรับการแกะสูตรด้วย F9 คือให้คลุมส่วนประกอบที่สนใจแล้วกดแป้น F9 โปรแกรมจะแปลผลลัพธ์ให้ครับ การคลุมส่วนประกอบสูตร หากลากคลุมติดวงเล็บด้วยจะต้องดูว่าวงเล็บได้เข้าคู่กันแล้ว หมายถึงถ้าคลุมวงเล็บเปิดก็ได้คลุมไปถึงวงเล็บปิดที่เข้าคู่กันแล้ว เมื่อกดแป้น F9 จึงจะแสดงผลลัพธ์ได้
You do not have the required permissions to view the files attached to this post.
Nakorn
Member
Member
Posts: 39
Joined: Tue Feb 22, 2011 6:09 pm
Location: กทม.

ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#12

Post by Nakorn »

ได้แล้วครับอาจารย์
อันนี้เงื่อนไขปรกติ
=IF(A1=1,20,IF(A1=2,19,IF(A1=3,18,IF(A1=4,17,IF(A1=5,16,IF(A1=6,15,IF(A1=7,14,IF(A1=8,11)))))))+IF(A1=8,11,IF(A1=9,12,IF(A1=10,11,IF(A1=11,10,IF(A1=12,9,IF(A1=13,8,IF(A1=14,7)))))))+IF(A1=15,6,IF(A1=16,5,IF(A1=17,4,IF(A1=18,3,IF(A1=19,2,IF(A1=20,1,IF(A1=21,-1))))))))
ส่วนอันนี้เพิ่มเงื่อนไข
=IF(A1<=20,IF(A1=1,20,IF(A1=2,19,IF(A1=3,18,IF(A1=4,17,IF(A1=5,16,IF(A1=6,15,IF(A1=7,14)))))))+IF(A1=8,11,IF(A1=9,12,IF(A1=10,11,IF(A1=11,10,IF(A1=12,9,IF(A1=13,8,IF(A1=14,7)))))))+IF(A1=15,6,IF(A1=16,5,IF(A1=17,4,IF(A1=18,3,IF(A1=19,2,IF(A1=20,1,IF(A1=20,1))))))),A1)
You do not have the required permissions to view the files attached to this post.
kmb
Bronze
Bronze
Posts: 305
Joined: Thu Oct 14, 2010 10:03 pm

Re: ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#13

Post by kmb »

Nakorn wrote:ผลลัพท์มันไม่ตรงครับ (เป็นที่เงื่อนไขของเวลาหรือเปล่าครับ)
=IF(A9<8/24,8/24,IF(A9<=8.25/24,A9,IF(A9<=8.5/24,8.5/24,IF(A9<=9/24,9/24,IF(A9<=9.5/24,9.5/24,IF(A9<=10/24,10/24,IF(A9<=10.5/24,10.5/24,IF(A9<=11/24,11/24,A9))))))))+IF(A9<=11.5/24,11.5/24,A9)
ผลลัพท์ = 22:31 ซึ่งน่าจะได้ = 11:30
จาก http://snasui.blogspot.com/2008/11/if-7.html
เทียบกับเงื่อนไข =If(A1=1,True)+0 จึงไม่ควรใส่ค่าในกรณีที่เป็น False ดังนั้นส่วนที่เป็นสีแดงจึงไม่ควรมีครับ :D
Nakorn
Member
Member
Posts: 39
Joined: Tue Feb 22, 2011 6:09 pm
Location: กทม.

ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#14

Post by Nakorn »

ลองใช้ไปแล้วครับ แต่กรณีของเวลา มันให้ซ้อนได้แค่ 2 ชั้นครับ ถ้าต่อไปชั้นที่ 3 หรือ ฯลฯ มันจะอ่านชั้นสุดท้าย แต่ไม่อ่านก่อนหน้าครับ
kmb
Bronze
Bronze
Posts: 305
Joined: Thu Oct 14, 2010 10:03 pm

Re: ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#15

Post by kmb »

Nakorn wrote:ผลลัพท์มันไม่ตรงครับ (เป็นที่เงื่อนไขของเวลาหรือเปล่าครับ)
=IF(A9<8/24,8/24,IF(A9<=8.25/24,A9,IF(A9<=8.5/24,8.5/24,IF(A9<=9/24,9/24,IF(A9<=9.5/24,9.5/24,IF(A9<=10/24,10/24,IF(A9<=10.5/24,10.5/24,IF(A9<=11/24,11/24,A9))))))))+IF(A9<=11.5/24,11.5/24,A9)
ผลลัพท์ = 22:31 ซึ่งน่าจะได้ = 11:30
:mrgreen: ผมลองทำตัวอย่างสำหรับกรณีเวลาโดยเลียนแบบจากข้างบน แต่เปลี่ยนเงื่อนไขเพื่อทดสอบตามไฟล์แนบ ซึ่งลองต่อกัน 24 เงื่อนไขตามนี้
=IF(FLOOR(A1,1/24)=1/24,1/24,IF(FLOOR(A1,1/24)=2/24,2/24,IF(FLOOR(A1,1/24)=3/24,3/24,IF(FLOOR(A1,1/24)=4/24,4/24,IF(FLOOR(A1,1/24)=5/24,5/24,IF(FLOOR(A1,1/24)=6/24,6/24,IF(FLOOR(A1,1/24)=7/24,7/24)))))))+IF(FLOOR(A1,1/24)=8/24,8/24,IF(FLOOR(A1,1/24)=9/24,9/24,IF(FLOOR(A1,1/24)=10/24,10/24,IF(FLOOR(A1,1/24)=11/24,11/24,IF(FLOOR(A1,1/24)=12/24,12/24,IF(FLOOR(A1,1/24)=13/24,13/24,IF(FLOOR(A1,1/24)=14/24,14/24)))))))+IF(FLOOR(A1,1/24)=15/24,15/24,IF(FLOOR(A1,1/24)=16/24,16/24,IF(FLOOR(A1,1/24)=17/24,17/24,IF(FLOOR(A1,1/24)=18/24,18/24,IF(FLOOR(A1,1/24)=19/24,19/24,IF(FLOOR(A1,1/24)=20/24,20/24,IF(FLOOR(A1,1/24)=21/24,21/24)))))))+IF(FLOOR(A1,1/24)=22/24,22/24,IF(FLOOR(A1,1/24)=23/24,23/24,IF(FLOOR(A1,1/24)=24/24,24/24)))

ผลลัพธ์ก็ถูกต้องนะครับ คงต้องลองเช็คดูเงื่อนไขที่ต้องการไม่ให้เกิดกรณี If หน้าและ If หลังได้คำตอบทั้งคู่ครับ :D
You do not have the required permissions to view the files attached to this post.
Nakorn
Member
Member
Posts: 39
Joined: Tue Feb 22, 2011 6:09 pm
Location: กทม.

Re: ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#16

Post by Nakorn »

มันเป็นอย่างนี้ครับ
<8:00 = 8:00
<=8:15 = 8:15
<=8:30 = 8:30
<=9:00 = 9:00
<=9:30 = 9:30
<=10:00 = 10:00 .......<=17:00 = 17:00
ลองใส่ในสูตรของคุณ...ผลเหมื่อนเดิมครับ
จริงๆแล้วอยากได้ผลลัพท์ตามไฟล์แนบครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ขอความช่วยเหลือเรื่องการใช้ if เกิน7ชั้นไม่ได้

#17

Post by snasui »

เพื่อไม่ให้สับสนกับเงื่อนไข ผมใช้ Lookup ค่ามาแสดงตรง In ( Column B) สำหรับ Out ก็ทำขึ้นมาอีกชุดก็ได้แล้วค่อยนำ Out มาหัก In เพื่อหาเวลาทำงานและ OT ดูไฟล์แนบประกอบครับ
You do not have the required permissions to view the files attached to this post.
Post Reply