- Tham gia
- 30/5/06
- Bài viết
- 1,630
- Được thích
- 17,442
- Nghề nghiệp
- Bác sĩ
Lỗi #N/A
Câu hỏi 3 : Chữa lỗi #N/A khi dùng công thức VLOOKUP, HLOOKUP :
- Bạn có thể điều khiển những lỗi này của hàm Vlookup, Hlookup bằng các hàm thông tin Iserror(), IsNA()
= If(ISNA(vlookup()),"không tìm thấy", "Giá trị tìm thấy: " & Vlookup())
= If(ISERROR(vlookup()),"không tìm thấy", "Giá trị tìm thấy: " & Vlookup())
- Hàm VLookup (hay bất kỳ hàm thư viện nào khác) đều có đặc tả chức năng rõ ràng và xác định, người dùng phải hiểu và sử dụng đúng theo đặc tả của hàm. Thí dụ nếu bạn tra cứu tài liệu chỉ dẫn về hàm VLookup thì sẽ biết rõ rằng nếu dò tìm không có (và nếu tham số thứ tư của hàm là False) thì hàm sẽ trả về mã lỗi “#N/A”. Lưu ý rằng nếu chọn giá trị 0 để báo lỗi như bạn đề nghị thì không tổng quát vì giá trị 0 có thể trùng với kết quả tìm được. Tuy nhiên để giải quyết yêu cầu của bạn, cách thông thường là định nghĩa 1 hàm user-defined mới có đặc tả y như hàm VLookup rồi hiệu chỉnh lại mã lỗi “#N/A” về 0. Thí dụ hàm MyVLookup do chúng tôi viết như sau:
‘Hàm MyVlookup có danh sách tham số y như VLookup
Public Function MyVLookup(val As Variant, r As Range, c As Integer, flag As Boolean) As Variant
‘gọi VLookup
MyVLookup = Application.VLookup(val, r, c, flag)
‘kiểm tra xem có lỗi không, nếu có trả về 0
If IsError(MyVLookup) Then MyVLookup = 0
End Function
Nếu bạn đặt hàm trên trong 1 file add-ins (thí dụ file *.xla) rồi add vào Excel thì bạn có thể gọi nó ở bất kỳ tài liệu Excel nào. Còn nếu bạn đặt hàm trong 1 module code của 1 tài liệu Excel thì chỉ có tài liệu Excel đó dùng được thôi.
Câu hỏi 3 : Chữa lỗi #N/A khi dùng công thức VLOOKUP, HLOOKUP :
- Bạn có thể điều khiển những lỗi này của hàm Vlookup, Hlookup bằng các hàm thông tin Iserror(), IsNA()
= If(ISNA(vlookup()),"không tìm thấy", "Giá trị tìm thấy: " & Vlookup())
= If(ISERROR(vlookup()),"không tìm thấy", "Giá trị tìm thấy: " & Vlookup())
- Hàm VLookup (hay bất kỳ hàm thư viện nào khác) đều có đặc tả chức năng rõ ràng và xác định, người dùng phải hiểu và sử dụng đúng theo đặc tả của hàm. Thí dụ nếu bạn tra cứu tài liệu chỉ dẫn về hàm VLookup thì sẽ biết rõ rằng nếu dò tìm không có (và nếu tham số thứ tư của hàm là False) thì hàm sẽ trả về mã lỗi “#N/A”. Lưu ý rằng nếu chọn giá trị 0 để báo lỗi như bạn đề nghị thì không tổng quát vì giá trị 0 có thể trùng với kết quả tìm được. Tuy nhiên để giải quyết yêu cầu của bạn, cách thông thường là định nghĩa 1 hàm user-defined mới có đặc tả y như hàm VLookup rồi hiệu chỉnh lại mã lỗi “#N/A” về 0. Thí dụ hàm MyVLookup do chúng tôi viết như sau:
‘Hàm MyVlookup có danh sách tham số y như VLookup
Public Function MyVLookup(val As Variant, r As Range, c As Integer, flag As Boolean) As Variant
‘gọi VLookup
MyVLookup = Application.VLookup(val, r, c, flag)
‘kiểm tra xem có lỗi không, nếu có trả về 0
If IsError(MyVLookup) Then MyVLookup = 0
End Function
Nếu bạn đặt hàm trên trong 1 file add-ins (thí dụ file *.xla) rồi add vào Excel thì bạn có thể gọi nó ở bất kỳ tài liệu Excel nào. Còn nếu bạn đặt hàm trong 1 module code của 1 tài liệu Excel thì chỉ có tài liệu Excel đó dùng được thôi.