Trong bài viết này, bạn sẽ học cách sử dụng hàm INDEX & MATCH trong VBA để khớp 2 tiêu chí trong excel bằng mã VBA.

Để có được kết quả đầ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 Name Manager.

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

  • Chúng tôi có Phiếu điểm của Học sinh với Tên, Chủ đề & Điểm của Học sinh.

img1

  • Chúng tôi muốn tìm ra các dấu cho Tên sinh viên & Môn học được nhập trong các ô F2 & G2

img2

  • Để tính Marks bằng cách sử dụng mã VBA, chúng tôi đã sử dụng hàm OFFSET để tạo các phạm vi được đặt tên cho mỗi danh mục.

  • Nhấn CTRL + F3 để mở Cửa sổ quản lý tên (danh sách đã được tạo)

img3

  • Sử dụng tính năng Dán Tên trong tab Công thức; chúng ta sẽ nhận được tất cả danh sách phạm vi Tên đã xác định trong các ô

img4

  • Sử dụng tính năng Dán Tên trong tab Công thức; chúng ta sẽ nhận được tất cả danh sách phạm vi Tên đã xác định trong các ô

img5

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

img7

Chúng ta cần làm theo các bước 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

img8

  • Nhấp vào Chèn rồi đến Mô-đun

img9

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

Nhập mã sau vào Mô-đun Sub IndexMatch ()

myName = [F2]

mySubject = [G2]

mark = Application.WorksheetFunction.Index ([StMark], _ Application.WorksheetFunction.Match (myName, ([StName]), 0) + _ Application.WorksheetFunction.Match (mySubject, [StSubject], 0) – 1)

[H2] = mark End Sub

img9

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

img10

  • 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ả ở ô H2

img11

Đây là cách chúng ta có thể nhận được kết quả bằng cách sử dụng hàm trang tính Kết hợp Chỉ mục trong VBA.