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

รบกวนแนะนำสูตรเกี่ยวกับการเช็คจำนวนชั่วโมงการทำงานครับ

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
spinoza
Member
Member
Posts: 105
Joined: Fri Oct 10, 2014 9:32 am

Re: รบกวนแนะนำสูตรเกี่ยวกับการเช็คจำนวนชั่วโมงการทำงานครับ

#21

Post by spinoza »

snasui wrote::D ตัวอย่างการปรับสูตรตามด้านล่างครับ

Z5 คีย์

Code: Select all

=IF(COUNT(L5:M5)=1,"ขาดเวลาทำงาน",IF(AND(L5="",M5=""),0,IF(M5-L5+(M5<L5)-((M5-L5+(M5<L5))>5/24)*1/24<"8:30"+0,8/24,M5-L5+(M5<L5)-((M5-L5+(M5<L5))>=5.01/24)*1/24)))
อาจารย์ครับ

เนื่องจากผมนำไปใช้แล้ว สามารถปรับเวลาการทำงานที่เป็น 08.01 - 08.29 เป็น 08.00 ได้ครับ

แต่เจอปัญหาตรงที่ว่าหากพนักงานมีจำนวนชั่วโมงการทำงานคิดได้ 00.01 - 08.00 สูตรจะคิดให้เป็น 08.00 ด้วยครับ

ผมไม่แน่ใจมันเกี่ยวกับการที่ต้องหักพัก 1 ชั่วโมงหรือไม่ครับ หรือผมแจ้งเงื่อนไขอะไรผิดพลาดไปหรือไม่ครับ

ผมได้แนบ File ตัวอย่าง พร้อมคำตอบที่ต้องการมาให้โดยเปรี่ยบเทียบตอนยังไม่เพิ่มเงื่อนไขและเพิ่มเงื่อนไขครับ

อยากให้อาจารย์ช่วยรบกวนดูให้ด้วยครับว่าผมใส่ข้อมูลอะไรผิดพลาดไปหรือไม่ครับ

ต้องขออนุญาติรบกวนอาจารย์อีกครั้งครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31153
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: รบกวนแนะนำสูตรเกี่ยวกับการเช็คจำนวนชั่วโมงการทำงานครับ

#22

Post by snasui »

:D ตัวอย่างการปรับสูตรครับ

Code: Select all

=IF(COUNT(D5:E5)=1,"ขาดเวลาทำงาน",IF(AND(D5="",E5=""),0,IF(AND(E5-D5+(E5<D5)-((E5-D5+(E5<D5))>5/24)*1/24>="8:00"+0,E5-D5+(E5<D5)-((E5-D5+(E5<D5))>5/24)*1/24<="8:30"+0),8/24,E5-D5+(E5<D5)-((E5-D5+(E5<D5))>5/24)*1/24)))
spinoza
Member
Member
Posts: 105
Joined: Fri Oct 10, 2014 9:32 am

Re: รบกวนแนะนำสูตรเกี่ยวกับการเช็คจำนวนชั่วโมงการทำงานครับ

#23

Post by spinoza »

อาจาร์ยครับ

สูตรได้ตามที่ต้องการแล้วครับขอบคุณครับได้เรียบร้อยแล้วครับ

พอดีผมเพิ่งทราบเงื่อนไขอีก 1 ข้อ อยากจะขอเพิ่มด้วยครับ

( ต้องขออภัยอย่ายิ่งครับ ครั้งนี้จะเป็นครั้งสุดท้ายที่ผมรบกวนอาจารฺ์ยให้ปรับสูตรเรื่องนี้ครับ )

จากที่เคยแจ้งเงื่อนไขอาจารย์ไว้ว่า ให้หักพักชั่วโมงที่ 5.01 ไปนั้น
ผมอยากจะเพิ่มเงื่อนไขที่ว่า หากประเภทวันเป็นทำงานนั้น ให้หักพักชั่วโมงที่ 5.01เหมือนเดิมครับ

แต่หากประเภทวันเป็น หยุด H และ หยุด W ให้ ให้เริ่มหักพักชั่วโมงที่ 8.01 เป็นต้นไปครับ

ผมได้แนบ File ตัวอย่างพร้อมคำตอบที่ต้องการมาให้เรียบร้อยแล้วครับ

ต้องขออภัยอย่างยิ่งครับ เงื่อนไขนี้ผมเพิ่มทราบจริงๆครับ และ ขอบคุณอาจาร์ยที่ช่วยเหลือมาตลอดด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31153
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: รบกวนแนะนำสูตรเกี่ยวกับการเช็คจำนวนชั่วโมงการทำงานครับ

#24

Post by snasui »

