Page 1 of 2

การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Mon Sep 23, 2013 3:45 pm
by andyliu
สวัสดีครับ ไม่ได้เข้ามาตั้งนาน แต่ก็ยังคิดถึงกูรูทุกท่านนะครับ
วันนี้มีเรื่องรบกวนเช่นเคยครับ
เรื่องการลงเวลาแบบนับ 8 ชั่วโมงครับ
ไม่ทราบว่าต้องเพิ่มสูตรอย่างไรครับ ผมมีแบบฟอร์มตามที่แนบมานี้นะครับ
อยากให้มันสรุปเวลาให้ครับ คิดจนปวดหัวแล้ว (สูตรในตารางที่แนบมา ต้องบอกก่อนเลยนะครับว่า พนักงานคนเก่าเขาทำไว้ครับ)

ขอขอบพระคุณล่วงหน้าเลยก็แล้วกันนะครับ วานกูรูช่วยทีครับ

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Mon Sep 23, 2013 6:22 pm
by bank9597
andyliu wrote:สวัสดีครับ ไม่ได้เข้ามาตั้งนาน แต่ก็ยังคิดถึงกูรูทุกท่านนะครับ
วันนี้มีเรื่องรบกวนเช่นเคยครับ
เรื่องการลงเวลาแบบนับ 8 ชั่วโมงครับ
ไม่ทราบว่าต้องเพิ่มสูตรอย่างไรครับ ผมมีแบบฟอร์มตามที่แนบมานี้นะครับ
อยากให้มันสรุปเวลาให้ครับ คิดจนปวดหัวแล้ว (สูตรในตารางที่แนบมา ต้องบอกก่อนเลยนะครับว่า พนักงานคนเก่าเขาทำไว้ครับ)

ขอขอบพระคุณล่วงหน้าเลยก็แล้วกันนะครับ วานกูรูช่วยทีครับ
:D ลองตามนี้ครับ

ที่ E43 คีย์ =IF(LEN(C43)=1,TIME(C43,0,0),SUBSTITUTE(C43,".",":")*1) คัดลอกลงมา
ที่ F43 คีย์ =IF(LEN(D43)=1,TIME(D43,0,0),SUBSTITUTE(D43,".",":")*1) คัดลอกลงมา

ที่ G43 คีย์ =IF(ISERROR("08:00"-(F43-E43)),IF(COUNT($C43:$D43)=1,"ไม่ปรากฏการสแกนออก","ไม่ปรากฏการสแกนเข้า-ไม่ปรากฏการสแกนออก"),"08:00"-(F43-E43)) คัดลอกลงมา

ที่ H43 คีย์ =IF(ISTEXT(G43),G43,IF(AND(C43>9,C43<=10,G43>0),"มาปฏิบัติราชการหลัง9.00น. ออกก่อน"&TEXT("8:00"-(F43-E43),"hh:mm")&" "&"นาที",IF(C43>9,IF(C43<=10,"มาปฏิบัติราชการหลัง9.00น.",IF(C43>10,"ไม่อยู่ปฏิบัติราชการครึ่งวัน"&" "&"ออกก่อน"&" "&TEXT("8:00"-(F43-E43),"hh:mm")&" "&"นาที")),"ออกก่อน"&" "&TEXT("8:00"-(F43-E43),"hh:mm")&" "&"นาที"))) คัดลอกลงมา

ที่ I43 คีย์ =IF(ISERROR(H43),"",IF(D43>12,IF(D43<=13,"ไม่อยู่ปฏิบัติราชการครึ่งวัน",H43))) คัดลอกลงมา

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Tue Sep 24, 2013 8:59 am
by andyliu
ขอบคุณมากๆ ครับ แต่ผมลองดัดแปลงทำลองดูแล้ว ยังพบข้อผิดพลาดเกิดขึ้นครับ คือ ถ้าไม่มีข้อมูลการลงเวลาเข้า แต่ปรากฏเวลาออก สูตรมันยังสรุปเป็น ไม่ปรากฏการสแกนเข้า-ออก ครับ ต้องทำอย่างไรครับ หรือต้องเขียนสูตรอะไรเข้าไปใหม่ครับ รบกวนอีกครั้งนะครับ ความฝันผมใกล้จะเป็นจริงแล้ว

