Loveman wrote:SUMPRODUCT(--($B$3:$B$8=C$13),--($C$3:$C$8=$B14),$D$3:$D$8)
ไอ้ตรง--
มันคือไรครับ
ขอบคุณมากครับ
สูตรด้านบนเป็นสูตรสำหรับการ
หายอดรวมในช่วง D3:D8 โดยมี 2 เงื่อนไขครับ คือ
1. B3:B8 มีค่าเท่ากับ C13
2. C3:C8 มีค่าเท่ากับ B14
ช่วงเงื่อนไขใน Sumproduct มันจะมีเครื่องหมายเปรียบเทียบอยู่ด้วยครับ เช่น >, <, >=, <=, = เช่นนี้เป็นต้น ซึ่งสูตรข้างบนนี้จะใช้เครื่องหมาย = อยู่ใน 2 ช่วงแรกครับ
การเปรียบเทียบจะได้ผลลัพธ์ได้ 2 ค่าครับคือ True และ False
ทั้งสองเงื่อนไขตามสูตรด้านบน ถ้าพบว่าเท่ากันก็จะเป็น True ถ้าไม่เท่ากันก็จะได้เป็น False แต่ค่า True และ False ที่ได้นี้ยังไม่สามารถนำไปคำนวณต่อได้ เนื่องจากสูตร Sumproduct มองเสมือนว่าเป็น Text
จะต้องแปลงให้เป็นตัวเลขก่อนครับ การแปลงให้เป็นตัวเลขก็ให้ใส่เครื่องหมาย -- เข้าไปด้านหน้า หรือเอา 0 เข้าไปบวกของช่วงเงื่อนไขแต่ละช่วงก็ได้
การใส่ -- ด้านหน้าหรือ +0 เข้าไปในช่วงเงื่อนไข จะทำให้แปลง True เป็น 1 และแปลง False เป็น 0 ซึ่งสามารถนำไปคำนวณต่อได้ทั้งนี้เพราะในแต่ละช่วงเงื่อนไขของ Sumproduct นั้นกระทำกันโดยการ
คูณกันครับ
แต่ถ้าเราใส่เครื่องหมายคูณเข้าไปแทนเครื่องหมาย , ใน Sumproduct เลย เช่น
SUMPRODUCT(($B$3:$B$8=C$13)*($C$3:$C$8=$B14)*$D$3:$D$8)
ก็จะได้คำตอบเหมือนกันครับ แต่สูตรแบบนี้ไม่ได้ใช้แบบธรรมชาติ เป็นการใช้แบบบังคับ หากสูตรมีปริมาณมากแล้วจะทำให้คำนวณช้าลงกว่าสูตรที่ใช้แบบ -- หรือบวกด้วย 0 ครับ