Page 1 of 1

แสดงผล ns/nsot ถ้าเข้ากะเย็น

Posted: Thu Apr 26, 2012 11:10 pm
by tum
รบกวนขอคำแนะนำในการเขียนสูตร วันทำงานปกติถ้าเข้างานกะเย็น ทำโอทีจะคีย์ข้อมูบเป็นเวลา ให้แสดงผลเป้น ns ถ้าวันอาทิตย์หรือวันหยุดประเพณีเข้างานกะเย็น คีย์ข้อมูลเป็น text ให้แสดงผลเป็น nsot ตัวอย่างตาม file แนบค่ะ

Re: แสดงผล ns/nsot ถ้าเข้ากะเย็น

Posted: Fri Apr 27, 2012 8:37 am
by ChoBkuN
เข้าใจว่าต้องสร้าง column หรือ Database ที่รวมวันหยุดครับ
ถ้าวันที่ที่อ้างอิงมีใน Database วันหยุดนั้น ก็ให้แสดงเป็น nsot
ถ้าไม่มีก็ให้แสดงเป็น ns

อาจใช้สูตร if และ iserror ช่วย เช่น

=if(iserror(match(วันที่เข้ากะ,ช่วง Array รวมวันหยุด,0)),"ns","nsot")

Re: แสดงผล ns/nsot ถ้าเข้ากะเย็น

Posted: Fri Apr 27, 2012 3:36 pm
by tum
ขอคำอธิบายเพิ่มเติมด้วยค่ะ

Re: แสดงผล ns/nsot ถ้าเข้ากะเย็น

Posted: Fri Apr 27, 2012 3:39 pm
by bank9597
:D ผมจะคิดว่าช่วยตอบได้ครับ แต่เห็นคำถามและรูปแบบตารางแล้ว ผมยังงงครับ :tt:

Re: แสดงผล ns/nsot ถ้าเข้ากะเย็น

Posted: Fri Apr 27, 2012 4:03 pm
by bank9597
:D ลองตามนี้ครับ ว่าใช้ได้ไหม

ที่ I17 คีย์ =IF(I5="","",IF(COUNT(IF(I$5=$BZ$2:$BZ$40,1))>=1,(IF(COUNT(I5)=1,"ns","nsot"))))
กด Ctrl+Shift+Enter แทนการกด Enter อย่างเดียว แล้วคัดลอกไปทางขวามือ แล้วคัดลอกลงมาพร้อมกันทั้งหมด

ปล. การใช้สูตรแบบนี้ (COUNT(I5)) ยังผิดหลักอยู่ครับ หากเก่งกว่านี้ ผมจะไม่ใช้ครับ :lol:

Re: แสดงผล ns/nsot ถ้าเข้ากะเย็น

Posted: Fri Apr 27, 2012 8:07 pm
by tum
ขอบคุณมากค่ะแต่ยังไม่ใช่ผลลัพธ์ที่ต้องการค่ะ ขออธิบายเพิ่มเติมดังนี้
ตารางข้างบนตั้งแต่ Column I - AM เป็นตารางลงเวลาที่พนักงานเลิกทำ OT ยกตัวอย่างคือ J 5 และ J 6 วันที่ 2 เลิกงานปกติ 17:00 และทำ OT ต่อถึง 19:00 = ทำ OT 2 ช.ม. ซึ่งแต่ละวันทำ OT กี่ชั่วโมง จะนับลงในคอลัมน์ AO - BS ตามวันที่นั้นๆ จากนั้นจึงรวมจำนวน OT ทั้งหมดเป็นเดือนที่ Column BT สรุปคือถ้าเลิกงาน 17:00 และทำ OT ต่อถึง 21:30 จะไม่ได้ค่า NS
และในคอลัมน์เดียวกัน แถวที่ 7 และ 8 เข้างาน 20:00 เลิก 05:00 และหลังจากนั้นทำ OT ที่ J 7 และ J 8 คือเวลาที่เลิกทำ OT และจะได้ค่ากะ ns เช่นเดียวกันกับถ้าทำงานวันอาทิตย์และวันหยุดประเพณ๊ เวลาเข้า 20:00 เลิกงาน 05::00 จะได้ค่ากะแต่เรียกว่า nsot ที่ต้องแยกเป็น ns และ nsot เนื่องมาจาก ns ต้องหักส่งประกันสังคม nsot ไม่ต้องหักส่ง
กะเช้า 08:00 - 17:00 จะไม่ได้ค่า ns กะเย็น 20:00 - 05:00 ได้ค่า ns
ดังนั้น จากตารางด้านบนที่ I 7 เป็น OtdH ต้องไม่ได้ค่า NS แต่ I 8 เป็น OtdN ได้ค่า ns ตอนนี้ ได้แยกเงื่อนไขไม่ได้ค่า ns ออกไปจากได้ค่า ns เงื่อนไขการจ่าย ns หรือ nsot ตามที่ระบุไว้ใน column CD
รบกวนด้วยค่ะ

