วันอาทิตย์ที่ 29 สิงหาคม พ.ศ. 2553

VBA Excel ตอน เขียน vba แก้ปัญหาสูตร Datedif (3)

มาถึงบทความรองสุดท้ายของอนุกรม vba excel เกี่ยวกับการคำนวณ Datedif มาที่ผลต่างของลำดับวันกันครับ มาดูหลักการคำนวณก่อนนำไปเขียนสูตร Excel กันครับ

4. พิจารณาเปรียบเทียบลำดับวันของวันเริ่มต้นและวันสิ้นสุด โดยมีหลักการพิจารณาดังนี้

4.1 หากลำดับวันของวันสิ้นสุดมากกว่าวันเริ่มต้น แสดงว่าลำดับวันได้ครบรอบเดือนไปแล้วดังนั้นผลต่างของลำดับวันที่เหลือจะเท่ากับ ลำดับของวันสิ้นสุดลบด้วยลำดับของวันเริ่มต้น

4.2 หากลำดับวันของวันสิ้นสุดมากกว่าวันเริ่มต้น แสดงว่ายังไม่ครบรอบเดือน หลักการในการคำนวณนั้นจะเริ่มจากหาผลต่างระหว่างลำดับวันเริ่มต้นถึงลำดับวันสิ้นเดือนของเดือนในวันสิ้นสุดและบวกด้วยลำดับของวันสิ้นสุด

หลักการคิดสามารถเขียนเป็นสูตรใน Excel ด้วยฟังก์ชัน Date ดังแสดงในภาพที่ 1

DateDiff

ภาพที่ 1 การคำนวณ Day Diff ด้วยสูตรใน Excel

ท่านผู้อ่านคงเห็นแล้วว่าจากบทความนี้และที่ผ่านมาในการคำนวณหา Year Diff , Month Diff และ Day Diff ด้วยสูตรฟังก์ชัน Date ของ Excel ค่อนข้างจะยุ่งยากพอสมควรเนื่องจากมีเงื่อนไขตามหลักการคิดและคำนวณที่ค่อนข้างซับซ้อน ซึ่งต้องใช้คำสั่ง IF หรือ AND ของ Excel เข้าช่วยตรวจสอบก่อน แต่อย่างไรก็ตามรูปแบบของการคำนวณก็ยังดูไม่น่าใช้งานครับ เดี๋ยวบทความสุดท้ายผมจะนำเสนอวิธีการเขียนวิธีการที่เราได้พัฒนาขึ้นมานี้จาก Excel ไปยัง VBA ซึ๋งสุดท้ายเราจะได้ฟังก์ชันที่ได้กำหนดขึ้นมาใช้งานเอง (User Function) และถูกใช้เป็นสูตรใน Excel ต่อไปครับ สวัสดีครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Yahoo bot last visit powered by  Ybotvisit.com