snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Momnoy
Member
Posts: 5 Joined: Thu Apr 06, 2023 11:07 am
Excel Ver: 2007
#1
Post
by Momnoy » Thu Apr 06, 2023 12:44 pm
เวลาทำงานคือ 7:30-16:30 และมีเวลาพัก 11:30-12:30 ครับ
โดยต้องการนับเฉพาะในเวลางานครับ หลักเลิกงานไม่ต้องการให้นับครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30988 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#2
Post
by snasui » Thu Apr 06, 2023 1:20 pm
ตัวอย่างสูตรหักพักเที่ยงออก 1 ชม. ครับ
=TEXT(C3-B3-(AND(MOD(B3,1)<=12/24,MOD(C3,1)>=13/24))/24 ,"[m]:ss")
Enter > Copy ลงด้านล่าง
Momnoy
Member
Posts: 5 Joined: Thu Apr 06, 2023 11:07 am
Excel Ver: 2007
#3
Post
by Momnoy » Thu Apr 06, 2023 3:24 pm
snasui wrote: Thu Apr 06, 2023 1:20 pm
ตัวอย่างสูตรหักพักเที่ยงออก 1 ชม. ครับ
=TEXT(C3-B3-(AND(MOD(B3,1)<=12/24,MOD(C3,1)>=13/24))/24 ,"[m]:ss")
Enter > Copy ลงด้านล่าง
ขอบคุณครับอาจารย์
ในส่วนข้อ 2 3 นั้น สามารถใส่เงื่อนไขเพิ่มเติมอีกได้ไหมครับ
2023-03-30 08:34:05
2023-03-31 09:04:09
กรณีข้ามวันแบบนี้ เวลารอคอยคือ 08:34:05 - 16:30:00 ของวันที่ 30 ( หักพักเที่ยงออกอีก 1 ชม ) โดยไม่นับเวลาจนถึง 7:30 ของอีกวัน
และจบที่ 09:04:09 ของวันที่ 31
snasui
Site Admin
Posts: 30988 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#4
Post
by snasui » Thu Apr 06, 2023 6:24 pm
ผมเข้าใจว่าคำถามเหมือนกันกับกระทู้นี้
http://www.snasui.com/viewtopic.php?f=3&t=7083
มีไฟล์แนบพร้อมตัวอย่างคำตอบให้ศึกษาเรียบร้อยแล้ว ลองนำค่าเข้าไปคีย์ยังตำแหน่งที่เกี่ยวข้องดูว่าได้คำตอบที่ต้องการหรือไม่ อย่างไรครับ
Momnoy
Member
Posts: 5 Joined: Thu Apr 06, 2023 11:07 am
Excel Ver: 2007
#5
Post
by Momnoy » Sat Apr 08, 2023 9:42 am
ขอบคุณครับอาจารย์
กรณีข้าม 1 วัน หรือ 2 วันเหมือนเวลายังมีผิดพลาดอยู่ครับ รบกวนอาจารย์ช่วยชี้แหนะด้วยครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30988 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#6
Post
by snasui » Sat Apr 08, 2023 10:14 am
ตัวอย่างสูตรที่ J23 ครับ
=IF(I23=0,G23-E23-H23,IF(I23=1,16.5/24-E23+MIN(16.5/24,G23-7.5/24-(G23>"12:30"+0)/24),IF(I23=2,16.5/24-E23+MIN(16.5/24,G23-7.5/24-(G23>"12:30"+0)/24+7.5/24-ISNUMBER(MATCH(D23+1,วันหยุด!$B:$B,0))*7.5/24),IF(I23>=3,16.5/24-E23+MIN(16.5/24,G23-7.5/24-(G23>"12:30"+0)/24)+(I23-1)*7.5/24-SUMPRODUCT(--ISNUMBER(MATCH(ROW(INDIRECT(D23+1&":"&F23-1)),วันหยุด!$B:$B,0)))*7.5/24))))
สำหรับคำตอบที่ยังไม่ถูกต้องกรุณมแจ้งวิธีคำนวณมาอย่างละเอียดว่าคิดอย่างไรจึงได้ค่าเท่านั้นครับ
กรุณาสังเกตว่า เวลาที่เขียนในรูปแบบ Text เช่น "12:30" จะต้องมีการกระทำให้กลับไปเป็นเวลาเสียก่อน เช่น + 0 กลายเป็น "12:30" + 0 ยกเว้นว่ามีการนำไปบวก ลบ คูณ หารกับค่าใด ๆ โดยตรงจึงไม่จำเป็นต้อง + 0 ครับ
Momnoy
Member
Posts: 5 Joined: Thu Apr 06, 2023 11:07 am
Excel Ver: 2007
#7
Post
by Momnoy » Sat Apr 08, 2023 1:49 pm
snasui wrote: Sat Apr 08, 2023 10:14 am
ตัวอย่างสูตรที่ J23 ครับ
=IF(I23=0,G23-E23-H23,IF(I23=1,16.5/24-E23+MIN(16.5/24,G23-7.5/24-(G23>"12:30"+0)/24),IF(I23=2,16.5/24-E23+MIN(16.5/24,G23-7.5/24-(G23>"12:30"+0)/24+7.5/24-ISNUMBER(MATCH(D23+1,วันหยุด!$B:$B,0))*7.5/24),IF(I23>=3,16.5/24-E23+MIN(16.5/24,G23-7.5/24-(G23>"12:30"+0)/24)+(I23-1)*7.5/24-SUMPRODUCT(--ISNUMBER(MATCH(ROW(INDIRECT(D23+1&":"&F23-1)),วันหยุด!$B:$B,0)))*7.5/24))))
กรุณาสังเกตว่า เวลาที่เขียนในรูปแบบ Text เช่น "12:30" จะต้องมีการกระทำให้กลับไปเป็นเวลาเสียก่อน เช่น + 0 กลายเป็น "12:30" + 0 ยกเว้นว่ามีการนำไปบวก ลบ คูณ หารกับค่าใด ๆ โดยตรงจึงไม่จำเป็นต้อง + 0 ครับ
ขอบคุณครับ
สำหรับคำตอบที่ยังไม่ถูกต้องกรุณาแจ้งวิธีคำนวณมาอย่างละเอียดว่าคิดอย่างไรจึงได้ค่าเท่านั้นครับ
แนบวิธีคำนวนเพิ่มเติมที่ไฟล์แนบครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30988 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#8
Post
by snasui » Sun Apr 09, 2023 5:17 pm
ตัวอย่างการปรับสูตรตามไฟล์แนบครับ
เซลล์ L23 คีย์
=IF(I23=1,G23-E23-H23,IF(I23=2,((MAX(0,"16:30"-E23)+(MAX(0,MIN(G23,"16:30"+0)-"7:30"))))-H23,IF(I23>2,((MAX(0,"16:30"-E23)+(MAX(0,MIN(G23,"16:30"+0)-"7:30"))))+MAX(0,K23-2)*8/24-H23)))
Enter > Copy ลงด้านล่าง
You do not have the required permissions to view the files attached to this post.
Momnoy
Member
Posts: 5 Joined: Thu Apr 06, 2023 11:07 am
Excel Ver: 2007
#9
Post
by Momnoy » Mon Apr 10, 2023 7:49 am
ตรงตามที่ต้องการเลยครับ ขอบคุณครับอาจารย์