EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)Code: Select all
=IF(IF(AND(F3>=90,J3>180),(C3*1.5),IF(AND(F3>=75,J3>180),(C3*1.4),IF(AND(F3>=60,J3>180),(C3*0.75)))),IF(AND(F3>=90,J3>180),(C3*1.5),IF(AND(F3>=75,J3>180),(C3*1.4),IF(AND(F3>=60,J3>180),(C3*0.75)))),IF(AND(F3>=90,J3<180),(C3*1.5*(J3/$R$2)),IF(AND(F3>=75,J3<180),(C3*1.4*(J3/$R$2)),IF(AND(F3>=60,J3<180),(C3*0.75*(J3/$R$2))))))
snasui wrote:เมื่อเงื่อนไขคิดเป็นเดือนก็ต้องหาเดือนการทำงานออกมาด้วย จะได้สะดวกในการใช้สูตร ดูจากคอลัมน์ K ตามไฟล์แนบ และระบุค่าตอบแทนไว้ที่ E19:G23
ไม่ว่าย้ายหรือลาออกก็ให้วันเริ่มทำงานอยุ่ที่คอลัมน์ I เหมือนกันทั้งหมด เพียงแต่มีการหมายเหตุไว้ในคอลัมน์ L
ตัวอย่างการคิดค่าตอบแทนอยู่ที่คอลัมน์ G ซึ่งอันนี้ผมตั้งต้นให้ก่อนตามที่อธิบายมา หากเซลล์ใดต้องการคำตอบเป็นเท่าใด ด้วยเงื่อนไขใด ให้แจ้งมาโดยละเอียดอีกครั้ง จะได้ช่วยดูต่อไปจากนั้นครับ
snasui wrote:จะคิดเป็นวันหรือหน่วยอื่นก็ไม่มีปัญหาครับ สูตรที่ผมใช้ก็คิดเป็นวันออกมาให้ด้วยเช่นกัน แต่กรณีนี้ใช้เดือนเป็นเงื่อนไข จึงควรจะมีการคิดเป็นเดือนออกมาให้ได้ก่อนเหมือนที่ผมทำมาเป็นตัวอย่าง
จากที่อธิบายมานั้นผมยังไม่กระจ่าง ช่วยคิด G3 ออกมาให้เห็นว่าได้ค่าเท่าใด ด้วยเหตุใดจึงได้ค่าเท่านั้น ให้เขียนบรรยายมาแทนเขียนมาเป็นสูตร จะได้สะดวกในการทำความเข้าใจครับ
snasui wrote:จะคิดเป็นวันหรือหน่วยอื่นก็ไม่มีปัญหาครับ สูตรที่ผมใช้ก็คิดเป็นวันออกมาให้ด้วยเช่นกัน แต่กรณีนี้ใช้เดือนเป็นเงื่อนไข จึงควรจะมีการคิดเป็นเดือนออกมาให้ได้ก่อนเหมือนที่ผมทำมาเป็นตัวอย่าง
อ่านสูตรที่อาจารย์เขียนให้เข้าใจแล้วครับ ว่าคิดเป็นวันออกมาได้เช่นกัน ขอบคุณครับ
snasui wrote:ผมทำตัวอย่างมาให้ใหม่ตามไฟล์แนบ ลองศึกษาดูก่อน ติดตรงไหนค่อยถุามกันต่อครับ
snasui wrote:ก่อนหน้านี้ได้คำตอบที่ถูกต้องแล้วยังครับ หากยังต้องทำให้ถูกต้องเสียก่อนที่จะถามคำถามอื่น ๆ ครับ
Totem wrote:1.กรณีลาออก จะคิดค่าตอบแทนโดยนับตั้งแต่รอบวันที่ 1 มกราคม 2556 ถึงวันที่ลาออกคือ 31 ตุลาคม 2556
เป็นจำนวน 304 วัน ที่ถูกต้องช่องG8 = 1249
snasui wrote:Totem wrote:1.กรณีลาออก จะคิดค่าตอบแทนโดยนับตั้งแต่รอบวันที่ 1 มกราคม 2556 ถึงวันที่ลาออกคือ 31 ตุลาคม 2556
เป็นจำนวน 304 วัน ที่ถูกต้องช่องG8 = 1249ค่อย ๆ ถามตอบกันไปครับ
31 ตุลาคม 2556 เอามาจากไหนครับ วันที่ควรกรอกในคอลัมน์ I ไม่ว่าจะเริ่มทำงาน ย้่ายมา หรือลาออก กรอกค่าให้ถูกต้องเสียก่อนครับ หากย้ายมาหรือลาออกค่อยมาระบุข้อความในหมายเหตุ
snasui wrote:ช่วย Uddate วันที่ต่าง ๆ มาในไฟล์ด้วย จะได้ช่วยดูต่อไปจากนั้นครับ
snasui wrote:สามารถใช้สูตรตามลำดับด้านล่างครับ
- เซลล์ O3 คีย์สูตร
=IF(N3<>"",N3-MAX(I3,"1jan2013")+1,$J$2-MAX("1jan2013",I3)+1)
Enter > Copy ลงด้านล่าง- เซลล์ J3 คีย์
=INT((IF(N3<>"",N3,$J$2)-MAX("1Jan2013"+0,I3))/30)
Enter > Copy ลงด้านล่าง- เซลล์ G3 คีย์
=C3*LOOKUP(F3,$E$27:$E$30,$G$27:$G$30)*IF(AND(J3<6,K3<>"ย้ายมาจากที่อื่น",N3<>""),0,O3/365)
Enter > Copy ลงด้านล่าง
snasui wrote:ลองทำมาเองดูก่อน ติดตรงไหนค่อยถามกันต่อ สิ่งสำคัญจะต้องระบุคำตอบที่ถูกต้องมาด้วย
เรามีการคำนวณวันทำงานไว้ในคอลัมน์ O เรียบร้อยแล้ว มีวันลาไว้ในคอลัมน์ L:M ไว้แล้วเช่นกัน น่าจะหาวันทำงานสุทธิเพื่อใช้คำนวณต่อได้เองครับ