Page 1 of 1

ทำชีทสรุปโดยดึงข้อมูลจากหลายๆชีท ซึ่งชีทข้อมูลมีเพิ่มตลอดยังไงครับ

Posted: Wed Oct 04, 2017 5:39 pm
by ohyeahaha
ตอนนี้ผมกำลังทำชีทสรุปรวมตัวเลขของแต่ละอาทิตย์ ซึ่งข้อมูลของแต่ละอาทิตย์จะแบ่งอยู่ในชีทแยก เช่น ข้อมูลในอาทิตย์ที่ 1 จะอยู่ในชีท A, ข้อมูลในอาทิตย์ที่ 2 จะอยู่ในชีท B, ข้อมูลในอาทิตย์ที่ 3 จะอยู่ในชีท C และข้อมูลรวมจะอยู่ในชีท Summary ซึ่งในแต่ละชีทตำแหน่งข้อมูลที่ต้องการจะบวกอยู่ที่เดียวกัน.
ผมใช้สูตร =sum('A:C'!B2) ในการบวกข้อมูลทั้งหมดในชีท Summary แต่ปัญหาคือชีทข้อมูลมันจะเพิ่มขึ้นเรื่อยๆในอนาคตเป็น D,E,F,... ผมจึงสร้างเซลล์ที่ไว้ใส่ชื่อชีทข้อมูลในหน้า Summary เพื่อเวลามีชีทข้อมูลใหม่ขึ้นมา ผมจะกรอกชื่อชีทใหม่ในเซลล์นั้นแล้วให้ excel ทำการรวมเลขให้เอง โดยไม่ต้องมานั่งแก้เองทุกช่อง เช่น เซลล์ A2 เป็นเซลล์ที่ไว้อัพเดททุกอาทิตย์ โดยอาทิตย์หน้าจะเปลี่ยนจาก C เป็น D ผมอยากเขียนสูตรแบบ =sum('A:A2'!B2) แต่ลองแล้วมันทำไม่ได้ รูปแบบตามไฟล์ที่แนบไว้เลยครับ ไม่ทราบว่าจะต้องเขียนสูตรยังไงครับ หรือมีวิธีอื่นที่เป็นทางเลือกไหมครับ ขอบคุณครับ
Report.xlsx

Re: ทำชีทสรุปโดยดึงข้อมูลจากหลายๆชีท ซึ่งชีทข้อมูลมีเพิ่มตลอดยังไงครับ

Posted: Wed Oct 04, 2017 6:15 pm
by parakorn
ต้องการ Sum ข้อมูลทุกๆชีทตลอดเลยใช่ไหมครับ

แนะนำให้สร้างชีทหลอกไว้ 1ชีท ไว้ท้ายสุดก่อนถึงชีท Summary
โดยอ้างอิงสูตรคำนวณไปถึงชีทนั้น เมื่อมีชีทใหม่ๆที่เพิ่มขึ้นมาก็นำมาแทรกเรื่อยๆ
แค่นี้ผลลัพท์จากชีทที่สร้างใหม่ ก็จะถูกประมวลผลที่ Sheet Summary โดยไม่ต้องปรับอะไรเลยครับ

Re: ทำชีทสรุปโดยดึงข้อมูลจากหลายๆชีท ซึ่งชีทข้อมูลมีเพิ่มตลอดยังไงครับ

Posted: Wed Oct 04, 2017 7:24 pm
by snasui
:D สำมารถทำตามด้านล่างได้ครับ

ที่ชีต Summary
  1. เซลล์ F1 คีย์คำว่า Sheet หรือคำอื่นใดเพื่อใช้เป็นหัวคอลัมน์
  2. ที่เซลล์ F2 เป็นต้นไปคีย์ชื่อชีตทั้งหมดที่ต้องการจะนำค่ามารวมกัน โดยคีย์เรียงต่อกันไปทางด้านล่าง จากนั้นเข้าเมนู Formulas > Name Manager > คลิก Name ที่มีอยู่แล้วคือ Sheetlists > Edit > ที่ช่อง Refers to: คีย์สูตร =OFFSET(Summary!$F$2,0,0,COUNTA(Summary!$F:$F)-1) > Close
  3. เซลล์ B4 คีย์สูตร
    =SUMPRODUCT(SUMIF(INDIRECT("'"&Sheetlists&"'!a4:a1000"),$A4,OFFSET(INDIRECT("'"&Sheetlists&"'!b4:b1000"),0,COLUMNS($B4:B4)-1)))
    Enter > Copy ไปด้านขวาและลงด้านล่าง