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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)ตรงกับใจเป๊ะเลยครับ ขอบคุณมากๆครับmenem wrote:ผมลองสร้างสูตรสำหรับคำนวณช่อง P และ R ให้ใหม่ (อยู่ด้านท้าย)
ลองตรวจสอบดูครับว่าตรงกับที่ต้องการหรือไม่
หลักพื้นฐานคือ การสร้างวันที่ที่ไม่ใช่วันหยุดเอาไว้อีกคอลัมน์หนึ่ง
แล้วใช้การ Match วันที่ที่คำนวณได้ อ้างอิงจากวันหยุด ถ้ามีตรงกัน
ก็แปลว่าให้เอาวันที่ที่ไม่ใช่วันหยุดมาใช้
แต่ถ้าไม่เจอ ก็แปลว่าวันดังกล่าวสามารถใช้งานได้เลย ไม่ต้องแปลงค่าอีก
หมายเหตุ : ผมไม่ได้ใช้ CountIF นะครับ
ขอบคุณมากๆครับ ผมเอาวิธีนี้ไปใช้ต่อได้อีกเยอะเลยครับpuriwutpokin wrote:อีกแบบใช้ if และ match มาเช็คครับ ตามไฟล์แนบครับ
ผมสงสัยว่าทำไมช่องY9 Y10 ถึงยังเป็นวันที่ในholiday ช่องA อยู่ครับmenem wrote:ผมลองสร้างสูตรสำหรับคำนวณช่อง P และ R ให้ใหม่ (อยู่ด้านท้าย)
ลองตรวจสอบดูครับว่าตรงกับที่ต้องการหรือไม่
หลักพื้นฐานคือ การสร้างวันที่ที่ไม่ใช่วันหยุดเอาไว้อีกคอลัมน์หนึ่ง
แล้วใช้การ Match วันที่ที่คำนวณได้ อ้างอิงจากวันหยุด ถ้ามีตรงกัน
ก็แปลว่าให้เอาวันที่ที่ไม่ใช่วันหยุดมาใช้
แต่ถ้าไม่เจอ ก็แปลว่าวันดังกล่าวสามารถใช้งานได้เลย ไม่ต้องแปลงค่าอีก
หมายเหตุ : ผมไม่ได้ใช้ CountIF นะครับ
แต่จำนวนวันทำงานมันไม่ได้ครับ เหมือนมันนับรวมวันholidayไปด้วยmenem wrote:ลองแก้ไขสูตร Y5 เป็น
=IFERROR(INDEX(holiday!B:B,MATCH(ROUND((R5-((N5/S5)/150))-3,0),holiday!A:A,0)),ROUND((R5-((N5/S5)/150))-3,0))
แล้ว Copy ลงล่างครับ , เพราะเดิมผมใช้ Round เพื่อปัดค่าตามหลัก 0.5 ซึ่งในตำแหน่งนั้นผลการคำนวณน่าจะเป็นวันที่ 17
แต่พอเอาค่าที่ใช้แบบไม่ปัด จะยังแสดงเป็นวันที่ 16 อยู่ เลยทำให้ผลการคำนวณออกมาไม่ตรงกันกับที่ควรจะเป็นน่ะครับ
kitman wrote:แต่จำนวนวันทำงานมันไม่ได้ครับ เหมือนมันนับรวมวันholidayไปด้วยmenem wrote:ลองแก้ไขสูตร Y5 เป็น
=IFERROR(INDEX(holiday!B:B,MATCH(ROUND((R5-((N5/S5)/150))-3,0),holiday!A:A,0)),ROUND((R5-((N5/S5)/150))-3,0))
แล้ว Copy ลงล่างครับ , เพราะเดิมผมใช้ Round เพื่อปัดค่าตามหลัก 0.5 ซึ่งในตำแหน่งนั้นผลการคำนวณน่าจะเป็นวันที่ 17
แต่พอเอาค่าที่ใช้แบบไม่ปัด จะยังแสดงเป็นวันที่ 16 อยู่ เลยทำให้ผลการคำนวณออกมาไม่ตรงกันกับที่ควรจะเป็นน่ะครับ