Page 1 of 1

ขอถามระหว่าง Sumifs กับ sumproduct แตกต่างกันยังไงครับ

Posted: Sat Jan 11, 2020 1:30 pm
by bondham
ขอถามระหว่าง Sumifs กับ sumproduct แตกต่างกันยังไงครับ
เหมือนเป็นการรวมผลแบบหลายๆเงื่อนไข ใช่ไหมครับ และที่แตกต่างกันจริงๆคืออะไรครับ

Re: ขอถามระหว่าง Sumifs กับ sumproduct แตกต่างกันยังไงครับ

Posted: Sat Jan 11, 2020 1:46 pm
by snasui
:D แตกต่างกันตั้งแต่ความมุ่งหมายในการใช้งานแล้วครับ

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

การนำมา "นับ" หรือ "รวม" ค่าตามเงื่อนไขเป็นการใช้แบบประยุกต์ใช้ ที่ต้องประยุกต์ใช้เพราะบางการรวมที่ต้องอาศัยการสกัดค่ามาเป็นเงื่อนไข Sumif, Sumifs, Countif, Counifs ไม่สามารถทำได้ หรือทำได้แต่ให้ค่าผิดพลาดเพราะความสามารถพิเศษของฟังก์ชั่นเหล่านี้ ยกตัวอย่างเช่น 0001 กับ 01 ที่เก็บเป็น Text ฟังก์ชั่นเหล่านี้จะมองว่าค่าเท่ากัน ในขณะที่ Sumproduct มองว่าไม่เท่ากัน เป็นต้น

ส่วน Sumif, Sumifs คือการรวมแบบมีเงื่อนไข ตัวหลังจะรวมแบบหลายเงื่อนไขที่มุ่งหมายให้ใช้แบบตรงไปตรงมาเป็นหลัก

ยกตัวอย่างเปรียบเทียบ

กรณีคอลัมน์ A คือ วันที่ คอลัมน์ B คือมูลค่า

กรณีใช้ Sumif เพื่อรวมเฉพาะค่าของเดือน 1 จะทำได้ลำบาก ในขณะที่ใช้ Sumproduct สามารถทำได้อย่างง่ายดาย

เช่น เราไม่สามารถใช้ =Sumif(Month(A2:A5),1,B2:B5)) แต่สามารถใช้ =Sumproduct(--(Month(A2:A5)=1),B2:B5) ได้ เช่นนี้เป็นต้น

Re: ขอถามระหว่าง Sumifs กับ sumproduct แตกต่างกันยังไงครับ

Posted: Sat Jan 11, 2020 2:14 pm
by bondham
snasui wrote: Sat Jan 11, 2020 1:46 pm :D แตกต่างกันตั้งแต่ความมุ่งหมายในการใช้งานแล้วครับ

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

การนำมา "นับ" หรือ "รวม" ค่าตามเงื่อนไขเป็นการใช้แบบประยุกต์ใช้ ที่ต้องประยุกต์ใช้เพราะบางการรวมที่ต้องอาศัยการสกัดค่ามาเป็นเงื่อนไข Sumif, Sumifs, Countif, Counifs ไม่สามารถทำได้ หรือทำได้แต่ให้ค่าผิดพลาดเพราะความสามารถพิเศษของฟังก์ชั่นเหล่านี้ ยกตัวอย่างเช่น 0001 กับ 01 ที่เก็บเป็น Text ฟังก์ชั่นเหล่านี้จะมองว่าค่าเท่ากัน ในขณะที่ Sumproduct มองว่าไม่เท่ากัน เป็นต้น

ส่วน Sumif, Sumifs คือการรวมแบบมีเงื่อนไข ตัวหลังจะรวมแบบหลายเงื่อนไขที่มุ่งหมายให้ใช้แบบตรงไปตรงมาเป็นหลัก

ยกตัวอย่างเปรียบเทียบ

กรณีคอลัมน์ A คือ วันที่ คอลัมน์ B คือมูลค่า

กรณีใช้ Sumif เพื่อรวมเฉพาะค่าของเดือน 1 จะทำได้ลำบาก ในขณะที่ใช้ Sumproduct สามารถทำได้อย่างง่ายดาย

เช่น เราไม่สามารถใช้ =Sumif(Month(A2:A5),1,B2:B5)) แต่สามารถใช้ =Sumproduct(--(Month(A2:A5)=1),B2:B5) ได้ เช่นนี้เป็นต้น
ขอบคุณครับ
Sumproduct หากมีเงื่อนไขให้ตรวจสอบ 2 เงื่อนไข คือ "งานทั่วไป" "Reworks" สามารถใส่ได้แบบไหนครับ เป็น 2 ภาษา

SUMPRODUCT(--(Data!$G$2:$G$162<="งานทั่วไป","Reworks"),Data!$D$2:$D$162)
แบบนี้ได้ไหมครับ

Re: ขอถามระหว่าง Sumifs กับ sumproduct แตกต่างกันยังไงครับ

Posted: Sat Jan 11, 2020 2:36 pm
by snasui
:D สามารถเขียนเป็นข้างล่างครับ

=SUMPRODUCT(--Isnumber(Match(Data!$G$2:$G$162,{"งานทั่วไป","Reworks"},0)),Data!$D$2:$D$162) หรือ

=SUMPRODUCT(--Isnumber(Search(Data!$G$2:$G$162,"งานทั่วไปReworks")),Data!$D$2:$D$162)

Re: ขอถามระหว่าง Sumifs กับ sumproduct แตกต่างกันยังไงครับ

Posted: Mon Jan 13, 2020 11:14 am
by bondham
snasui wrote: Sat Jan 11, 2020 2:36 pm :D สามารถเขียนเป็นข้างล่างครับ

=SUMPRODUCT(--Isnumber(Match(Data!$G$2:$G$162,{"งานทั่วไป","Reworks"},0)),Data!$D$2:$D$162) หรือ

=SUMPRODUCT(--Isnumber(Search(Data!$G$2:$G$162,"งานทั่วไปReworks")),Data!$D$2:$D$162)
ขออีก 1 คำถามครับ
ตรง --Isnumber(Match(Data!$G$2:$G$162,{"งานทั่วไป","Reworks"},0))
ถ้า {"งานทั่วไป","Reworks"} เราเก็บไว้ อีก ตาราง เราสามารถคีย์ได้แบบไหนครับ เช่นเป็นข้อมูลที่เก๋บอยู่ที่
SheetA
2020-01-13_11-15-04.jpg
ขอบพระคุณมากๆครับ

Re: ขอถามระหว่าง Sumifs กับ sumproduct แตกต่างกันยังไงครับ

Posted: Mon Jan 13, 2020 9:55 pm
by snasui
bondham wrote: Mon Jan 13, 2020 11:14 am ถ้า {"งานทั่วไป","Reworks"} เราเก็บไว้ อีก ตาราง เราสามารถคีย์ได้แบบไหนครับ เช่นเป็นข้อมูลที่เก็บอยู่ที่
SheetA
จาก {"งานทั่วไป","Reworks"} ก็ให้เปลี่ยนเป็นช่วงข้อมูลที่ต้องการนำมาเปรียบเทียบ ก็จะกลายเป็น เช่น SheetA!$A$2:$A$160 เป็นต้นครับ