:!: โปรดทราบ Image
    1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ดครับ Image
    2. การสมัครสมาชิกเพื่อโพสต์คำถาม ดาวน์โหลดไฟล์แนบไปศึกษา ทำตามขั้นตอนด้านล่างครับ
      1. สมัครสมาชิก ดูขั้นตอนตาม Link นี้ครับ => สมัครสมาชิก กรณีลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่นี่ครับ => Reset รหัสผ่านImage
      2. Login เข้าระบบโดยคลิก Login ตรงมุมขวาบนของหน้านี้ Image กรณีมีปัญหาในการเข้าใช้งาน คลิก Link นี้เพื่อแจ้งผู้ดูแลระบบครับ => ติดต่อผู้ดูแลระบบ
    3. เมื่อ Login แล้วสามารถกำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษได้ที่ Link นี้ครับ => ตั้งค่าส่วนตัว Image
    4. วิธีการตั้งและตอบกระทู้ดูได้ที่ Link นี้ครับ => วิธีการตั้งและตอบกระทู้ Image
    5. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ Link นี้ครับ => จัดรูปแบบตัวอักษร และสามารถกำหนดขนาดตัวอักษรใน Browser ได้ที่นี่ครับ ==> กำหนดขนาดตัวอักษรใน Browser Image

คำนวณ OT

ฟอรั่มถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถาม-ตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบ ต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. อธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. ควรแนบตัวอย่างไฟล์มาที่ฟอรั่มนี้เพื่อเพิ่มความสะดวกในการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่น นอกจากนี้ไม่ควรแนบไฟลที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน ควรโพสต์ Code ให้แสดงเป็น Code เพื่อสะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. แจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
kimhunzx
Member
Member
Posts: 12
Joined: Mon Apr 03, 2017 2:42 pm

คำนวณ OT

#1

Postby kimhunzx » Wed May 03, 2017 3:36 pm

ติดปัญหา อยู่ 4 เคส ครับในแถบสีเหลือง คือ

แถวที่ 10 วันหยุดประเพณี กะ เข้า 15:00 ออก 00:00 เวลาสิ้นสุดจริง คือ 23:00 และผลลัพธ์ของจำนวนชั่วโมง OT ยังไม่ถูกต้อง ซึ่งจริงๆ ที่ถูกต้องจะต้องได้ OT 1.0 = 8 ชม. และ 3.0 = 2 ชม.

แถวที่ 11 วันหยุด กะ เข้า 22:00 ออก 07:00 เช้า เคสนี้เป็น OT ข้ามวัน และผลลัพธ์ของจำนวนชั่วโมง OT ยังไม่ถูกต้อง ซึ่งจริงๆ ที่ถูกต้องจะต้องได้ OT 1.0 = 8 ชม. (นับเวลาตั้งแต่ 22:00 ถึง 07:00) และ OT 3.0 = 1 ชม. (นับเวลาตั้งแต่ 07:00 ถึง 08:00)

แถวที่ 12 วันทำงาน กะ เข้า 18:00 ออก 03:00 เคสนี้เป็นวันทำงานตรงกะ จะไม่ได้ OT ใดๆ แต่ผลลัพธ์ของจำนวนชั่วโมง OT ถูกคำนวณออกมาในช่อง OT 1.5 = 9 ชม. ครับ

แถวที่ 13 วันหยุด กะ เข้า 18:00 ออก 06:00 เคสนี้เป็นวันหยุด และได้ OT ข้ามวัน และผลลัพธ์ของจำนวนชั่วโมง OT ยังไม่ถูกต้อง ซึ่งจริงๆ ที่ถูกต้องจะต้องได้ OT 1.0 = 8 ชม. (นับเวลาตั้งแต่ 18:00 ถึง 03:00) และ OT 3.0 = 3 ชม. (นับเวลาตั้งแต่ 03:00 ถึง 06:00)

รายละเอียดมีอยู่ในไฟล์แนบเรียบร้อยครับ รบกวนด้วยครับ ขอบคุณครับ

OT Test.xlsx
You do not have the required permissions to view the files attached to this post.

User avatar
parakorn
Silver
Silver
Posts: 632
Joined: Thu Mar 14, 2013 9:41 am
Contact:

Re: คำนวณ OT

#2

Postby parakorn » Wed May 03, 2017 10:20 pm