-- ผมแนบไฟล์เดิมนะครับ แต่เปลี่ยนสีฟอนต์ตรงแถวที่เกิดปัญหาขึ้นครับ (เป็นสีน้ำเงิน) ท่านจะได้สังเกตได้ง่ายครับ รบกวนอีกครั้งครับ

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Tue Sep 24, 2013 10:30 am
by bank9597
andyliu wrote:ขอบคุณมากๆ ครับ แต่ผมลองดัดแปลงทำลองดูแล้ว ยังพบข้อผิดพลาดเกิดขึ้นครับ คือ ถ้าไม่มีข้อมูลการลงเวลาเข้า แต่ปรากฏเวลาออก สูตรมันยังสรุปเป็น ไม่ปรากฏการสแกนเข้า-ออก ครับ ต้องทำอย่างไรครับ หรือต้องเขียนสูตรอะไรเข้าไปใหม่ครับ รบกวนอีกครั้งนะครับ ความฝันผมใกล้จะเป็นจริงแล้ว

-- ผมแนบไฟล์เดิมนะครับ แต่เปลี่ยนสีฟอนต์ตรงแถวที่เกิดปัญหาขึ้นครับ (เป็นสีน้ำเงิน) ท่านจะได้สังเกตได้ง่ายครับ รบกวนอีกครั้งครับ
:D ลองตามนี้ครับ

ที่ G3 คีย์ =IF(ISERROR("08:00"-(F3-E3)),IF(AND(COUNT($C3:$D3)=1,MATCH(1,IF(ISTEXT($C3:$D3),1),0)=1),"ไม่ปรากฏการสแกนเข้า",IF(AND(COUNT($C3:$D3)=0,MATCH(1,IF(ISTEXT($C3:$D3),1),0)=1),"ไม่ปรากฏการสแกนเข้า-ออก","ไม่ปรากฏการสแกนออก")),"08:00"-(F3-E3)) กด Ctrl+Shift+Enter คัดลอกลองมา

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Tue Sep 24, 2013 11:48 am
by andyliu
ขอบคุณครับ แต่ก็ยังมีจุดที่ยังเป็นปัญหาอยู่นะครับ ตรงวงกลมสีแดงที่วงไว้ครับ จะแก้อย่างไรครับ รบกวนอีกครั้งนะครับ เพื่อจะได้สมบูรณ์ขึ้นครับ :cp:

ไฟล์แนบนะครับ

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Tue Sep 24, 2013 2:37 pm
by bank9597
andyliu wrote:ขอบคุณครับ แต่ก็ยังมีจุดที่ยังเป็นปัญหาอยู่นะครับ ตรงวงกลมสีแดงที่วงไว้ครับ จะแก้อย่างไรครับ รบกวนอีกครั้งนะครับ เพื่อจะได้สมบูรณ์ขึ้นครับ :cp:

ไฟล์แนบนะครับ
:D ลองตามนี้ครับ

ที่ E3 คีย์

Code: Select all

=TIME(LEFT(IF(LEN(SUBSTITUTE(C3,".",""))=1,0&SUBSTITUTE(C3,".","")&0&0,IF(LEN(SUBSTITUTE(C3,".",""))>3,SUBSTITUTE(C3,".",""),IF(LEN(SUBSTITUTE(C3,".",""))=3,0&SUBSTITUTE(C3,".",""),0&SUBSTITUTE(C3,".","")&0))),2)*1,RIGHT(IF(LEN(SUBSTITUTE(C3,".",""))=1,0&SUBSTITUTE(C3,".","")&0&0,IF(LEN(SUBSTITUTE(C3,".",""))>3,SUBSTITUTE(C3,".",""),IF(LEN(SUBSTITUTE(C3,".",""))=3,0&SUBSTITUTE(C3,".",""),0&SUBSTITUTE(C3,".","")&0))),2)*1,0)
คัดลอกลงมา

ที่ F3 คีย์

Code: Select all

