Page 1 of 1

Sumproduct หลายชีทรวมกัน

Posted: Fri Jun 03, 2011 5:51 pm
by Kapoon24
อาจารย์ครับพอดีผมอยากรวมผลผลิตหลายชีทรวมกัน แต่ติดตรงที่ product มันมีหลายชิ้น เลยไม่รู้จะรวมยังไงครับ ขอบคุณครับ

Re: Sumproduct หลายชีทรวมกัน

Posted: Fri Jun 03, 2011 5:58 pm
by snasui
:D ถ้าแยก Product ด้วย No สูตรควรจะเป็นด้านล่างครับ

ที่ C3 คีย์

=SUMPRODUCT(SUMIF(INDIRECT("'"&Allsh&"'!"&"$b$4:$b$5"),$B3,INDIRECT("'"&Allsh&"'!"&"$c$4:$c$5")))

Enter > Copy ลงด้านล่าง

Re: Sumproduct หลายชีทรวมกัน

Posted: Fri Jun 03, 2011 6:04 pm
by Kapoon24
ขอบคุณครับอาจารย์

Re: Sumproduct หลายชีทรวมกัน

Posted: Fri Jun 03, 2011 6:26 pm
by Kapoon24
อาจารย์ครับแล้วถ้าผมเพิ่ม Order ขึ้นมาละครับ ผมจะเขียนสูตรยังไงครับ

Re: Sumproduct หลายชีทรวมกัน

Posted: Fri Jun 03, 2011 8:11 pm
by snasui
:D สร้างคอลัมน์เงื่อนไขขึ้นมาต่างหากแล้วค่อยใช้สูตรอ้างอิงเงื่อนไขนั้น

ผมทำตัวอย่างให้แล้วตามไฟล์แนบโดยเพิ่มคอลัมน์ที่ใช้เป็นเงื่อนไขที่คอลัมน์ D ของแต่ละชีทครับ

Re: Sumproduct หลายชีทรวมกัน

Posted: Sat Jun 04, 2011 10:19 am
by Kapoon24
ได้ตามที่ต้องการเลยครับอาจารย์ขอบคุณมากๆครับผม :P

Re: Sumproduct หลายชีทรวมกัน

Posted: Thu Jan 19, 2012 9:57 am
by bank9597
:D ขอบคุณมากครับ ขอเก็บไว้เป็นความรู้ต่อไป

Re: Sumproduct หลายชีทรวมกัน

Posted: Tue Jan 24, 2012 11:00 am
by nopanan
ขอแอบมาเก็บความรู้ด้วยคนครับ :)

Re: Sumproduct หลายชีทรวมกัน

Posted: Wed Jan 22, 2014 10:22 am
by sakuna.c
พยายามปรับสูตรเพื่อนำมาใช้แต่ไม่สำเร็จค่ะ แนบไฟล์มาให้ดูค่ะ

Re: Sumproduct หลายชีทรวมกัน

Posted: Wed Jan 22, 2014 10:30 am
by snasui
:D เงื่อนไขการรวมของทุกชีทคืออะไร ต้องการนำค่าใดมารวมกัน ช่วยแจ้่งมาด้วยครับ

Re: Sumproduct หลายชีทรวมกัน

Posted: Wed Jan 22, 2014 10:46 am
by sakuna.c
เงื่อนไขคือ WEEKค่ะ ต้องการรวมค่าในคอลัมที่เป็น WEEK เดียวกันค่ะใน sheet สุดท้ายค่ะ สามารถใช้สูตร=SUM('DYG180:DJR180'!R2)นี้ได้ในกรณีที่คอลัมตรงกันค่ะ แต่ถ้าคอลัมไม่ตรงกันจะสามารถใช้สูตรไหนได้บ้างคะ

Re: Sumproduct หลายชีทรวมกัน

Posted: Wed Jan 22, 2014 11:04 am
by snasui
:D จากไฟล์ที่แนบมา
  1. ที่ G16 เป็นต้นไปต้องเป็นชื่อชีททั้งหมดที่ต้องการรวม
  2. ที่ J2 ปรับสูตรเป็น
    =SUMPRODUCT(SUMIF(INDIRECT("'"&WEEK&"'!"&"$J$1:$X$1"),J$1,INDIRECT("'"&WEEK&"'!"&"$J$"&ROWS(J$1:J2)&":"&"$X$"&ROWS(J$1:J2))))
    Enter > Copy ไปด้านขวาและลงด้านล่าง

Re: Sumproduct หลายชีทรวมกัน

Posted: Wed Jan 22, 2014 11:32 am
by sakuna.c
:D ขอบคุณมากๆค่ะ ทำได้แล้วค่ะ
แต่ช่วยอธิบายความหมายสูตร =SUMPRODUCT(SUMIF(INDIRECT("'"&WEEK&"'!"&"$J$1:$X$1"),J$3,INDIRECT("'"&WEEK&"'!"&"$J$"&ROWS(J$3:J4)&"")))
ตรงสีแดงได้ไหมคะ

Re: Sumproduct หลายชีทรวมกัน

Posted: Wed Jan 22, 2014 12:09 pm
by snasui
:D ในเบื้องต้นต้องเข้าใจ Indirect เป็นอย่างดีก่อน จึงจะทำความเข้าใจสูตรนั้นได้ครับ

Indirect เป็นการอ้างอิงโดยทางอ้อม

ยกตัวอย่างเซลล์ A1 มีค่าเป็น Text คือ "B10" และที่เซลล์ B10 มีค่าเป็นตัวเลข 5

หากในเซลล์ใดๆ คีย์สูตรเป็น

=Indirect(a1) ผลลัพธ์จะได้ 5 ซึ่งเลข 5 คือค่าในเซลล์ B10 เช่นนี้เรียกว่าเป็นการอ้างอิงทางอ้อมเพราะแทนที่จะเขียนเป็น =B10 แต่ไปเขียนเป็น =Indirect(a1)

จาก =Indirect(a1) มีค่าเทียบเท่ากับ =Indirect("B10") เพราะค่าใน A1 คือ B10 ในเซลล์ใด ๆ เราสามารถเขียนเป็น

=Indirect("B10") ได้เช่นกัน ซึ่งเป็นการใช้ตามลักษณะโจทย์ที่ถามมานี้

จาก Indirect("B10") เราสามารถเขียนได้เป็น

=Indirect("B"&1&0) หรือ
=Indirect("B"&10) หรือ
=Indirect(Char(66)&Char(49)&Char(48))
ฯลฯ

ซึ่งจะเห็นได้ว่าเป็นการสร้างให้ Dynamic ก็สามารถทำได้ แล้วแต่เงื่อนไขและความมุ่งหมายในการใช้งาน

การใช้ =Indirect(กลุ่มชีท&ช่วงเซลล์) เป็นการใช้แบบประยุกต์เพื่อให้หาข้อมูลจากหลายชีทได้พร้อมกันเมื่อใช้ร่วมกับ Sumif, Sumproduct ฯลฯ