snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Zuwapitch
Member
Posts: 16 Joined: Wed Jan 24, 2018 2:07 pm
#1
Post
by Zuwapitch » Tue Jan 30, 2018 10:22 am
ข้อมูลเก็บยอดขายรายวันในแต่ละร้าน 1 ร้านมีสินค้า 27 ตัว
** ต้องการสรุปโดยแบ่งตาม Zone/Area ทีละ sheet
** สรุปเป็นสัปดาห์
- รายละเอียดที่ต้องการตามไฟล์แนบค่ะ
Sheet Data = คือข้อมูลที่เก็บเป็นรายวัน
Sheet a,b,c คือผลลัพธ์ที่อยากได้ค่ะ
You do not have the required permissions to view the files attached to this post.
parakorn
Gold
Posts: 1223 Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:
#2
Post
by parakorn » Tue Jan 30, 2018 12:37 pm
ใส่ตัวอย่างคำตอบมาสักชีต จะได้เข้าใจตรงกันว่าผลลัพท์ที่ต้องการ คำนวณมาจาก Column ใดบ้างครับ
Zuwapitch
Member
Posts: 16 Joined: Wed Jan 24, 2018 2:07 pm
#3
Post
by Zuwapitch » Tue Jan 30, 2018 7:00 pm
เพิ่มตัวอย่างคำตอบอยู่ที่ Sheet ที่ต้องการ แล้วค่ะ
You do not have the required permissions to view the files attached to this post.
parakorn
Gold
Posts: 1223 Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:
#4
Post
by parakorn » Fri Feb 02, 2018 2:43 pm
ตัวอย่างสูตรตามด้านล่าง ลองทดสอบและประยุกต์ดูครับ
ที่ H1 คีย์
=IF(H7="",G1,H7)
Enter > Copy ไปทางขวาจนสุดตาราง
ที่ B4 แก้ period เป็น "18-24/1/2017"
ที่ B9 คีย์
=INDEX(Data!$J$2:$J$298,SMALL(IF(Data!$A$2:$A$298=$B$1,IF(Data!$B$2:$B$298=$B$2,IF(Data!$C$2:$C$298=$B$3,IF(Data!$D$2:$D$298=$B$4,IF(Data!$I$2:$I$298=$B$5,ROW(Data!$J$2:$J$298)-ROW(Data!$J$2)+1))))),COUNTA($H$7:$CG$7)*ROWS($B$9:$B9)))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
ที่ C9 คีย์
=INDEX(Data!$J$2:$J$298,SMALL(IF(Data!$A$2:$A$298=$B$1,IF(Data!$B$2:$B$298=$B$2,IF(Data!$C$2:$C$298=$B$3,IF(Data!$D$2:$D$298=$B$4,IF(Data!$I$2:$I$298=$B$5,ROW(Data!$J$2:$J$298)-ROW(Data!$J$2)+1))))),COUNTA($H$7:$CG$7)*ROWS($B$9:$B9)))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
Copy คำว่า Price , Unit , Baht จากชีต Data มาวางที่ F8:H8 แล้ว Copy ไปทางขวาจนสุดตาราง (ของเก่ามีวรรคด้านหลังทำให้อ้างอิงไม่ได้)
ที่ H9 คีย์
=SUMIFS(INDEX(Data!$M$2:$O$298,,MATCH(H$8,Data!$M$1:$O$1,0)),Data!$A$2:$A$298,$B$1,Data!$B$2:$B$298,$B$2,Data!$C$2:$C$298,$B$3,Data!$D$2:$D$298,$B$4,Data!$I$2:$I$298,$B$5,Data!$J$2:$J$298,$B9,Data!$G$2:$G$298,$C9,Data!$L$2:$L$298,H$1)
Enter > Copy ลงด้านล่างและไปทางขวา
ที่ D9 คีย์
=SUMIFS($H9:$CG9,$H$8:$CG$8,"Unit")
Enter > Copy ลงด้านล่าง
ที่ E9 คีย์
=SUMIFS($H9:$CG9,$H$8:$CG$8,"Baht")
Enter > Copy ลงด้านล่าง
ที่ F9 คีย์
=SUMIFS(Data!$P$2:$P$298,Data!$A$2:$A$298,$B$1,Data!$B$2:$B$298,$B$2,Data!$C$2:$C$298,$B$3,Data!$D$2:$D$298,$B$4,Data!$I$2:$I$298,$B$5,Data!$J$2:$J$298,$B9,Data!$G$2:$G$298,$C9)
Enter > Copy ลงด้านล่าง
ที่ G9 คีย์
=SUMIFS(Data!$Q$2:$Q$298,Data!$A$2:$A$298,$B$1,Data!$B$2:$B$298,$B$2,Data!$C$2:$C$298,$B$3,Data!$D$2:$D$298,$B$4,Data!$I$2:$I$298,$B$5,Data!$J$2:$J$298,$B9,Data!$G$2:$G$298,$C9)
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 ทุกครั้ง
Zuwapitch
Member
Posts: 16 Joined: Wed Jan 24, 2018 2:07 pm
#5
Post
by Zuwapitch » Mon Feb 12, 2018 10:27 am
ขอบคุณนะคะ เดี๋ยวจะลองทำดู ได้ผลยังไงเดี๋ยวแจ้งให้ทราบค่ะ ^^