=TIME(LEFT(IF(LEN(SUBSTITUTE(D3,".",""))=3,SUBSTITUTE(D3,".","")&0,IF(LEN(SUBSTITUTE(D3,".",""))=2,SUBSTITUTE(D3,".","")&0&0,IF(LEN(SUBSTITUTE(D3,".",""))=1,0&SUBSTITUTE(D3,".","")&0&0,SUBSTITUTE(D3,".","")))),2)*1,RIGHT(IF(LEN(SUBSTITUTE(D3,".",""))=3,SUBSTITUTE(D3,".","")&0,IF(LEN(SUBSTITUTE(D3,".",""))=2,SUBSTITUTE(D3,".","")&0&0,IF(LEN(SUBSTITUTE(D3,".",""))=1,0&SUBSTITUTE(D3,".","")&0&0,SUBSTITUTE(D3,".","")))),2)*1,0)
คัดลอกลงมา

ที่ G3 คีย์

Code: Select all

=IF(ISERROR("08:00"-(F3-E3)),IF(AND(COUNT($C3:$D3)=1,MATCH(1,IF(ISTEXT($C3:$D3),1),0)=1),"ไม่ปรากฏการสแกนเข้า",IF(AND(COUNT($C3:$D3)=0,MATCH(1,IF(ISTEXT($C3:$D3),1),0)=1),"ไม่ปรากฏการสแกนเข้า-ออก","ไม่ปรากฏการสแกนออก")),IF("08:00"-(F3-E3)=0,"","08:00"-(F3-E3)))
กด Ctrl+Shift+Enter คัดลอกลงมา

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Tue Sep 24, 2013 4:00 pm
by andyliu
:thup: :thup: :thup: :thup: :thup: ขอบคุณมากๆ เลยครับ อย่าเพิ่งหงุดหงิดนะครับ เพราะผมเจอปัญหาจากสูตรอีกแล้วครับ (ตัวหนังสือสีแดง)
คือ เมื่อเรากำหนดเงื่อนไขว่าให้เริ่มนับเวลาเข้าตอน 8.00 น. เวลาออกเวลาแรกก็ควรจะเป็น 16.00 น. แต่ในสูตรยังผิดอยู่ครับ รบกวนอีกครั้งนะครับ ผมเองไม่มีความรู้เรื่องสูตรพวกนี้มาก จะรู้เฉพาะสูตรง่ายๆ จำพวก sum ประมาณนี้ครับ ที่รีบเพราะต้องการเอามาใช้คำนวณเวลาทำงานของพนักงาน เพราะหัวหน้าจะทดลองใช้ระบบนับ 8 ชั่วโมงครับ

ไฟล์แนบนะครับ

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Tue Sep 24, 2013 4:14 pm
by andyliu
:rz: :rz: :rz: :rz: ความฝันใกล้จะเป็นจริงแล้ว :rz: :rz: :rz: :rz: ได้กูรูมาช่วย :lol: :lol: :lol:

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Tue Sep 24, 2013 4:22 pm
by bank9597
andyliu wrote::thup: :thup: :thup: :thup: :thup: ขอบคุณมากๆ เลยครับ อย่าเพิ่งหงุดหงิดนะครับ เพราะผมเจอปัญหาจากสูตรอีกแล้วครับ (ตัวหนังสือสีแดง)
คือ เมื่อเรากำหนดเงื่อนไขว่าให้เริ่มนับเวลาเข้าตอน 8.00 น. เวลาออกเวลาแรกก็ควรจะเป็น 16.00 น. แต่ในสูตรยังผิดอยู่ครับ รบกวนอีกครั้งนะครับ ผมเองไม่มีความรู้เรื่องสูตรพวกนี้มาก จะรู้เฉพาะสูตรง่ายๆ จำพวก sum ประมาณนี้ครับ ที่รีบเพราะต้องการเอามาใช้คำนวณเวลาทำงานของพนักงาน เพราะหัวหน้าจะทดลองใช้ระบบนับ 8 ชั่วโมงครับ

ไฟล์แนบนะครับ
:D ลองตามนี้ครับ
ที่ E3 คีย์

Code: Select all

