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

แตกต่างกันตั้งแต่ความมุ่งหมายในการใช้งานแล้วครับ
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

แตกต่างกันตั้งแต่ความมุ่งหมายในการใช้งานแล้วครับ
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

สามารถเขียนเป็นข้างล่างครับ
=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

สามารถเขียนเป็นข้างล่างครับ
=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 เป็นต้นครับ