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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)joo wrote:ข้อมูลในซีท del plan 22-26 ต้องคีย์ข้อมูลจัดเก็บให้เป็น Database เรียงต่อกันลงมาด้านล่างเรื่อยๆ ดังที่ท่านอาจารย์ได้แนะนำไว้ครับ ตัวอย่างเช่น ที่คอลัมน์ B ต้องคีย์ข้อมูลให้ครบทุกแถวและต้องคีย์วันที่ให้อยู่ในรูปแบบปี ค.ศ. เช่น 22/04/2013 และที่คอลัมน์ G ต้องคีย์ข้อมูลให้ครบทุกแถวเช่นกัน
ตัวอย่างการดึงข้อมูลมาแสดงที่ซีท 22APR_WI ที่เซลล์ H3 คีย์ข้อมูลให้อยู่ในรูปแบบของปี ค.ศ. เช่น 22/04/2013
ที่ H4 คีย์ชื่อของ Driver ให้ตรงกับชื่อที่มีอยู่ในซีท del plan 22-26 คอลัมน์ G
ที่ I6 คีย์สูตรเพื่อนับจำนวนของข้อมูลคือ =SUMPRODUCT(--($H$3='del plan 22-26'!B3:B64),--($H$4='del plan 22-26'!G3:G64))
ที่ A7 คีย์ =IF(ROWS(A$7:A7)>$I$5,"",ROWS(A$7:A7)) Enter > Copy ลงล่าง
ที่ B7 คีย์ =IF($A7="","",INDEX('del plan 22-26'!D$4:D$64,SMALL(IF('del plan 22-26'!$B$4:$B$64=$H$3,IF('del plan 22-26'!$G$4:$G$64=$H$4,ROW('del plan 22-26'!$G$4:$G$64)-ROW('del plan 22-26'!$G$4)+1)),ROWS($B$7:B7)))) กดแป้น Ctrl+Shift+Enter พร้อมกันจากนั้นก็คัดลอกไปทางขวาและลงล่าง นำไปประยุกต์ใช้กับซีทอื่นๆ ได้ตามต้องการ ลองดูตามไฟล์แนบครับ
somkid wrote:joo wrote:ข้อมูลในซีท del plan 22-26 ต้องคีย์ข้อมูลจัดเก็บให้เป็น Database เรียงต่อกันลงมาด้านล่างเรื่อยๆ ดังที่ท่านอาจารย์ได้แนะนำไว้ครับ ตัวอย่างเช่น ที่คอลัมน์ B ต้องคีย์ข้อมูลให้ครบทุกแถวและต้องคีย์วันที่ให้อยู่ในรูปแบบปี ค.ศ. เช่น 22/04/2013 และที่คอลัมน์ G ต้องคีย์ข้อมูลให้ครบทุกแถวเช่นกัน
ตัวอย่างการดึงข้อมูลมาแสดงที่ซีท 22APR_WI ที่เซลล์ H3 คีย์ข้อมูลให้อยู่ในรูปแบบของปี ค.ศ. เช่น 22/04/2013
ที่ H4 คีย์ชื่อของ Driver ให้ตรงกับชื่อที่มีอยู่ในซีท del plan 22-26 คอลัมน์ G
ที่ I6 คีย์สูตรเพื่อนับจำนวนของข้อมูลคือ =SUMPRODUCT(--($H$3='del plan 22-26'!B3:B64),--($H$4='del plan 22-26'!G3:G64))
ที่ A7 คีย์ =IF(ROWS(A$7:A7)>$I$5,"",ROWS(A$7:A7)) Enter > Copy ลงล่าง
ที่ B7 คีย์ =IF($A7="","",INDEX('del plan 22-26'!D$4:D$64,SMALL(IF('del plan 22-26'!$B$4:$B$64=$H$3,IF('del plan 22-26'!$G$4:$G$64=$H$4,ROW('del plan 22-26'!$G$4:$G$64)-ROW('del plan 22-26'!$G$4)+1)),ROWS($B$7:B7)))) กดแป้น Ctrl+Shift+Enter พร้อมกันจากนั้นก็คัดลอกไปทางขวาและลงล่าง นำไปประยุกต์ใช้กับซีทอื่นๆ ได้ตามต้องการ ลองดูตามไฟล์แนบครับ
ถ้าผมต้องการเปลี่ยนแปลง ช่อง driver จาก burapa เป็น wichon แล้ว file daily plan " 22apr_wi " ไม่เพิ่มชื่อ customer ให้ตรับ
ส่งตย file ที่เปลี่ยนชื่อ driver ครับsomkid wrote:joo wrote:ข้อมูลในซีท del plan 22-26 ต้องคีย์ข้อมูลจัดเก็บให้เป็น Database เรียงต่อกันลงมาด้านล่างเรื่อยๆ ดังที่ท่านอาจารย์ได้แนะนำไว้ครับ ตัวอย่างเช่น ที่คอลัมน์ B ต้องคีย์ข้อมูลให้ครบทุกแถวและต้องคีย์วันที่ให้อยู่ในรูปแบบปี ค.ศ. เช่น 22/04/2013 และที่คอลัมน์ G ต้องคีย์ข้อมูลให้ครบทุกแถวเช่นกัน
ตัวอย่างการดึงข้อมูลมาแสดงที่ซีท 22APR_WI ที่เซลล์ H3 คีย์ข้อมูลให้อยู่ในรูปแบบของปี ค.ศ. เช่น 22/04/2013
ที่ H4 คีย์ชื่อของ Driver ให้ตรงกับชื่อที่มีอยู่ในซีท del plan 22-26 คอลัมน์ G
ที่ I6 คีย์สูตรเพื่อนับจำนวนของข้อมูลคือ =SUMPRODUCT(--($H$3='del plan 22-26'!B3:B64),--($H$4='del plan 22-26'!G3:G64))
ที่ A7 คีย์ =IF(ROWS(A$7:A7)>$I$5,"",ROWS(A$7:A7)) Enter > Copy ลงล่าง
ที่ B7 คีย์ =IF($A7="","",INDEX('del plan 22-26'!D$4:D$64,SMALL(IF('del plan 22-26'!$B$4:$B$64=$H$3,IF('del plan 22-26'!$G$4:$G$64=$H$4,ROW('del plan 22-26'!$G$4:$G$64)-ROW('del plan 22-26'!$G$4)+1)),ROWS($B$7:B7)))) กดแป้น Ctrl+Shift+Enter พร้อมกันจากนั้นก็คัดลอกไปทางขวาและลงล่าง นำไปประยุกต์ใช้กับซีทอื่นๆ ได้ตามต้องการ ลองดูตามไฟล์แนบครับ
ถ้าผมต้องการเปลี่ยนแปลง ช่อง driver จาก burapa เป็น wichon แล้ว file daily plan " 22apr_wi " ไม่เพิ่มชื่อ customer ให้ตรับ
somkid wrote:somkid wrote:joo wrote:ข้อมูลในซีท del plan 22-26 ต้องคีย์ข้อมูลจัดเก็บให้เป็น Database เรียงต่อกันลงมาด้านล่างเรื่อยๆ ดังที่ท่านอาจารย์ได้แนะนำไว้ครับ ตัวอย่างเช่น ที่คอลัมน์ B ต้องคีย์ข้อมูลให้ครบทุกแถวและต้องคีย์วันที่ให้อยู่ในรูปแบบปี ค.ศ. เช่น 22/04/2013 และที่คอลัมน์ G ต้องคีย์ข้อมูลให้ครบทุกแถวเช่นกัน
ตัวอย่างการดึงข้อมูลมาแสดงที่ซีท 22APR_WI ที่เซลล์ H3 คีย์ข้อมูลให้อยู่ในรูปแบบของปี ค.ศ. เช่น 22/04/2013
ที่ H4 คีย์ชื่อของ Driver ให้ตรงกับชื่อที่มีอยู่ในซีท del plan 22-26 คอลัมน์ G
ที่ I6 คีย์สูตรเพื่อนับจำนวนของข้อมูลคือ =SUMPRODUCT(--($H$3='del plan 22-26'!B3:B64),--($H$4='del plan 22-26'!G3:G64))
ที่ A7 คีย์ =IF(ROWS(A$7:A7)>$I$5,"",ROWS(A$7:A7)) Enter > Copy ลงล่าง
ที่ B7 คีย์ =IF($A7="","",INDEX('del plan 22-26'!D$4:D$64,SMALL(IF('del plan 22-26'!$B$4:$B$64=$H$3,IF('del plan 22-26'!$G$4:$G$64=$H$4,ROW('del plan 22-26'!$G$4:$G$64)-ROW('del plan 22-26'!$G$4)+1)),ROWS($B$7:B7)))) กดแป้น Ctrl+Shift+Enter พร้อมกันจากนั้นก็คัดลอกไปทางขวาและลงล่าง นำไปประยุกต์ใช้กับซีทอื่นๆ ได้ตามต้องการ ลองดูตามไฟล์แนบครับ
ถ้าผมต้องการเปลี่ยนแปลง ช่อง driver จาก burapa เป็น wichon แล้ว file daily plan " 22apr_wi " ไม่เพิ่มชื่อ customer ให้ตรับส่งตย file ที่เปลี่ยนชื่อ driver ครับsomkid wrote:joo wrote:ข้อมูลในซีท del plan 22-26 ต้องคีย์ข้อมูลจัดเก็บให้เป็น Database เรียงต่อกันลงมาด้านล่างเรื่อยๆ ดังที่ท่านอาจารย์ได้แนะนำไว้ครับ ตัวอย่างเช่น ที่คอลัมน์ B ต้องคีย์ข้อมูลให้ครบทุกแถวและต้องคีย์วันที่ให้อยู่ในรูปแบบปี ค.ศ. เช่น 22/04/2013 และที่คอลัมน์ G ต้องคีย์ข้อมูลให้ครบทุกแถวเช่นกัน
ตัวอย่างการดึงข้อมูลมาแสดงที่ซีท 22APR_WI ที่เซลล์ H3 คีย์ข้อมูลให้อยู่ในรูปแบบของปี ค.ศ. เช่น 22/04/2013
ที่ H4 คีย์ชื่อของ Driver ให้ตรงกับชื่อที่มีอยู่ในซีท del plan 22-26 คอลัมน์ G
ที่ I6 คีย์สูตรเพื่อนับจำนวนของข้อมูลคือ =SUMPRODUCT(--($H$3='del plan 22-26'!B3:B64),--($H$4='del plan 22-26'!G3:G64))
ที่ A7 คีย์ =IF(ROWS(A$7:A7)>$I$5,"",ROWS(A$7:A7)) Enter > Copy ลงล่าง
ที่ B7 คีย์ =IF($A7="","",INDEX('del plan 22-26'!D$4:D$64,SMALL(IF('del plan 22-26'!$B$4:$B$64=$H$3,IF('del plan 22-26'!$G$4:$G$64=$H$4,ROW('del plan 22-26'!$G$4:$G$64)-ROW('del plan 22-26'!$G$4)+1)),ROWS($B$7:B7)))) กดแป้น Ctrl+Shift+Enter พร้อมกันจากนั้นก็คัดลอกไปทางขวาและลงล่าง นำไปประยุกต์ใช้กับซีทอื่นๆ ได้ตามต้องการ ลองดูตามไฟล์แนบครับ
ถ้าผมต้องการเปลี่ยนแปลง ช่อง driver จาก burapa เป็น wichon แล้ว file daily plan " 22apr_wi " ไม่เพิ่มชื่อ customer ให้ตรับ
ที่ซีท 22apr_wi เซลล์ A9 ไม่มีสูตรอยู่ครับให้ทำการคัดลอกสูตรจาก A8:H8 ลงมาด้านล่างข้อมูลก็จะลิงค์มาแสดงตามปกติครับsomkid wrote:ถ้าผมต้องการเปลี่ยนแปลง ช่อง driver จาก burapa เป็น wichon แล้ว file daily plan " 22apr_wi " ไม่เพิ่มชื่อ customer ให้ตรับ
ที่ซีท 22apr_wi เซลล์ A9 ไม่มีสูตรอยู่ครับให้ทำการคัดลอกสูตรจาก A8:H8 ลงมาด้านล่างข้อมูลก็จะลิงค์มาแสดงตามปกติครับ[/quotejoo wrote:somkid wrote:ถ้าผมต้องการเปลี่ยนแปลง ช่อง driver จาก burapa เป็น wichon แล้ว file daily plan " 22apr_wi " ไม่เพิ่มชื่อ customer ให้ตรับ
joo wrote: ลองแบบนี้ดูครับที่ H7 คีย์ =IF($A7="","",INDEX('del plan 22-26'!I$4:I$64,SMALL(IF('del plan 22-26'!$B$4:$B$64=$H$3,IF('del plan 22-26'!$G$4:$G$64=$H$4,ROW('del plan 22-26'!$G$4:$G$64)-ROW('del plan 22-26'!$G$4)+1)),ROWS($B$7:D7)))) กดแป้น Ctrl+Shift+Enter พร้อมกันแล้วคัดลอกลงด้านล่างแล้วทำการจัด format cells ตามต้องการ
เนื่องจากเป็นสูตร Array ครับ จึงต้องกดแป้นพร้อมกันเพื่อให้รับสูตรjoo wrote: กดแป้น Ctrl+Shift+Enter พร้อมกันแล้วคัดลอกลงด้านล่างแล้วทำการจัด format cells ตามต้องการ