EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)เงื่อนไขsnasui wrote: ช่วยแนบไฟล์ตัวอย่าง และระบุคำตอบที่ถูกต้องมาให้ด้วย เพื่อจะได้คำนวณเปรียบเทียบได้ครับ
Shift B หักเวลาพักทานข้าวเวลา 00:00 – 01 :00 1 ชั่วโมงsnasui wrote: Shift B หักเวลาพักด้วยไหมครับ และพักเวลาไหนครับ
รบกวนอาจารย์อีกค่ะsnasui wrote: ผมไม่ได้ปรับสูตรเดิมนะครับ เป็นการเพิ่มสูตรเฉพาะ Shift B ให้ใหม่ และในคอลัมน์ A ก็เพิ่ม Shift มาให้ด้วยเพื่อใช้ตรวจสอบว่าต้องใช้สูตรไหน โดยสูตรจะมี Form ตามด้านล่างคือ
=If(An="Shift A",Old Formula,New Formula)
Old Formula คือสูตรเดิมที่ใช้ได้อยู่แล้ว และ New Formula คือที่ผมเขียนเพิ่มให้ไป ยกตัวย่างที่ D12 สูตรคือ
=IF(A12="Shift A",IF(OR(ISBLANK(B12),ISBLANK(C12)),0,MIN(G$3,C12)-MAX(F$3,B12)-IF(C12<=TIME(12,0,0),0,(1/24))),IF(OR(B12="",C12=""),0,MIN(G$4,C12)-MAX(F$4,B12)+(C12<B12)-IF(AND(ABS(B12-1/24)>=1/24,C12>=1/24),1/24,0)))
Enter > Copy ลงด้านล่าง
ดูไฟล์แนบประกอบครับ
ขอบคุณมากค่ะอาจารย์ นำมาปรับใช้ได้แล้วค่ะsnasui wrote: เห็นบอกในไฟล์ที่แนบมาว่าสูตร Shift A ที่ทำมาเองนั้น Okay แ้ล้วครับ
ผมลองปรับมาให้นิดหน่อย เซลล์ D9
จากเดิม
=IF(OR(ISBLANK(B9),ISBLANK(C9)),0,MIN(G$3,C9)-MAX(F$3,B9)-IF(C9<=TIME(12,0,0),0,(1/24)))
เปลี่ยนเป็น
=IF(OR(ISBLANK(B9),ISBLANK(C9)),0,MIN(G$3,C9)-MAX(F$3,B9)-IF(OR(AND(B9<=12/24,C9<=12/24),AND(B9>=12/24,C9>=12/24)),0,(1/24)))
ลองปรับปรุงเข้ากับกับสูตรที่ผมให้ไปดูครับ