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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)Weeknum สามารถใช้เป็น Array ได้ครับ ตัวอย่างสูตรการทำ Weeknum เป็น Array ตามด้านล่างครับDhitiBank wrote:ปล. ได้ความรู้เพิ่มมาจากกรณีนี้ว่า Weeknum ใช้แบบอาร์เรย์ไม่ได้
อ๋อ ต้องใช้ผ่านตัวกลางแบบนี้เอง ขอบพระคุณครับsnasui wrote:Weeknum สามารถใช้เป็น Array ได้ครับ ตัวอย่างสูตรการทำ Weeknum เป็น Array ตามด้านล่างครับDhitiBank wrote:ปล. ได้ความรู้เพิ่มมาจากกรณีนี้ว่า Weeknum ใช้แบบอาร์เรย์ไม่ได้
=Sumproduct(Weeknum(Row(Indirect(a2&":"&Max(A:A))))
ท่านอาจารย์ครับ แบบนี้เยี้ยมมากครับ ขอบคุณท่านมากๆครับsnasui wrote: แถมอีกตัวอย่างสูตรครับ
ที่ C2 คีย์
=CHOOSE(COLUMNS($C2:C2),IF($A2>=DATE(YEAR(MAX($A$2:$A$262)),9,20),SUM($B$2:$B2)-SUM(C$1:C1),IF(WEEKDAY($A2)=6,SUM($B$2:$B2)-SUM(C$1:C1),"")),IF(MONTH($A2)<>MONTH($A3),SUM($B$2:$B2)-SUM(C$1:C1),""),IF($A2>=DATE(YEAR(MAX($A$2:$A$262)),9,20),SUM($B$2:$B2),""),IF(LOOKUP(MONTH($A2),{1,4,7,9})<>LOOKUP(MONTH($A3),{1,4,7,9}),SUM($B$2:$B2)-SUM(C$1:C1),""))
Enter > Copy ไปด้านขวาจนถึง F2 > Copy ลงด้านล่าง
รบกวนอีกครับ เมื่อนำไปใช้จิงแล้ว มีปัญหาอยู่ว่า ในสัปดาห์หนึ่งอาจมีการเคลื่อนไหวมากที่สุดครับ จะมีปัญหาตรงที่การรวมสัปดาห์ไม่ตรงกับความต้องการครับ จะแก้ไขสูตรบนนี้อย่างไรครับDhitiBank wrote: C2 คีย์
=IF(AND(MONTH(A2)=9,DAY(A2)>19),SUMPRODUCT(--(DAY(A$2:A2)>19),--(MONTH(A$2:A2)=9),B$2:B2),IF(TEXT(A2,"[$- ]ddd")<>"Fri","",SUMPRODUCT(--(F$2:F2=F2),--(MONTH(A$2:A2)=MONTH(A2)),B$2:B2)))
Enter --> คัดลอกลงล่างครับ