=IF(TIME(LEFT(IF(LEN(SUBSTITUTE(C3,".",""))=1,0&SUBSTITUTE(C3,".","")&0&0,IF(LEN(SUBSTITUTE(C3,".",""))>3,SUBSTITUTE(C3,".",""),IF(LEN(SUBSTITUTE(C3,".",""))=3,0&SUBSTITUTE(C3,".",""),0&SUBSTITUTE(C3,".","")&0))),2)*1,RIGHT(IF(LEN(SUBSTITUTE(C3,".",""))=1,0&SUBSTITUTE(C3,".","")&0&0,IF(LEN(SUBSTITUTE(C3,".",""))>3,SUBSTITUTE(C3,".",""),IF(LEN(SUBSTITUTE(C3,".",""))=3,0&SUBSTITUTE(C3,".",""),0&SUBSTITUTE(C3,".","")&0))),2)*1,0)<"08:00:00"*1,"08:00:00"*1,TIME(LEFT(IF(LEN(SUBSTITUTE(C3,".",""))=1,0&SUBSTITUTE(C3,".","")&0&0,IF(LEN(SUBSTITUTE(C3,".",""))>3,SUBSTITUTE(C3,".",""),IF(LEN(SUBSTITUTE(C3,".",""))=3,0&SUBSTITUTE(C3,".",""),0&SUBSTITUTE(C3,".","")&0))),2)*1,RIGHT(IF(LEN(SUBSTITUTE(C3,".",""))=1,0&SUBSTITUTE(C3,".","")&0&0,IF(LEN(SUBSTITUTE(C3,".",""))>3,SUBSTITUTE(C3,".",""),IF(LEN(SUBSTITUTE(C3,".",""))=3,0&SUBSTITUTE(C3,".",""),0&SUBSTITUTE(C3,".","")&0))),2)*1,0))
คัดลอกลงมา

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

อย่าเพิ่งหงุดหงิดนะครับ
ฟอรั่มนี้ ไม่จำกัดการถามครับ ถามได้เท่าที่ต้องการ ผู้ตอบทุกคนยินดีตอบจนกว่าจะหมดปัญหาครับ

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Wed Sep 25, 2013 9:29 am
by andyliu
ขอบคุณมากๆ เลยนะครับ แต่อย่างว่าครับ เงื่อนไขเวลามันเยอะ ฟังก์ชั่น IF ก็ต้องเยอะตามไปด้วย ผมเองไม่มีปัญญาทำได้แน่นอนครับ
ในไฟล์ที่แนบมายังพบข้อบกพร่องในช่องสรุปผลนะครับ ถ้าคีย์ 10.00 น. เป็นเวลาเข้า ขาออกคีย์ 16.01 น. มันจะฟ้องแค่ "มาปฏิบัติราชการหลัง 9.00 น." ครับ
ซึ่งอันที่จริงมันควรจะขึ้นด้วยว่า "ออกก่อน กี่นาที" ครับ รบกวนอีกครั้งครับ (ไม่รู้ครั้งที่เท่าไหร่แล้วนะ อิอิอิ) อันอื่นดูแล้วก็น่าจะโอเคครับ ไว้ผมทดลองคีย์ข้อมูลใหม่ๆ
เข้าไป หากมีปัญหาจะนำมาโพสลงใหม่ครับ

ขอบคุณครับ

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Wed Sep 25, 2013 10:52 am
by bank9597
andyliu wrote:ขอบคุณมากๆ เลยนะครับ แต่อย่างว่าครับ เงื่อนไขเวลามันเยอะ ฟังก์ชั่น IF ก็ต้องเยอะตามไปด้วย ผมเองไม่มีปัญญาทำได้แน่นอนครับ
ในไฟล์ที่แนบมายังพบข้อบกพร่องในช่องสรุปผลนะครับ ถ้าคีย์ 10.00 น. เป็นเวลาเข้า ขาออกคีย์ 16.01 น. มันจะฟ้องแค่ "มาปฏิบัติราชการหลัง 9.00 น." ครับ
ซึ่งอันที่จริงมันควรจะขึ้นด้วยว่า "ออกก่อน กี่นาที" ครับ รบกวนอีกครั้งครับ (ไม่รู้ครั้งที่เท่าไหร่แล้วนะ อิอิอิ) อันอื่นดูแล้วก็น่าจะโอเคครับ ไว้ผมทดลองคีย์ข้อมูลใหม่ๆ
เข้าไป หากมีปัญหาจะนำมาโพสลงใหม่ครับ

ขอบคุณครับ
:D ลองตามนี้ครับ

