Page 1 of 1

ต้องการให้ตารางบันทึกหยุดนับครับ

Posted: Wed Apr 22, 2015 10:49 pm
by hardyou
Image
จากภาพนะครับ
plan start = เริ่มงาน
plan end = จบงาน
day working = วันทำงานรวม
day left = เหลือกี่วัน

โดย คิดการทำงานเป็น 6 : 1 สัปดาห์

ช่อง F ใช้สูตร =today()

จากภาพในแถวที่ 3
ช่อง D3 จะแสดง -4 ใช้คำสั่งนี้ครับ =B3-$F$2-SUMPRODUCT(--(WEEKDAY((ROW(INDIRECT(B3&":"&$F$2))),1)=7))+1
ช่อง E3 ใช้คำสั่ง =IF(D3>0>-1,"Late",IF(G3>=0,"Finish",IF(D3>7,"No",IF(D3<7,"Yes"))))
แล้วเมื่อผมลงวันจบงานเสร็จในช่อง G3
แล้วผมไม่ต้องการให้ค่าใน D3 เปลี่ยนแปลงครับ อยากให้แสดง -4 ไว้ตลอดไปเพื่อจะได้รับรู้ว่าว่าทำงานเกินไป 4 วันครับ
ไม่อย่างงั้นพอขึ้นวันพรุ่งนี้มันก็จะกลายเป็น -5 ครับ ทั้งๆทีงานเสร็จแล้ว

ลองแก้สูตรโดย IF หลายๆแบบละครับ ยังไม่ผ่านขอรบกวนทุกท่านที่เชี่ยวชาญหน่อยครับ

Re: ต้องการให้ตารางบันทึกหยุดนับครับ

Posted: Thu Apr 23, 2015 9:18 am
by DhitiBank
ตามความคิดของผมนะครับ

ปัญหาคือ สูตรมีการอ้างอิง F2 ซึ่งค่าจะมากขึ้นเรื่อยๆ เมื่อวันผ่านไป ดังนั้น ทางแก้คงมี 2 ทางคือ
1. ค่าในคอลัมน์ F เปลี่ยนจาก today() เป็นคีย์มือเอา แต่ละแถวก็จะมีค่าในคอลัมน์ F เป็นของตัวเอง
2. หากยังยึดการใช้เซลล์ F2 เหมือนเดิม คงต้องใช้ VBA โดยอาจเขียนคำสั่งทำนองว่าเมื่อลงวันที่ในช่อง actual finish แล้ว ให้ค่าในคอลัมน์ D จากเดิมเป็น "สูตร" ให้เปลีี่ยนเป็น "ค่า" แทน

ปล. อันนี้สงสัยเฉยๆ นะครับ เซลล์ F2 กับ actual finish ต่างกันอย่างไร เพราะถ้าเอาตัวอย่างที่ยกมา กำหนดจบงานคือ 18 เม.ย. 2015 ทำเสร็จจริง 20 เม.ย. 2015 หากไม่นับวันอาทิตย์ก็ล่าช้ามาเพียง 1 วันเองไม่ใช่เหรอครับ ซึ่งถ้าหากเป็นอย่างนั้นก็เปลี่ยนจากการอ้างอิง $F$2 เป็นการอ้างอิง actual finish ของแต่ละแถว ตัวเลขในคอลัมน์ D ก็จะไม่เปลี่ยนแล้วครับ

Re: ต้องการให้ตารางบันทึกหยุดนับครับ

Posted: Thu Apr 23, 2015 9:25 am
by hardyou
ในช่อง actual finish เป็นการลงวันที่ทำงานเสร็จครับ เพื่อไว้ตวรจสอบการทำงานครับ
เช่นผมทำงาน 1 ชิ้นใช้เวลา 17 เมษา-20 เมษา คือกำหนดเวลางานเวลา 3 วันครับ แต่ผมทำงานเสร็จ 25 เมษา คือล่า 5 วันครับ ในช่อง D ก็จะแสดง -5 ครับ

ทำให้เวลาลงข้อมูลเพิ่มในช่อง actual finish จะได้รู้วันงานเสร็จครับ และช่อง D จะได้สรุปว่าทำงานเสร็จทันเวลาหรือไม่ครับ โดยใช้สีเป็นเกณฑ์ กำหนดครับ

ส่วนในช่อง F แสดงวันที่ประจำวันครับ

Re: ต้องการให้ตารางบันทึกหยุดนับครับ

Posted: Thu Apr 23, 2015 9:33 am
by DhitiBank
อ๋อ ถ้าอย่างนั้น ลองเปลี่ยนสูตรที่ D2 เป็น
=B2-IF(G2="",$F$2,G2)-SUMPRODUCT(--(WEEKDAY((ROW(INDIRECT(B2&":"&IF(G2="",$F$2,G2)))),1)=7))+1
Enter ครับ

Re: ต้องการให้ตารางบันทึกหยุดนับครับ

Posted: Thu Apr 23, 2015 9:50 am
by hardyou
ขอบคุณมากครับ