Page 1 of 1
ขอสูตรการเช็คนับลงเวลาทำงานพนักงานหลายๆเงื่อนไข
Posted: Thu Feb 23, 2012 11:18 pm
by sopasiri
ความต้องการเปลี่ยนไปขอรบกวนอีกครั้ง
คำนวนนาทีที่มาสาย หากไม่สายหรือกลับก่อนเวลาให้แสดงผลลัพธ์เป็นข้อความเพื่อสะดวกในการเช็ค
รายละเอียดต่างๆอธิบายในไฟล์งานแล้ว ขอบคุณค่ะ
Re: ขอสูตรการเช็คนับลงเวลาทำงานพนักงานหลายๆเงื่อนไข
Posted: Thu Feb 23, 2012 11:45 pm
by snasui
ลองตามนี้ครับ
- ที่ชีท EMP-OUT เซลล์ E5 คีย์สูตร
=IF(ISNA(MATCH(1,IF($B5=CLOCKOUT!$D$1:$D$69,IF(E$4=DAY(CLOCKOUT!$A$1:$A$69),1)),0)),"RO",IF(INDEX(CLOCKOUT!$B$1:$B$69,MATCH(1,IF($B5=CLOCKOUT!$D$1:$D$69,IF(E$4=DAY(CLOCKOUT!$A$1:$A$69),1)),0))>=17/24,"Out",TEXT(17/24-INDEX(CLOCKOUT!$B$1:$B$69,MATCH(1,IF($B5=CLOCKOUT!$D$1:$D$69,IF(E$4=DAY(CLOCKOUT!$A$1:$A$69),1)),0)),"[mm]")+0))
กดแป้น Ctrl+Shift+Enter แทนการกดแป้น Enter เพียงอย่างเดียว เนื่องจากเป็นสูตร Array > Copy ไปทางขวาและลงด้านล่าง
- ที่เซลล์ AJ5 คีย์
=COUNTIF(E5:AI5,"RO")
Enter > Copy ลงด้านล่าง
Re: ขอสูตรการเช็คนับลงเวลาทำงานพนักงานหลายๆเงื่อนไข
Posted: Fri Feb 24, 2012 12:06 am
by sopasiri
ขอบคุณมากๆเลยค่ะ
รักษาสุขภาพด้วยนะค่ะ
นอนดึกมากเลย
Re: ขอสูตรการเช็คนับลงเวลาทำงานพนักงานหลายๆเงื่อนไข
Posted: Fri Feb 24, 2012 4:37 am
by sopasiri
สูตรลงเวลาเข้า =IF(ISNA(MATCH(1,IF($B5=CLOCKIN!$D$1:$D$1562,IF(G$4=DAY(CLOCKIN!$A$1:$A$1562),1)),0)),"Ri",IF(INDEX(CLOCKIN!$B$1:$B$1562,MATCH(1,IF($B5=CLOCKIN!$D$1:$D$1562,IF(G$4=DAY(CLOCKIN!$A$1:$A$1562),1)),0))<=8.01/24,"In",TEXT(8/24-INDEX(CLOCKIN!$B$1:$B$1562,MATCH(1,IF($B5=CLOCKIN!$D$1:$D$1562,IF(G$4=DAY(CLOCKIN!$A$1:$A$1562),1)),0)),"[mm]")+0))
สูตรลงเวลาออก=IF(ISNA(MATCH(1,IF($A19=CLOCKOUT!$D$1:$D$1332,IF(T$4=DAY(CLOCKOUT!$A$1:$A$1332),1)),0)),"RO",IF(INDEX(CLOCKOUT!$B$1:$B$1332,MATCH(1,IF($A19=CLOCKOUT!$D$1:$D$1332,IF(T$4=DAY(CLOCKOUT!$A$1:$A$1332),1)),0))>=17/24,"Out",TEXT(17/24-INDEX(CLOCKOUT!$B$1:$B$1332,MATCH(1,IF($A19=CLOCKOUT!$D$1:$D$1332,IF(T$4=DAY(CLOCKOUT!$A$1:$A$1332),1)),0)),"[mm]")+0))
สูตรคำนวนสาย =LOOKUP(9.99999999999999E+307,CHOOSE({1,2},0,TEXT(INDEX(TIME!$B$2:$B$1551,SMALL(IF(TIME!$E$2:$E$1551="Clock In",IF(TIME!$C$2:$C$1551=$B5,IF(TIME!$B$2:$B$1551>"8:01"+0,IF(TIME!$B$2:$B$1551<"8:31"+0,ROW(TIME!$A$2:$A$1551)-ROW(TIME!$A$2)+1)))),COUNT($AJ$4:AJ$4)))-"8:00","[mm]")+0))
ทั้งสามสูตร กดแป้น Ctrl+Shift+Enter แทนการกดแป้น Enter เพียงอย่างเดียว เนื่องจากเป็นสูตร Array > Copy ไปทางขวาและลงด้านล่าง
นั่งแกะสูตรเกือบสว่าง เพราะจำเป็นต้องใช้ด่วน สรุปคือใช้ได้แล้วค่ะ ต้องส่งตรวจก่อนว่าถูกต้องมั้ย
เบื้องต้นถูกต้องแล้ว
ขอบคุณ อาจารย์มากค่ะ
Re: ขอสูตรการเช็คนับลงเวลาทำงานพนักงานหลายๆเงื่อนไข
Posted: Fri Feb 24, 2012 9:53 am
by snasui
sopasiri wrote:สูตรลงเวลาเข้า =IF(ISNA(MATCH(1,IF($B5=CLOCKIN!$D$1:$D$1562,IF(G$4=DAY(CLOCKIN!$A$1:$A$1562),1)),0)),"Ri",IF(INDEX(CLOCKIN!$B$1:$B$1562,MATCH(1,IF($B5=CLOCKIN!$D$1:$D$1562,IF(G$4=DAY(CLOCKIN!$A$1:$A$1562),1)),0))<=8.01/24,"In",TEXT(8/24-INDEX(CLOCKIN!$B$1:$B$1562,MATCH(1,IF($B5=CLOCKIN!$D$1:$D$1562,IF(G$4=DAY(CLOCKIN!$A$1:$A$1562),1)),0)),"[mm]")+0))
จาก 8.01/24 ด้านบน เนื่องจาก 8
.01 ไม่เท่ากับ 8
:01 กรณีเป็นเศษนาทีควรใช้เป็น "8:01"+0 แทน 8.01/24 ครับ