ที่ E3 คีย์ =IF(C3<8,"08:00:00"*1,TIME(C3,MOD(C3,1)*100,0)) คัดลอกลงมา
ที่ F3 คีย์ =TIME(D3,MOD(D3,1)*100,0) คัดลอกลงมา

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Wed Sep 25, 2013 11:41 am
by andyliu
ยังมี Error ในช่องสรุปที่ยังผิดอยู่นะครับ :D :D :D :D :D
ตามไฟล์แนบครับ

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Wed Sep 25, 2013 11:50 am
by andyliu
จากสูตรยาวๆ กลายเป็นสูตรสั้นๆ ทำได้ไง งง ยอมรับว่าเก่งมากครับ ไอสไตน์ จริงๆๆๆๆๆๆๆ ข้าน้อยซูฮก อยากเก่งได้สักเสี้ยวจริงๆ ไม่รู้จะเริ่มต้นยังไงดีกับสูตร ฟังก์ชั่น Excel นี่
นับถือ นับถือ และนับถือครับ

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Wed Sep 25, 2013 3:18 pm
by bank9597
:D ลองตามนี้ครับ

ที่ G3 คีย์

Code: Select all

=IF(ISERROR("08:00:00"-(F3-E3)),IF(AND(COUNT($C3:$D3)=1,MATCH(1,IF(ISTEXT($C3:$D3),1),0)=1),"ไม่ปรากฏการสแกนเข้า",IF(AND(COUNT($C3:$D3)=0,MATCH(1,IF(ISTEXT($C3:$D3),1),0)=1),"ไม่ปรากฏการสแกนเข้า-ออก","ไม่ปรากฏการสแกนออก")),IF(F3-E3>="08:00:00"*1,"08:00:00"*1,"08:00:00"-(F3-E3)))
กด Ctrl+Shift+Enter

ที่ H3 คีย์

Code: Select all

=IF(ISTEXT(G3),G3,IF(AND($E3>="08:00:00"+0,$E3<="09:00:00"+0,$G3="08:00:00"+0),1,IF(AND($E3>"09:00:00"+0,$E3<="10:00:00"+0,$G3="08:00:00"+0),2,IF(AND($E3>"09:00:00"+0,$E3<="10:00:00"+0,$G3<>"08:00:00"+0),3,IF(AND($E3>"10:00:00"+0,$G3="08:00:00"+0),4,IF(AND($E3>"10:00:00"+0,$G3<>"08:00:00"+0),5,6))))))
คัดลอกลงมา

ที่ i3 คีย์

Code: Select all

=IF(ISTEXT($H3),$H3,IF($H3=1,"",IF($H3=2,"มาปฏิบัติราชการหลัง 9.00 น.",IF($H3=3,"มาปฏิบัติราชการหลัง 9.00 น. ออกก่อน"&" "&TEXT($G3,"HH:MM")&" "&"นาที",IF($H3=4,"ไม่อยู่ปฏิบัติราชการครึ่งวัน",IF($H3=5,"ไม่อยู่ปฏิบัติราชการครึ่งวัน ออกก่อน"&" "&TEXT($G3,"HH:MM")&" "&"นาที","ออกก่อน"&" "&TEXT($G3,"HH:MM")&" "&"นาที"))))))
คัดลอกลงมา

