Cách tạo hàm tham chiếu tùy chọn cho từng trang tính khác nhau

Có thể bạn biết rằng Excel không hoàn toàn hỗ trợ tạo lập “bảng tính 3D”. Chẳng hạn,  nếu bạn cần tham chiếu nội dung của trang tính khác, bạn bắt buộc phải ghi rõ tên trang tính đó trong công thức của mình. Đây không phải là vấn đề gì khó – ngoại trừ việc bạn muốn sao chép công thức này cho tất cả các trang tính còn lại. Khi đó các công thức sẽ bị trùng lặp khi đều cùng tham chiếu về trang tính ban đầu.

Để tránh gặp phải tình trạng đó, ta cần sử dụng một hàm VBA (có tên SHEETOFFSET) để gọi tên từng trang tính mà không bị trùng lặp. Chẳng hạn, bạn có thể tham chiếu ô A1 của trang tính phía trước bằng công thức sau:

=SHEETOFFSET(-1,A1)

Sau đó bạn có thể sao chép công thức này lại cho tất cả các trang tính khác và việc tham chiếu tự động này sẽ tiếp diễn mà không gặp phải bất cứ sự trùng lặp nào.

Hàm SHEETOFFSET

Mã lệnh VBA cho hàm này sẽ có nội dung như sau:

Function SHEETOFFSET(offset, Ref)

‘   Returns cell contents at Ref, in sheet offset

    Application.Volatile

    With Application.Caller.Parent

        SHEETOFFSET = .Parent.Sheets(.Index + offset) _

         .Range(Ref.Address).Value

    End With

End Function

Cách sử dụng hàm SHEETOFFSET

Để sử dụng hàm này, bạn chỉ cần sao chép nó và dán vào phần mô-đun chạy VBA. Sau đó, bạn có thể sử dụng công thức sau:

=SHEETOFFSET(2,C1)

  • Ký tự đầu tiên chỉ khoảng cách giữa trang tính hiện tại với trang tính mà bạn muốn tham chiếu. Nó có thể có giá trị âm, dương hoặc bằng 0
  • Ký tự thứ hai là ô dữ liệu mà bạn muốn tham chiếu. Nếu ký tự đầu tiên cho giá trị là 0 thì ô cần tham chiếu không được trùng với ô đang chứa nội dung công thức. Nếu bị trùng thì bạn sẽ gặp phải lỗi tham chiếu vòng lặp.

Lưu ý: Hãy để ý xem bảng tính của bạn có chứa các trang không được coi là trang tính hay không (ví dụ như trang chứa bảng biểu). Nếu như sau ký tự đầu tiên kết quả tham chiếu cho ra trang không phải là trang tính thì sẽ có một thông báo lỗi xuất hiện.

Học excel cấp tốc để kiếm việc dễ dàng


Tác giả: dtnguyen (Nguyễn Đức Thanh)

@ Học Excel Online | DTNguyen.business
· · ·

Khóa học mới xuất bản