Re: แสดงผล ns/nsot ถ้าเข้ากะเย็น

Posted: Sat Apr 28, 2012 2:31 pm
by snasui
:D ค่อย ๆ ถามตอบกันไปครับ

การอ้างอิงเซลล์จะไม่มีการวรรคระหว่างคอลัมน์กับบรรทัดครับ เช่น A1 จะไม่เขียนเป็น A 1 หรือ B10 จะไม่เขียนเป็น B 10 และช่วยแบ่งวรรคตอนให้อ่านง่ายขึ้นอีกนิด ไม่ควรเขียนติดกันไปเรื่อย ๆ หากสามารถเขียนแบ่งเป็นข้อ ๆ ได้จะยิ่งดีครับ

ผมดูตามไฟล์ที่แนบมาล่าสุดแล้วยังไม่เคลียร์ ช่วยระบุให้ชัดเจนว่า เซลล์ใดต้องการให้เป็นค่าใดลงในไฟล์แนบด้วยครับ อาจจะแสดงเป็น Comment โดยมีเงื่อนไขประกอบสำหรับเซลล์นั้น

Re: แสดงผล ns/nsot ถ้าเข้ากะเย็น

Posted: Sat Apr 28, 2012 7:19 pm
by tum
ขอบคุณสำหรับคำตอบทุกๆคำตอบค่ะ แต่ทำเองได้แล้วค่ะ

Re: แสดงผล ns/nsot ถ้าเข้ากะเย็น

Posted: Sun Apr 29, 2012 12:19 pm
by akung
tum wrote:ขอบคุณสำหรับคำตอบทุกๆคำตอบค่ะ แต่ทำเองได้แล้วค่ะ
ทำได้แล้วน่าจะเฉลยไว้ที่นี้สักหน่อยก็ดีนะครับผมว่า เผื่อใครติดปัญหาลักษณะนี้อยู่โดยค้นหา google มาเจอจะได็ มีแนวทางนะครับ

Re: แสดงผล ns/nsot ถ้าเข้ากะเย็น

Posted: Sun Apr 29, 2012 3:42 pm
by tum
ขอโทษด้วยค่ะที่ไม่ได้ post คำเฉลยให้ก่อนหน้านี้ เพราะกำลังยุ่งกับพายุ
ได้แนวคิดจากคำตอบของคุณ bank9597 เลยนำมาดัดแปลงแก้ไขและได้ตรงกับที่ต้องการ
ขอบคุณทุกๆท่านค่ะ

Re: แสดงผล ns/nsot ถ้าเข้ากะเย็น

Posted: Sun Apr 29, 2012 7:22 pm
by akung
tum wrote:ขอโทษด้วยค่ะที่ไม่ได้ post คำเฉลยให้ก่อนหน้านี้ เพราะกำลังยุ่งกับพายุ
ได้แนวคิดจากคำตอบของคุณ bank9597 เลยนำมาดัดแปลงแก้ไขและได้ตรงกับที่ต้องการ
ขอบคุณทุกๆท่านค่ะ
ขอบคุณครับ

Re: แสดงผล ns/nsot ถ้าเข้ากะเย็น

Posted: Sun Apr 29, 2012 11:15 pm
by bank9597
:D
ทำได้แล้วน่าจะเฉลยไว้ที่นี้สักหน่อยก็ดีนะครับผมว่า เผื่อใครติดปัญหาลักษณะนี้อยู่โดยค้นหา google มาเจอจะได็ มีแนวทางนะครับ

:D ขอบคุณแทนเพื่อนๆด้วยน่ะครับ
ขอโทษด้วยค่ะที่ไม่ได้ post คำเฉลยให้ก่อนหน้านี้ เพราะกำลังยุ่งกับพายุ
ได้แนวคิดจากคำตอบของคุณ bank9597 เลยนำมาดัดแปลงแก้ไขและได้ตรงกับที่ต้องการ
ขอบคุณทุกๆท่านค่ะ
:D ทำในสิ่งที่ถูกต้องแล้วครับ

เพิ่มเติมอีกนิดครับ ในเซลล์ i17 ลองปรับสูตรเป็น
=IFERROR(VLOOKUP(I5,$AS$23:$AW$40,5,0),0)