ที่ J3 คีย์ =IF(ISERROR($I3),"",IF($D3>12,IF($D3<=13,"ไม่อยู่ปฏิบัติราชการครึ่งวัน",$I3))) คัดลอกลงมา
จากสูตรยาวๆ กลายเป็นสูตรสั้นๆ ทำได้ไง งง ยอมรับว่าเก่งมากครับ ไอสไตน์ จริงๆๆๆๆๆๆๆ ข้าน้อยซูฮก อยากเก่งได้สักเสี้ยวจริงๆ ไม่รู้จะเริ่มต้นยังไงดีกับสูตร ฟังก์ชั่น Excel นี่
นับถือ นับถือ และนับถือครับ
ไม่ได้เก่งครับ เพิ่งคิดได้มากกว่าครับ :lol: หากเก่งจริงต้องตอบครั้งเดียวด้วยสูตรที่รัดกุมครับ

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Wed Sep 25, 2013 3:45 pm
by andyliu
ดูเหมือนจะได้ตามที่ต้องการแล้วนะครับ เดี๋ยวทดลองคีย์ตัวเลขลงหลายๆ ชุด ถ้าไม่ ERROR ก็ใช้ได้แล้วครับ อย่างไรก็ต้องขอชมนะครับว่า "เยี่ยมมากๆ เลย" ผมนับถือเป็นปรมาจารย์ของผมเลยหละครับคุณ bank9597
ขอบคุณจากใจจริงอีกครั้งนะครับ ถ้ายังพบ ERROR อยู่ ก็จะลงโพสเพื่อขอคำแนะนำอีกนะครับ :cp: :cp: :cp: :cp: :cp:

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Wed Sep 25, 2013 3:47 pm
by andyliu
อ้อ ลืมถามครับ ในคอลัมภ์ I และ J มันต่างกันอย่างไรครับ (ต่างที่ตรงสูตร) หรือเอาไว้สำหรับตรวจสอบความถูกต้องครับ

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Wed Sep 25, 2013 3:56 pm
by bank9597
andyliu wrote:อ้อ ลืมถามครับ ในคอลัมภ์ I และ J มันต่างกันอย่างไรครับ (ต่างที่ตรงสูตร) หรือเอาไว้สำหรับตรวจสอบความถูกต้องครับ
:D เอาไว้ตรวจสอบเงื่อนไขสุดท้ายครับ โดยที่เซลล์ D21 ลงเวลาออก 12.05 แล้วคุณให้แสดงผลเป็น "ไม่อยู่ปฏิบัติราชการครึ่งวัน" ซึ่งเงื่อไขต่างจากใครทั้งหมด ผมจึงต้องแยกออกมา อีกทั้ง Excel ที่คุณใช้ เป็นเวอร์ชัน 2003 ไม่สามารถซ้อน IF ได้มากกว่า 7 ชั้น ผมเลยจำเป็นต้องแยกออกมาครับ
อย่างไรก็ต้องขอชมนะครับว่า "เยี่ยมมากๆ เลย" ผมนับถือเป็นปรมาจารย์ของผมเลยหละครับคุณ bank9597
:lol: ท่านอื่นๆ ก็สามารถตอบแบบนี้ได้ครับ เพียงแต่ผมเป็นคนตอบคนแรก จึงต้องรับผิดชอบจนกว่าจะลุล่วงครับ

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Thu Sep 26, 2013 10:33 am
by andyliu
ประะทานโทษนะครับ excel ที่ผมใช้เป็นเวอร์ชัน 2010 แล้วนะครับ แสดงว่าไฟล์ที่คนเก่าทำไว้เป็นเวอร์ชันเก่าสิครับ
ต้องขอความรู้เพิ่มเดิมด้วยนะครับว่า 2010 กับ 2003 เงื่อนไขการใช้สูตรไม่เหมือนกันเหรอครับ

ปล. ตอนนี้ทดลองคีย์ข้อมูลบ้างแล้ว ยังไม่พบปัญหาครับ

ขอบคุณครับ

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Thu Sep 26, 2013 11:44 am
by bank9597
andyliu wrote:ประะทานโทษนะครับ excel ที่ผมใช้เป็นเวอร์ชัน 2010 แล้วนะครับ แสดงว่าไฟล์ที่คนเก่าทำไว้เป็นเวอร์ชันเก่าสิครับ
ต้องขอความรู้เพิ่มเดิมด้วยนะครับว่า 2010 กับ 2003 เงื่อนไขการใช้สูตรไม่เหมือนกันเหรอครับ

ปล. ตอนนี้ทดลองคีย์ข้อมูลบ้างแล้ว ยังไม่พบปัญหาครับ

ขอบคุณครับ
:D ไฟล์ที่แนบมาเป็น .xls ซึ่งเป็นเเวอร์ชั่น 2003 ครับ หาก 2007 - 2010 ต้องเป็น .xlsx ครับ

:D ความต่างของสองเวอร์ชั้นคือ การใช้สูตรบางสูตรมีความสามารถไม่เท่ากันครับ เช่น สูตร IF หากเวอร์ชั่น 2010 จะซ้อนได้ถึง 100 กว่าชั้น แต่เวอร์ชั่น 2003 ซ้อนได้แค่ 7 ชั้นครับ

