impim wrote:
อธิบายสูตรให้หน่อยได้ไหมค่ะ
ได้ครับ สูตร Sumproduct นำมาใช้หาผลรวมกรณีมีหลายเงื่อนไขได้ (หรือถ้าจำไม่ผิดหากเป็น excel 2007 ขึ้นไปก็ใช้ Sumifs ได้ แต่จะไปเปิดใน 2003 แล้วจะ error ก็เลยแนะนำ sumproduct)
ลักษณะการทำงานคือ สูตรนี้จะนำเลขในช่วงแต่ละช่วง มาคูณในตำแหน่งเดียวกัน พอคูณเสร็จแล้วก็จะเอามาบวกกัน ผลบวกจะเป็นคำตอบ เช่น
=SUMPRODUCT({2,2,2},{0,1,2}) = SUMPRODUCT({2x0,2x1,2x2}) = SUMPRODUCT({0,2,4}) = (0+2+4) = 6
แบบนี้เลยเอามาใช้ประโยชน์ได้กรณีมีเงื่อนไขหลายๆ อย่าง เช่น จากสูตรด้านบน
=SUMPRODUCT($C$4:$C$58,
--(--($A$4:$A$58)=G$2),
--($D$4:$D$58=$F3),
--(--($B$4:$B$58)=55))
เงื่อนไขของคุณคือ
เดือน รหัสพนักงาน และ
ปี
ที่ใส่สีไว้คือเงื่อนไขที่ต้องตรวจสอบครับ เช่น
--(--($A$4:$A$58)=G$2)
เอาเดือนในคอลัมน์ A มาตรวจว่าเท่ากับเลขเดือนใน G2 หรือไม่
เหตุที่ต้องมี "--" อยู่หน้าช่วงในคอลัมน์ A เนื่องจากในช่วงดังกล่าวมีทั้งตัวเลขในรูปแบบข้อความ และตัวเลขที่เป็นตัวเลขจริงๆ ดังนั้นจึงใส่ "--" ไว้ด้านหน้าเพื่อแปลงตัวเลขในรูปแบบข้อความ ให้กลายเป็นตัวเลขที่เอามาบวกลบคูณหารได้ครับ ("--" หมายถึง การคูณด้วย -1 สองครั้ง ลบลบคูณกันได้บวก) พอตรวจเสร็จก็จะได้ True, False สมมติว่า
--({True,False}) พอเจอ "--" ข้างหน้า True False ก็จะกลายเป็น 1 และ 0 นั้นคือ หลังจากเทียบแล้ว ตรงเงื่อนไขก็จะเป็น 1 ไม่ตรงก็ 0
เงื่อนไขทุกข้อจะถูกตรวจสอบในลักษณะนี้ หากมีข้อมูลแถวไหนตรงเงื่อนไขหมด ก็จะได้ 1 ในตำแหน่งเดียวกันทั้งหมด พอคูณกันก็จะได้ 1 ไม่ว่าเลขอะไรคูณกับ 1 ก็จะได้ตัวมันเอง นั่นคือยอดขายที่อยู่ในเงื่อนไขซ้ายสุดครับ
impim wrote:
ถ้าอยากเขียนสูตรแบบนี้เป็นบ้างต้องทำอย่างไรค่ะ..
ขอคำแนะนำหน่อยค่ะ
ถ้าอยากเขียนได้ก็ต้องพยายามทำความเข้าใจสูตรครับ จากนั้นก็ลองเขียนดู ลองศึกษาเพิ่มเติมในบอร์ดนี้ก็ได้โดยค้นหาจากเมนูด้านบน (ใส่ชื่อสูตรลงไปเลยก็ได้ แล้วเลือกกระทู้ที่มีสูตรสั้นๆ ก่อนเพื่อจะเข้าใจง่าย) แล้วก็เทคนิคการแกะสูตรคือ
ลากคลุม --> F9 --> ESC
หรือ
เลือกเซลล์ที่มีสูตร --> Formula --> Evaluate formula
จะช่วยคุณได้ครับ