Vba: วิธีเขียนฟังก์ชัน sumif และ sumifs
คุณสามารถใช้วิธีต่อไปนี้เพื่อเขียนฟังก์ชัน SUMIF และ SUMIFS โดยใช้ VBA ใน Excel:
วิธีที่ 1: ฟังก์ชัน SUMIF ใน VBA
SubSumif_Function ()
Range(" E2 ") = WorksheetFunction.Sumif(Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "))
End Sub
ตัวอย่างนี้จะรวมค่าในช่วง B2:B12 เฉพาะเมื่อค่าที่สอดคล้องกันในช่วง A2:A12 เท่ากับ “Mavs” และกำหนดผลลัพธ์ให้กับเซลล์ E2 .
วิธีที่ 2: ฟังก์ชัน SUMIFS ใน VBA
Sub Sumifs_Function()
Range(" E2 ") = WorksheetFunction.SumIfs(Range(" C2:C12 "), Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "), " >20 ")
End Sub
ตัวอย่างนี้จะรวมค่าในช่วง C2:C12 เฉพาะเมื่อค่าในช่วง A2:A12 เท่ากับ “Mavs” และ ค่าในช่วง B2:B12 มากกว่า 20 จากนั้นกำหนดผลลัพธ์ให้กับเซลล์ E2 .
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับชุดข้อมูลต่อไปนี้ใน Excel ที่มีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:
ตัวอย่างที่ 1: ฟังก์ชัน SUMIF ใน VBA
สมมติว่าเราต้องการคำนวณผลรวมของค่าในคอลัมน์คะแนนสำหรับผู้เล่นที่อยู่ในทีม Mavs เท่านั้น
เราสามารถสร้างแมโครต่อไปนี้เพื่อดำเนินการฟังก์ชัน SUMIF นี้:
SubSumif_Function ()
Range(" E2 ") = WorksheetFunction.Sumif(Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "))
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดสังเกตว่าเซลล์ E2 มีค่า 73
นี่แสดงถึงผลรวมของค่าในคอลัมน์คะแนนสำหรับผู้เล่นทีม Mavs
เราสามารถตรวจสอบได้ว่าสิ่งนี้ถูกต้องโดยการคำนวณผลรวมของค่าในคอลัมน์คะแนนสำหรับผู้เล่นในทีม Mavs ด้วยตนเอง:
ผลรวมคะแนนสำหรับผู้เล่น Mavs: 22 + 10 + 29 + 12 = 73
ตัวอย่างที่ 2: ฟังก์ชัน SUMIFS ใน VBA
สมมติว่าเราต้องการคำนวณผลรวมของค่าในคอลัมน์ช่วยเหลือสำหรับผู้เล่นที่มีคุณสมบัติตรงตามเกณฑ์ต่อไปนี้เท่านั้น:
- ผู้เล่นเป็นส่วนหนึ่งของทีม Mavs
- ผู้เล่นทำคะแนนได้มากกว่า 20 คะแนน
เราสามารถสร้างแมโครต่อไปนี้เพื่อดำเนินการฟังก์ชัน SUMIFS นี้:
Sub Sumifs_Function()
Range(" E2 ") = WorksheetFunction.SumIfs(Range(" C2:C12 "), Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "), " >20 ")
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดสังเกตว่าเซลล์ E2 มีค่า 18
นี่แสดงถึงผลรวมของค่าในคอลัมน์คะแนนสำหรับผู้เล่นในทีม Mavs ที่ทำคะแนนได้มากกว่า 20 คะแนน
หมายเหตุ : ในตัวอย่างนี้ เราได้สร้างฟังก์ชัน SUMIFS โดยใช้ช่วงเกณฑ์สองช่วง แต่คุณสามารถใช้ช่วงเกณฑ์ได้มากเท่าที่คุณต้องการในเมธอด WorksheetFunction.SumIfs
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีเขียนฟังก์ชัน COUNTIF และ COUNTIFS
VBA: วิธีเขียนฟังก์ชัน AVERAGEIF และ AVERAGEIFS