Page 1 of 1

การคำนวนจำนวนชั่วโมงข้ามวัน

Posted: Thu May 21, 2020 9:20 am
by learnexcel
เรียนถามอาจารย์ค่ะ

จากไฟล์ตัวอย่างคือข้อมูลการเปิดแอร์ในแต่ละวัน ซึ่งแบ่งการคำนวนชั่วโมงออกเป็น 3 ช่วง คือ
1. วันทำงาน-Weekday (จ-ศ) เวลา 8.00 - 18.00น.
2. วันทำงาน-Weekday (จ-ศ) เวลา 18.00 - 22.00น.
3. วันทำงาน-Weekday (จ-ศ) เวลา 22.00 - 8.00น.

สูตรที่ลองทำแล้วยังเป็นปัญหาคือ ข้อที่ 3. วันทำงาน-Weekday (จ-ศ) เวลา 22.00 - 8.00น. ไฮไลต์สีส้มในตารางคอลัมน์ Q
สูตรที่ใช้คือ =(G4416="Weekday")*MAX(0,MIN((J4416+(I4416>J4416))*24,32)-MAX(I4416*24,22))
ซึ่งเหมือนกับอีก 2 ช่วงเวลา แต่คำตอบที่ได้ออกมาไม่ถูกต้องเนื่องจาก cell แสดงค่าเป็น 0 ตลอดถึงแม้เงื่อนไขจะถูกต้อง

รบกวนสอบถามอาจารย์ค่ะว่าต้องแก้ไขสูตรอย่างไร บางครั้งลองเปลี่ยน เครื่องหมาย > เป็น < ใน MIN((J4416+(I4416>J4416) ก็ได้คำตอบ แต่บาง Cell แก้ไม่ได้

ขออนุญาตรบกวนด้วยค่ะ
ขอบคุณมากค่ะ

Re: การคำนวนจำนวนชั่วโมงข้ามวัน

Posted: Thu May 21, 2020 12:08 pm
by snasui
:D กรุณาระบุเซลล์ตัวอย่างมาสักสองสามเซลล์พร้อมแจ้งค่าที่ถูกต้องของเซลล์นั้น ๆ เพื่อนสมาชิกจะได้คำนวณเปรียบเทียบได้ครับ

Re: การคำนวนจำนวนชั่วโมงข้ามวัน

Posted: Thu May 21, 2020 1:00 pm
by learnexcel
ขอบคุณค่ะอาจารย์
ขออนุญาตยกตัวอย่างดังนี้ค่ะ

Row4432
Column I Start : เวลาเริ่มเปิด 7.59น.
Column J End : เวลาปิด 8.00น.
แปลงจำนวนชั่วโมงเป็นตัวเลข ฐาน 24 ที่ Column L = 0.0167 =(J4432-I4432+(J4432<I4432))*24
ซึ่งจำนวน 0.0167 นี้ควรจะแสดงใน column Q weekday 22-8 ค่ะ แต่สูตรปัจจุบันกลับแสดงค่าเป็น 0 ค่ะ


Row4439
Column I Start : เวลาเริ่มเปิด 6.30น.
Column J End : เวลาปิด 7.25น.
แปลงจำนวนชั่วโมงเป็นตัวเลข ฐาน 24 ที่ Column L = 0.9167 =(J4439-I4439+(J4439<I4439))*24
ซึ่งจำนวน 0.9167 นี้ควรจะแสดงใน column Q weekday 22-8 ค่ะ แต่สูตรปัจจุบันกลับแสดงค่าเป็น 0 ค่ะ

ขอรบกวนด้วยค่ะ

Re: การคำนวนจำนวนชั่วโมงข้ามวัน

Posted: Thu May 21, 2020 2:59 pm
by Bo_ry
Q4
=(G4="Weekday")*(MAX(0,MIN(8,J4*24)-MAX(0,I4*24))+MAX(0,MIN(24,J4*24)-MAX(22,I4*24)))

Re: การคำนวนจำนวนชั่วโมงข้ามวัน

Posted: Thu May 28, 2020 8:45 am
by learnexcel
Bo_ry wrote: Thu May 21, 2020 2:59 pm Q4
=(G4="Weekday")*(MAX(0,MIN(8,J4*24)-MAX(0,I4*24))+MAX(0,MIN(24,J4*24)-MAX(22,I4*24)))
ขอบพระคุณมากๆ เลยค่ะ ทำได้แล้วค่ะ