ลองอธิบายเงื่อนไขที่ถูกต้องมาเป็นคำพูดดูครับว่าเหตุใดจึงให้โอทีเช่นนั้น
"," คือ ยูเนี่ยน ใช้เลือกช่วงใดบ้างให้คำนวณทั้งหมด(เลือกซ้ำคำนวณซ้ำ)
":" คือ เซต ใช้สร้างช่วงตารางข้อมูลระหว่าง2Cell
" "(เว้นวรรค) คือ อินเตอร์เซก ใช้เลือกข้อมูลเฉพาะด้านในจุดตัดระหว่างเซตทั้งหมด

Array ต้องเป็น เซตเท่านั้น

kimhunzx
Member
Member
Posts: 12
Joined: Mon Apr 03, 2017 2:42 pm

Re: คำนวณ OT

#3

Postby kimhunzx » Thu May 04, 2017 9:10 am

เงื่อนไข คือ
1.เวลาที่ขอ OT ก่อน/หลัง เวลาทำงาน (ในวันทำงานปรกติ) จะได้ OT 1.5
2.เวลาที่ขอ OT อยู่ในช่วงเวลาทำงาน (ทำงานในวันหยุด) จะได้ OT 1.0
3.เวลาที่ขอ OT ก่อน/หลัง เวลาทำงาน (ทำงานในวันหยุด) จะได้ OT 3.0 แต่จะต้องทำ OT ในช่วงเวลาทำงานตามข้อ 2 ด้วยจึงจะได้ OT 3.0
4.เงื่อนไขที่ขอ OT วันหยุดและวันหยุดประเพณี จะได้ OT แบบเดียวกัน

นี่คือเงื่อนไขที่ถูกต้องครับ

User avatar
snasui
Site Admin
Site Admin
Posts: 21792
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: คำนวณ OT

#4

Postby snasui » Sat May 06, 2017 9:04 am

:D ค่อย ๆ ถามตอบกันไปครับ

kimhunzx wrote:แถวที่ 10 วันหยุดประเพณี กะ เข้า 15:00 ออก 00:00 เวลาสิ้นสุดจริง คือ 23:00 และผลลัพธ์ของจำนวนชั่วโมง OT ยังไม่ถูกต้อง ซึ่งจริงๆ ที่ถูกต้องจะต้องได้ OT 1.0 = 8 ชม. และ 3.0 = 2 ชม.


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

menem
Bronze
Bronze
Posts: 418
Joined: Mon Jan 26, 2015 11:02 am

Re: คำนวณ OT

#5

Postby menem » Sat May 06, 2017 9:38 am

