Announcement

Collapse
No announcement yet.

วิวัฒนาการของสูตรคำนวณย้อนกลับหาเวลาเริ่มงาน

Collapse
X
Collapse

  • วิวัฒนาการของสูตรคำนวณย้อนกลับหาเวลาเริ่มงาน

    รุ่นที่ 2 พัฒนาใหม่สั้นลง ใช้สูตรคำนวณแบบ Array

    สมมติว่ากำหนดให้งานเสร็จเวลา 16:30 โดยให้ใช้เวลาทำงาน 7 ชั่วโมง
    ดูสูตรรุ่นที่ 2 พัฒนาให้สั้นลง ในเซลล์ I5 ได้คำตอบว่าต้องเริ่มงานเวลา 8:30

    {=PullStop - PullWrkHours
    - SUM( ( (PullStop - PullWrkHours
    -SUM( ( (PullStop - PullWrkHours)<To )
    *(PullStop>From)
    *(IF( (PullStop>=From)*(PullStop<=To), PullStop, To ) - From))
    )<To)
    *(PullStop>From)
    *( IF( (PullStop>=From)*(PullStop<=To), PullStop, To) - From) )}

    สาเหตุที่ทำให้สูตรสั้นลงได้ เพราะเปลี่ยนตารางด้านซ้าย จากเดิมที่ใช้กำหนดช่วงเวลาทำงานแต่ละกะ มาเป็นช่วงเวลาพักแต่ละกะแทน นี่แหละคือเคล็ดที่ทำให้ได้สูตรใหม่ที่สั้นกว่าเดิมอ ย่างมาก

    เทียบกับสูตรย้าวยาว รุ่นแรก

    =INDEX(Start,COUNTIF(Total_Hours,"<="&(INDEX(Total _Hours,MATCH(VLOOKUP(Stop_Time,Start,1),Start,1),1 )-INDEX(Hours,MATCH(VLOOKUP(Stop_Time,Start,1),Start ,1),1)+((Stop_Time-VLOOKUP(Stop_Time,Start,1))*24)-Lead_Time))+1,1)+((INDEX(Total_Hours,MATCH(VLOOKUP (Stop_Time,Start,1),Start,1),1)-INDEX(Hours,MATCH(VLOOKUP(Stop_Time,Start,1),Start ,1),1)+((Stop_Time-VLOOKUP(Stop_Time,Start,1))*24)-Lead_Time)-(INDEX(Total_Hours,COUNTIF(Total_Hours,"<="&(INDEX (Total_Hours,MATCH(VLOOKUP(Stop_Time,Start,1),Star t,1),1)-INDEX(Hours,MATCH(VLOOKUP(Stop_Time,Start,1),Start ,1),1)+((Stop_Time-VLOOKUP(Stop_Time,Start,1))*24)-Lead_Time))+1,1)-INDEX(Hours,COUNTIF(Total_Hours,"<="&(INDEX(Total_ Hours,MATCH(VLOOKUP(Stop_Time,Start,1),Start,1),1)-INDEX(Hours,MATCH(VLOOKUP(Stop_Time,Start,1),Start ,1),1)+((Stop_Time-VLOOKUP(Stop_Time,Start,1))*24)-Lead_Time))+1,1)))/24

    Download ตัวอย่างได้จาก
    https://drive.google.com/open?id=0Bx...DMwdVpmYS1vbVE

    https://www.facebook.com/ExcelExpert...47751628827979
      Posting comments is disabled.

    Article Tags

    Collapse

    Latest Articles

    Collapse

    Working...
    X