Trong bài này, chúng ta sẽ tìm hiểu cách sử dụng hàm SUMIF trong VBA với nhiều tiêu chí trong Excel bằng mã VBA.

Để có được đầu ra, chúng tôi sẽ sử dụng kết hợp các hàm OFFSET & COUNTA để tạo Danh sách quản lý tên.

Hãy cho chúng tôi hiểu với một ví dụ:

  • Chúng tôi có báo cáo Bán hàng cho Nhân viên bán hàng, Khu vực và Sản phẩm cho các năm từ 2012 đến 2014.

img1

  • Chúng tôi muốn tìm hiểu Hình thức bán hàng đáp ứng các điều kiện sau: –

img2

  • Đối với tất cả các điều kiện; chúng ta cần tạo Dải tên Để tạo dải tên động cho Người bán hàng:

Nhấn tổ hợp phím tắt CTRL + F3> Nhấp vào Mới & nhập công thức là = OFFSET (Sheet1! $ B $ 1,1,0, COUNTA (Sheet1! $ A: $ A) -1)

img3

Tương tự, tạo phạm vi đã đặt tên cho các điều kiện khác * Nhấn CTRL + F3 để mở Cửa sổ quản lý tên (tham khảo danh sách đã được tạo)

img4

  • Sử dụng tính năng Dán Tên trong tab Công thức, chúng tôi sẽ nhận được toàn bộ danh sách Phạm vi Tên được Xác định trong các ô.

img5

  • Bấm vào Danh sách dán

img6

nDate * = OFFSET (Sheet1! $ A $ 1,1,0, COUNTA (Sheet1! $ A: $ A) -1)

nProduct * = OFFSET (Sheet1! $ D $ 1,1,0, COUNTA (Sheet1! $ A: $ A) -1)

nRegion * = OFFSET (Sheet1! $ C $ 1,1,0, COUNTA (Sheet1! $ A: $ A) -1)

nSales * = OFFSET (Sheet1! $ E $ 1,1,0, COUNTA (Sheet1! $ A: $ A) -1)

nSalesman * = OFFSET (Sheet1! $ B $ 1,1,0, COUNTA (Sheet1! $ A: $ A) -1)

Chúng ta cần làm theo các bước được đề cập dưới đây để khởi chạy trình soạn thảo VB Nhấp vào tab Nhà phát triển Từ nhóm Mã, chọn Visual Basic

img7

  • Nhấp vào Chèn, sau đó nhấp vào Mô-đun

img8

  • Điều này sẽ tạo mô-đun mới.

  • Nhập mã sau vào Mô-đun Sub VBASumifs () mysalesman = [H3] myregion = [H4] myproduct = [H5]

tsales = Application.WorksheetFunction.SumIfs ([nsales], [nsalesman], mysalesman, [nregion], myregion, [nproduct], myproduct)

[H6] = tsales End Sub

img9

Nhấp vào Chèn dải băng> Hình dạng> Vẽ hình Nhấp chuột phải vào hình ảnh và nhấp vào gán macro

img10

img11

  • Sau khi gán macro; nhấp vào nút Cập nhật Bán hàng & chúng tôi sẽ nhận được kết quả trong ô H6

img12

Lưu ý: – Sau khi thay đổi tên người bán hàng, khu vực và sản phẩm bạn phải bấm vào cập nhật doanh số.

Để tìm ra Doanh số đáp ứng các điều kiện giữa 2 ngày; sau đây là ảnh chụp tiêu chí:

img13

Chúng tôi sẽ sử dụng đoạn mã sau:

Sub Sumifs2Dates ()

mysalesman = [H3] myregion = [H4] myproduct = [H5]

stdate = [H6]

EndDate = [H7]

tsales = Application.WorksheetFunction.SumIfs ([nsales], [nsalesman], mysalesman, [nregion], myregion, [nproduct], myproduct, [ndate], “> =” & stdate, [ndate], “⇐” & EndDate)

[H8] = tsales End Sub

img14

  • Nhấn phím tắt ALT + F8 để mở cửa sổ Macro và sau đó chọn macro.

  • Ngoài ra, bạn có thể nhấn F5 để chạy mã trong màn hình VBA.

  • Sau khi thực hiện macro chúng ta sẽ nhận được kết quả ở ô H8

img15

Đây là cách chúng ta có thể sử dụng SUMIF nhiều tiêu chí trong VBA để tính tổng doanh số bán hàng giữa 2 ngày.