:D เนื่องจากมีการถามตอบมาหลายครั้งจึงควรที่จะเริ่มปรับสูตรเองได้บ้างไม่มากก็น้อย

ให้ลองปรับมาเองก่อน ได้เท่าไรก็เท่านั้น ติดตรงไหนค่อยถามกันต่อครับ
spinoza
Member
Member
Posts: 105
Joined: Fri Oct 10, 2014 9:32 am

Re: รบกวนแนะนำสูตรเกี่ยวกับการเช็คจำนวนชั่วโมงการทำงานครับ

#25

Post by spinoza »

จากที่ผมพยาดูก็ยังไม่ได้ ตามความเข้าใจของผมแบบนี้สูตรอันนี้ติดปัญหาตรงไหนเหรอครับ

=IF(COUNT(C5:D5)=1,"ขาดเวลาทำงาน",IF(AND(C5="",D5=""),CHOOSE(MATCH(A5,{"ทำงาน","หยุด W","หยุด H"},0),IF(AND(D5-C5+(D5<C5)-((D5-C5+(D5<C5))>5.01/24)*1/24>="8:00"+0,D5-C5+(D5<C5)-((D5-C5+(D5<C5))>5.01/24)*1/24<="8:30"+0),8/24,D5-C5+(D5<C5)-((D5-C5+(D5<C5))>5/24)*1/24),IF(AND(D5-C5+(D5<C5)-((D5-C5+(D5<C5))>8.01/24)*1/24>="8:00"+0,D5-C5+(D5<C5)-((D5-C5+(D5<C5))>8.01/24)*1/24<="8:30"+0),8/24,D5-C5+(D5<C5)-((D5-C5+(D5<C5))>5/24)*1/24),IF(AND(D5-C5+(D5<C5)-((D5-C5+(D5<C5))>8.01/24)*1/24>="8:00"+0,D5-C5+(D5<C5)-((D5-C5+(D5<C5))>8.01/24)*1/24<="8:30"+0),8/24,D5-C5+(D5<C5)-((D5-C5+(D5<C5))>5/24)*1/24)))

ผมลองนำสูตรที่อาจารย์เคยช่วยแนะนำมาลองปรับดู แต่มันยังขึ้น Error อยู่เลยครับ รบกวนขอคำแนะนำด้วยครับ อาจารย์
spinoza
Member
Member
Posts: 105
Joined: Fri Oct 10, 2014 9:32 am

Re: รบกวนแนะนำสูตรเกี่ยวกับการเช็คจำนวนชั่วโมงการทำงานครับ

#26

Post by spinoza »

ล่าสุด ได้ประมาณนี้ ครับ น่าจะถูกไหมครับอาจารย์

=IF(COUNT(C5:D5)=1,"ขาดเวลาทำงาน",IF(AND(C5<>"",D5<>""),CHOOSE(MATCH(A5,{"ทำงาน","หยุด W","หยุด H"},0),IF(AND(D5-C5+(D5<C5)-((D5-C5+(D5<C5))>5.01/24)*1/24>="8:00"+0,D5-C5+(D5<C5)-((D5-C5+(D5<C5))>5.01/24)*1/24<="8:29"+0),8/24,D5-C5+(D5<C5)-((D5-C5+(D5<C5))>5/24)*1/24),IF(AND(D5-C5+(D5<C5)-((D5-C5+(D5<C5))>8.01/24)*1/24>="8:00"+0,D5-C5+(D5<C5)-((D5-C5+(D5<C5))>8.01/24)*1/24<="8:30"+0),8/24,D5-C5+(D5<C5)-((D5-C5+(D5<C5))>5/24)*1/24),IF(AND(D5-C5+(D5<C5)-((D5-C5+(D5<C5))>8.01/24)*1/24>="8:00"+0,D5-C5+(D5<C5)-((D5-C5+(D5<C5))>8.01/24)*1/24<="8:30"+0),8/24,D5-C5+(D5<C5)-((D5-C5+(D5<C5))>8/24)*1/24))))



แต่ยังงงๆอยู่เ้ลยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31153
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: รบกวนแนะนำสูตรเกี่ยวกับการเช็คจำนวนชั่วโมงการทำงานครับ

#27

Post by snasui »

:D หากได้คำตอบถูกต้องก็ใช้ได้ เอาไว้ได้คำตอบไม่ถูกต้องค่อยถามมาใหม่ครับ
spinoza
Member
Member
Posts: 105
Joined: Fri Oct 10, 2014 9:32 am

Re: รบกวนแนะนำสูตรเกี่ยวกับการเช็คจำนวนชั่วโมงการทำงานครับ

#28

Post by spinoza »

ขอบคุณมากครับ อาจารย์ครับ :D
Post Reply