โจทย์ที่คุณถามมามีเงื่อนไขเยอะครับ ต้องใช IF ซ้อนกันหลายชั้น ทำให้สูตรยาว ทางที่ดีควรทำตารางเงื่อนไขไว้เลยให้ชัดเจน จะได้ใช้สูตรสั้นกว่านี้ครับ

อีกทั้งมีสูตรใหม่เพิ่มเข้ามา เช่น IFERROR ที่ช่วยตรวจจับ Error ได้ทุกชนิด และไม่ทำให้สูตรยาว ยังมีหลายสูตรที่เพิ่มมา

ดังนั้น ทำให้ขั้นตอนการทำงาน ลดลงครับ ผมได้ปรับสูตรให้ใหม่แล้ว เป็นไฟล์เวอร์ชั่น 2010 ครับ โดยตัดคอลัมน์ J ออกไปได้เลย

ตามไฟล์แนบครับ

Re: การคำนวนเวลาเข้างาน แบบนับ 8 ชั่วโมงต้องทำอย่างไรครับ

Posted: Sat Sep 28, 2013 2:08 pm
by nattasiray
อยาทราบว่า เครื่องบันทึกเวลาที่คุณดึงข้อมูลออกมานั้น บันทึกเวลาโดยใช้เครื่องหมาย มหัพภาค (.) คั่นระหว่างเลข ชั่วโมง เลขนาที เลขวินาที หรือว่าใช้เครื่องหมายทวิภาค (:) ครับ เพราะผมทราบว่า เครื่องบันทึกเวลา ไม่ว่าจะเป็นการใช้ตอกบัตร หรือ ใช้การสแกนนิ้วมือ จะใช้เครื่องหมาย : คั่นระหว่างเลขชั่วโมง เลขนาที เลขวินาที ครับ

ตอนนี้ผมใช้ฟังก์ชัน AND ฟังก์ชัน ISNUMBER ตรวจสอบว่าถ้ากรอกเวลาเข้างาน และ เวลาออกงาน ทั้งคู่ เป็นตัวเลขหรือไม่ หากพบว่าใช่จึงจะคำนวณ ซึ่งทำให้ใช้ฟังก์ชัน IF ซับซ้อนได้สูงสุด 7 ขั้นใน MS Excel 2003 ลงไป

นอกจากนี้ผมใช้คุณลักษณะการจัดรูปแบบให้กับเซลล์อย่างมีเงื่อนไข (Conditional Formatting) เน้นข้อมูลที่ตรงกับเงื่อนไขครับ หากข้อมูลเวลาเข้างานหรือข้อมูลเวลาเลิกงานเปลี่ยนแปลง จะปรับสีให้อัตโนมัติ สะดวกต้องการตรวจสอบ

ข้อควรทราบของการบันทึกวันเดือนปี และเวลาในไมโครซอฟต์เอ็กเซล

๑ การกรอกวันเดือนปี ต้องใช้ปีคริสตศักราชเท่านั้นและต้องกรอกปีให้ครบ ๔ หลัก
๒ การกรอกเวลา ต้องใช้เครื่องหมาย : คั่นระหว่างเลขชั่วโมง เลขนาที เลขวินาที เท่านั้น

อีกหัวข้อหนึ่งคือ คุณต้องศึกษาการปรับแบบอักษรเริ่มต้นให้กับแฟ้มและโปรแกรมให้ถูกวิธีครับ เพราะที่คุณปฏิบัติด้วยการกดแป้น Ctrl+A แล้วเปลี่ยนแบบอักษรนั้น ไม่เกิดผลกับเวิร์คชีตใหม่ที่แทรกเข้าไปครับ ให้คุณศึกษาที่ http://www.snasui.com/viewtopic.php?f=9&t=4936 ครับ

เรื่องการจัดรูปแบบให้กับเซลล์อย่างมีเงื่อนไข (เทคนิคจิ้งจกเปลี่ยนสี) การคำนวณเรื่อง วันและเวลา รวมถึง การใช้สูตร IF AND ISNUMBER มีอยู่ในหนังสือ จัดการฐานข้อมูลด้วยไมโครซอฟต์เอ็กเซล 2010 ลองหาอ่านดูครับ

สำหรับของผมใส่ลงในเซลล์เดียว จบคำตอบตรงกับความต้องการครับ