joo wrote:คือแบบนี้ครับในช่วงปีงบประมาณ 2554 บุคคลรหัส 50203 ยังไม่ได้ย้ายเข้ามาทำงานในแผนกนี้ แต่พอปีงบประมาณ 2555 บุคคลรหัส 50203 ได้ย้ายเข้ามาทำงานที่แผนกนี้และมีวันลาพักร้อนสะสมมาด้วยรายละเอียดดังซีท Personal เซลล์ T5 มียอดสะสมมา 8 วัน และเมื่อบุคคลรหัสนี้ได้ทำการลาไป 2 วัน ยอดที่แสดงในซีท Report1 และ Report3 ที่เซลล์ D31 ก็ควรจะแสดงยอดสะสมยกมาเป็น 8 วัน

เมื่อย้ายมากลางปีก็ต้องไปเพิ่มเป็นยอดยกไปในปี 2554 ครับซึ่งจะแสดงเป็นยอดยกมาในปี 2555 ครับ เพราะสูตรที่เขียนเป็นการดึงยอดยกไปของปีเก่าหรือยอดยกมาในปีนี้ เช่นตามด้านล่าง
=LOOKUP(9.9999999999999E+307,CHOOSE({1,2},0,INDEX(StockDay!$C$2:$C$34,MATCH(1,IF(StockDay!$A$2:$A$34=
Report1!B31-1,IF(StockDay!$B$2:$B$34=Report1!C31,1)),0))))
จากสูตรจะนำปีของคอลัมน์ B แล้วหักออกด้วย 1 นั่นแสดงว่าเป็นการนำยอดยกมาของปีก่อนมาแสดง ถ้าปีนี้เป็นปี 2555 ก็จะนำยอดยกไปของปี 2554 มาแสดง ถ้าไม่มีข้อมูลในปี 2554 ก็จะได้ยอดเป็น 0
หากบอกว่าย้ายมากลางปี 2555 ก็จะต้องกลับไปเพิ่มให้บุคคลที่เพิ่งย้ายเข้ามามียอดยกไปของปี 2554 ด้วย อันนี้สำหรับเพื่อให้สามารถใช้คำนวณได้ ทั้งนี้เพราะยอดยกมายกไปนี้เป็นการอ้างถึง
ปีเป็นหลักครับ