เท่าที่ดูคร่าว ๆ จุดที่น่าจะเป็นปัญหาคือ การระบุเวลาในการทำงาน (เริ่มต้น/สิ้นสุด และจุดอื่น ๆ)
ระบุแค่ เวลา ไม่ได้มีการระบุเรื่องวันที่เข้าไปด้วย ทำให้กรณีการทำงานข้ามวัน จะเกิดปัญหาในการ
คำนวณว่า ผ่านไปแล้วกี่ชั่วโมง (เพราะจะกลายเป็นว่า สิ้นสุดการทำงาน ก่อนเริ่มต้นทำงาน
เนื่องจาก Excel เข้าใจว่าเป็นชั่วโมง (เวลา) ในวันเดียวกัน

ลองพิจารณาจุดนี้ด้วยนะครับ

ปล. ถ้าเป็นไปได้ อาจจะต้องรบกวนขั้นตอน/เงือนไข การทำงาน/การกำหนดว่าเป็น OT มาให้ละเอียด
เพราะจะช่วยให้พิจารณาการเขียนสูตรได้ง่ายขึ้นครับ เช่น

การทำงาน มี 3 กะ
กะเช้า 08:00-16:00
กะเย็น 16:00-00:00
กะดึก 00:00-08:00
การคำนวณ OT ให้คำนวณ ตัดตอนที่ 00:00 ของทุกวัน
การพิจารณาชนิดวันหยุด ให้ตัดตอนที่ 00:00 ของทุกวันเช่นกัน
และการทำงาน OT ส่วนที่เกิน 00:00 (ข้ามวัน) ให้เริ่มนับใหม่เป็น
ตามเงื่อนไขของอีกวัน ฯลฯ

ZEROV
Member
Member
Posts: 73
Joined: Thu Jun 03, 2010 6:31 pm

Re: คำนวณ OT

#6

Postby ZEROV » Sat May 06, 2017 11:15 am

Y6=(TEXT((G6<F6)+A6+G6-(A6+F6),"[m]")-TEXT((N6<M6)+A6+N6-(M6+A6),"[m]"))/60/24

kimhunzx
Member
Member
Posts: 12
Joined: Mon Apr 03, 2017 2:42 pm

Re: คำนวณ OT

#7

Postby kimhunzx » Mon May 08, 2017 3:57 pm

ขอบคุณ สำหรับ คำตอบ ทุกท่านครับ
ตอนนี้ จุดที่ติดปัญหา แก้ได้แล้วครับ แต่ติดปัญหาใหม่ คือ พนักงานทำ OT วันหยุด/วันหยุดประเพณี หากจำนวนชั่วโมงทำงาน < 8 ชม. จะได้ OT 1 เท่า ไม่ใช่ 3 เท่า แต่สูตรดันไปจับ เป็น 3 เท่าครับ ยกตัวอย่างเคสแถวที่ 7 และ 9 รายละเอียดในไฟล์แนบครับ เนื่องจาก คำอธิบายยาว เลย อธิบายในไฟล์แทนครับ ซึ่งไม่แน่ใจ จะเกี่ยวกับ ข้ามวัน แบบที่คุณ menem กล่าวไว้หรือเปล่าครับ

เงื่อนไข คือ OT วันหยุด/วันหยุดประเพณี หากจำนวนชั่วโมงทำงาน < 8 ชม. จะได้ OT 1 เท่า ไม่ใช่ 3 เท่าครับ

รายละเอียดในไฟล์แนบครับ ขอบคุณครับ

OT Test_1.xlsx
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 21792
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: คำนวณ OT

#8

Postby snasui » Wed May 10, 2017 1:07 pm

:D ปัจจุบันเซลล์ AB7 แสดงค่าเป็น 2:00 มาจากเซลล์ มาจากสูตรด้านล่าง

=IFERROR(IF(OR($E7={"H-วันหยุด";"T-หยุดประเพณี"}),X7+Y7,0),0)

คำอธิบายในไฟล์แนบแจ้งไว้ว่าค่านี้ไม่ถูกต้อง ค่าควรจะไปอยู่ที่ Z7 โดยใน Z7 มีสูตรคือ

=IFERROR(IF(AND(H7<8/24,OR($E7={"H-วันหยุด";"T-หยุดประเพณี"})),W7,0),0)

หากค่าใน Z7 ไม่ถูกต้องแสดงว่าค่าใน W7 ไม่ถูกต้องเนื่องจากเป็นสูตรที่ดึงค่าจาก W7 มาอีกที

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

kimhunzx
Member
Member
Posts: 12
Joined: Mon Apr 03, 2017 2:42 pm

Re: คำนวณ OT

#9

Postby kimhunzx » Thu May 11, 2017 9:49 am

ในช่อง Z7 ต้องเพิ่มเงื่อนไข คือ ถ้า W7 น้อยกว่า 8 ชม. จะต้องได้ X7 ในช่อง Z7 ครับ
และช่อง AB7 ต้องเพิ่มเงื่อนไข คือ ถ้า W7 มากกว่าหรือเท่ากับ 8 ชม. จะต้องได้ X7+Y7 ในช่อง AB7 ครับ
โดยยังคงเงื่อนไขอันเดิมไว้ด้วยครับ

User avatar
snasui
Site Admin
Site Admin
Posts: 21792
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: คำนวณ OT

#10

Postby snasui » Thu May 11, 2017 7:48 pm

:D ตัวอย่างสูตรใน Z7 ครับ

=IFERROR(IF(OR($E7={"H-วันหยุด";"T-หยุดประเพณี"}),IF(W7<8/24,X7,0),0),0)

ตัวอย่างสูตรใน AB7 ครับ

=IFERROR(IF(OR($E7={"H-วันหยุด";"T-หยุดประเพณี"}),IF(W7>=8/24,X7+Y7,0),0),0)

kimhunzx
Member
Member
Posts: 12
Joined: Mon Apr 03, 2017 2:42 pm

Re: คำนวณ OT

#11

Postby kimhunzx » Fri May 12, 2017 4:55 pm

โอ้วว ได้แล้วครับ ขอบคุณมากครับ :thup:


Return to “Excel”

Who is online

Users browsing this forum: Google Feedfetcher, kochnamtip, puriwutpokin and 17 guests