ต้องการรวมข้อมูลในแต่ละชีทอยู่ในชีทเดียว
Posted: Mon Oct 08, 2018 12:55 am
ุผมมีข้อมูลสินค้าออกทั้งหมด 7 เดือนซึ่งแยกกันอยู่คนละ sheet อยากให้มารวมอยู่ในชีทเดียวกันและ รวมจำนวนสินค้าที่มีรุ่นเดียวกันทั้งหมด 7 เดือนมีสูตรอะไรบ้างครับ
ฟอรัม Excel, VBA และอื่นๆ ของคนไทยเพื่อประโยชน์ของทุกคนในจักรวาล (Forum Excel, VBA and others of Thai people for everyone in the universe.)
https://snasui.com/
ขอบคุณมากครับผมรบกวนอีกหน่อยครับ ตรงรุ่นสินค้าเราจะย้ายมารวมชีทได้ยังไงบ้างครับ ในแต่ละเดือนรุ่นสินค้ามีซ้ำบ้างไม่มีบ้างจะรวมยังไงให้ครบและไม่ซ้ำกันครับsnasui wrote: Mon Oct 08, 2018 6:55 am ตัวอย่างสูตรตามด้านล่างครับ
- ที่ E2:E3 คีย์ชื่อชีตที่จะนำข้อมูลมารวมกัน ตามตัวอย่างไฟล์ที่แนบมาคือ Sheet1, Sheet2 ตามลำดับ
Enter > Copy ลงด้านล่าง- ที่ B2 คีย์
=SUMPRODUCT(SUMIF(INDIRECT("'"&$E$2:$E$3&"'!A2:A100"),A2,INDIRECT("'"&$E$2:$E$3&"'!B2:B100")))
Enter > Copy ลงด้านล่าง
! | Note: Ctrl+Shift+Enter เป็นการสร้างสูตร Array โดยสามารถเลือกดำเนินการตามข้อ 1 หรือ 2 ด้านล่าง
|
ผมลองทำแล้วมันได้ค่าซ้ำ ผมผิดส่วนไหนหรือเปล่าครับsnasui wrote: Mon Oct 08, 2018 9:05 pm ตัวอย่างสูตรที่ Sheet3 ตามด้านล่างครับ
- เซลล์ E1, F1, H1, I1 คีย์ PrdList, SheetList, SheetName, Count เพื่อเป็นหัวคอลัมน์ตามลำดับ
- ที่ H2:H3 คีย์ชื่อชีตคือ Sheet1, Sheet2 มีกี่ชีตก็คีย์เรียงลงไปด้านล่างตามต้องการ
- ที่ I2 คีย์
=COUNT(INDIRECT("'"&H2&"'!B2:B1000"))
Enter > Copy ลงด้านล่างถึง I3- ที่ F2 คีย์
=IF(ROWS(F$2:F2)>SUM($I$2:$I$3),"",LOOKUP(ROWS(F$2:F2),SUBTOTAL(9,OFFSET($I$2,0,0,ROW($I$2:$I$3)-ROW($I$2)+1))-SUBTOTAL(9,OFFSET($I$2,ROW($I$2:$I$3)-ROW($I$2),0))+1,$H$2:$H$3))
Enter > Copy ลงด้านล่างถึง F3- ที่ E2 คีย์
=IF(F2="","",INDIRECT("'"&F2&"'!A"&COUNTIF(F$2:F2,F2)+1))
Enter > Copy ลงด้านล่างจนเห็นเป็นค่าว่าง- ที่ A2 คีย์
=IFERROR(INDEX(Sheet3!$E$2:$E$1000,SMALL(IF(FREQUENCY(IF(Sheet3!$E$2:$E$1000<>"",MATCH(Sheet3!$E$2:$E$1000,Sheet3!$E$3:$E$1001,0)),ROW(Sheet3!$E$2:$E$1000)-ROW(Sheet3!$F$2)+1),ROW(Sheet3!$E$2:$E$1000)-ROW(Sheet3!$F$2)+1),ROWS(A$2:A2))),"")
Ctrl+Shift+Enter > Copy ลงด้านล่างจนเห็นเป็นค่าว่าง
!Note: Ctrl+Shift+Enter
เป็นการสร้างสูตร Array โดยสามารถเลือกดำเนินการตามข้อ 1 หรือ 2 ด้านล่าง
- กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น
Ctrl และ Shift พร้อมกันค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array- กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อน
จากนั้นกดแป้น Ctrl และ Shift พร้อมกันค้างไว้แล้วตามด้วย Enter เพื่อสร้างเป็นสูตร Array- หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)}
ปีกกานี้ไม่สามารถคีย์เข้าไปเอง จะต้องมาด้วยการกดแป้น Ctrl+Shift+Enter เท่านั้น
ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง- การแก้ไขเปลี่ยนแปลงสูตร Array จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ทุกครั้ง
ไม่ค่อยคล่องต้องขอโทษด้วยนะครับ ตามไฟล์ด้านล่างครับparakorn wrote: Tue Oct 09, 2018 9:55 am ลองปรับรูปให้มีขนาดเล็กลงครับ หากไม่แนบรูปในบอร์ด จะมีผลทำให้ผู้ที่เข้ามาศึกษาในภายภาคหน้าเปิดรูปไม่ได้ครับ
A2 ถึง A8 คือผลลัพท์ตามที่ต้องการ ซ้ำตรงไหนครับ ลองแนบไฟล์ที่ได้ทดลองทำ และแจ้งปัญหามาดูครับ
ที่ A2 ปรับเป็น=IFERROR(INDEX($E$2:$E$1000,SMALL(IF(FREQUENCY(IF($E$2:$E$1000<>"",MATCH($E$2:$E$1000,$E$2:$E$1000,0)),ROW($E$2:$E$1000)-ROW($F$2)+1),ROW($E$2:$E$1000)-ROW($F$2)+1),ROWS(A$2:A2))),"")n9c5 wrote: Tue Oct 09, 2018 11:23 amไม่ค่อยคล่องต้องขอโทษด้วยนะครับ ตามไฟล์ด้านล่างครับparakorn wrote: Tue Oct 09, 2018 9:55 am ลองปรับรูปให้มีขนาดเล็กลงครับ หากไม่แนบรูปในบอร์ด จะมีผลทำให้ผู้ที่เข้ามาศึกษาในภายภาคหน้าเปิดรูปไม่ได้ครับ
A2 ถึง A8 คือผลลัพท์ตามที่ต้องการ ซ้ำตรงไหนครับ ลองแนบไฟล์ที่ได้ทดลองทำ และแจ้งปัญหามาดูครับ
ขอบคุณที่ช่วยแก้ให้ครับ
ยินดีครับอาจารย์ ช่วงนี้ไม่ได้เข้ามานานมากเลยครับ งานเยอะมากๆ ไม่ได้มาลับสมองเลยครับ
ขอบคุณมากครับ ผมเจอปัญหาอีกอย่างนึงครับ พอได้รุ่นสินค้า จำนวนมาแล้ว ผม sort ข้อมูลให้จำนวนมากสุดเรียงไปน้อย แล้วมันกลับมาเหมือนเดิมครับ(เข้าใจว่าอาจจะติดจากสูตร) ไม่ราบว่าพอมีวิธีไหนในการจัดเรียงบ้างมั้ยครับpuriwutpokin wrote: Tue Oct 09, 2018 12:56 pmparakorn wrote: Tue Oct 09, 2018 9:55 am ลองปรับรูปให้มีขนาดเล็กลงครับ หากไม่แนบรูปในบอร์ด จะมีผลทำให้ผู้ที่เข้ามาศึกษาในภายภาคหน้าเปิดรูปไม่ได้ครับ
A2 ถึง A8 คือผลลัพท์ตามที่ต้องการ ซ้ำตรงไหนครับ ลองแนบไฟล์ที่ได้ทดลองทำ และแจ้งปัญหามาดูครับ
ที่ A2 ปรับเป็น=IFERROR(INDEX($E$2:$E$1000,SMALL(IF(FREQUENCY(IF($E$2:$E$1000<>"",MATCH($E$2:$E$1000,$E$2:$E$1000,0)),ROW($E$2:$E$1000)-ROW($F$2)+1),ROW($E$2:$E$1000)-ROW($F$2)+1),ROWS(A$2:A2))),"")
แล้ว กด Ctrl+Shift+Enter ครับ ลากลงครับ ส่วนสูตร ของอาจารย์ ตัวอื่นไม่ต้องกด Ctrl+Shift+Enter
ใช่ครับ เป็นที่สูตร เนื่องจากเป็นการดึงข้อมูลมาจากชีทหลายชีท ซึ่ง ต้องคงต้อง คัดลอก ข้อมูลที่ได้แล้ว ไปว่างเป็นค่าที่ชีทอื่น เพื่อให้เรียงข้อมูลครับn9c5 wrote: Wed Oct 10, 2018 11:43 amขอบคุณมากครับ ผมเจอปัญหาอีกอย่างนึงครับ พอได้รุ่นสินค้า จำนวนมาแล้ว ผม sort ข้อมูลให้จำนวนมากสุดเรียงไปน้อย แล้วมันกลับมาเหมือนเดิมครับ(เข้าใจว่าอาจจะติดจากสูตร) ไม่ราบว่าพอมีวิธีไหนในการจัดเรียงบ้างมั้ยครับpuriwutpokin wrote: Tue Oct 09, 2018 12:56 pmparakorn wrote: Tue Oct 09, 2018 9:55 am ลองปรับรูปให้มีขนาดเล็กลงครับ หากไม่แนบรูปในบอร์ด จะมีผลทำให้ผู้ที่เข้ามาศึกษาในภายภาคหน้าเปิดรูปไม่ได้ครับ
A2 ถึง A8 คือผลลัพท์ตามที่ต้องการ ซ้ำตรงไหนครับ ลองแนบไฟล์ที่ได้ทดลองทำ และแจ้งปัญหามาดูครับ
ที่ A2 ปรับเป็น=IFERROR(INDEX($E$2:$E$1000,SMALL(IF(FREQUENCY(IF($E$2:$E$1000<>"",MATCH($E$2:$E$1000,$E$2:$E$1000,0)),ROW($E$2:$E$1000)-ROW($F$2)+1),ROW($E$2:$E$1000)-ROW($F$2)+1),ROWS(A$2:A2))),"")
แล้ว กด Ctrl+Shift+Enter ครับ ลากลงครับ ส่วนสูตร ของอาจารย์ ตัวอื่นไม่ต้องกด Ctrl+Shift+Enter