Vba: วิธีเพิ่มถ้าระหว่างวันที่สองวัน
คุณสามารถใช้ไวยากรณ์ต่อไปนี้ใน VBA เพื่อคำนวณผลรวมหากเซลล์อยู่ระหว่างสองวัน:
Sub SumifBetweenDates()
Range(" E3 ") = WorksheetFunction.SumIfs(Range(" B2:B9 "), Range(" A2:A9 "), " >= " & [E1], _
Range(" A2:A9 "), " <= " & [E2])
End Sub
ตัวอย่างนี้จะรวมค่าในช่วง B2:B9 เฉพาะเมื่อวันที่ในช่วง A2:A9 อยู่ระหว่างวันที่เริ่มต้นในเซลล์ E1 และวันที่สิ้นสุดในเซลล์ E2 เท่านั้น
ผลรวมจะแสดงในเซลล์ E3
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีเพิ่ม If ระหว่างวันที่สองวันใน VBA
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ซึ่งมีข้อมูลเกี่ยวกับจำนวนผลิตภัณฑ์ทั้งหมดที่ขายในวันที่ต่างกันในร้านค้าปลีก:
สมมติว่าเราต้องการคำนวณผลรวมยอดขายเฉพาะวันที่ระหว่าง 01/07/2023 ถึง 01/26/2023
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
Sub SumifBetweenDates()
Range(" E3 ") = WorksheetFunction.SumIfs(Range(" B2:B9 "), Range(" A2:A9 "), " >= " & [E1], _
Range(" A2:A9 "), " <= " & [E2])
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดทราบว่าเซลล์ E3 มีค่า 16
ซึ่งแสดงถึงผลรวมของค่าในคอลัมน์ยอดขายโดยวันที่อยู่ระหว่าง 01/07/2023 ถึง 01/26/2023
เราสามารถตรวจสอบได้ว่าข้อมูลนี้ถูกต้องโดยการคำนวณผลรวมของค่าในคอลัมน์ Sales ด้วยตนเอง โดยที่ค่าที่สอดคล้องกันในคอลัมน์ Date อยู่ระหว่าง 01/7/2023 ถึง 01/26/2023:
ผลรวมของยอดขาย: 3 + 7 + 6 = 16 .
ซึ่งสอดคล้องกับค่าที่คำนวณโดย VBA
โปรดทราบว่าหากคุณเปลี่ยนค่าวันที่เริ่มต้นและสิ้นสุดในเซลล์ E1 และ E2 ตามลำดับ และเรียกใช้มาโครอีกครั้ง ระบบจะคำนวณผลรวมของยอดขายสำหรับวันที่ใหม่
หมายเหตุ : สันนิษฐานว่าค่าในคอลัมน์วันที่มีการจัดรูปแบบเป็นวันที่ใน Excel แล้ว
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีเขียนฟังก์ชัน SUMIF และ SUMIFS
VBA: วิธีเขียนฟังก์ชัน COUNTIF และ COUNTIFS
VBA: วิธีเขียนฟังก์ชัน AVERAGEIF และ AVERAGEIFS