Xin hỏi làm cách nào để hàm vlookup trong Excel có thể trả về giá trị 0 nếu như giá trị dò không có, tôi đã thử lồng vào hàm if nhưng không được?

Xin hỏi làm cách nào để hàm vlookup trong Excel có thể trả về giá trị 0 nếu như giá trị dò không có, tôi đã thử lồng vào hàm if nhưng không được, trong mọi trường hợp nếu vlookup dò không có giá trị đều trả về là #N/A.
 |  Xem: 29.008  |  Trả lời: 4
Ngày gửi: 19/09/2008 - 10:41  |  Câu hỏi liên quan
Trả lời

Danh sách trả lời (4)

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.
Ngày gửi: 19/09/2008 - 10:42
Cái này làm được, vấn đề là bạn hỏi ở đây không đúng chỗ.
=IF(VLOOKUP(A1,A1:C4,2)<>0,VLOOKUP(A1,A1:C4,2),0)
Ngày gửi: 17/03/2010 - 23:56
Trích dẫn:
Từ bài viết của My_bol
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.

Thật ra vấn đề không phức tạp như bạn viết đâu, nếu ai là người sử dụng hàm tốt thì chỉ cần kết hợp ham vlookup và ham if thui.
Ngày gửi: 18/03/2010 - 00:00

   Đơn giản bạn chỉ cần thêm vào hàm ISNA(), như sau:

=IF(ISNA(VLOOKUP(A1,A1:C4,2)),0,VLOOKUP(A1,A1:C4,2))

   Chúc bạn thành công.

          Đào Mỹ

Ngày gửi: 18/07/2011 - 14:06
Trả lời

Sản phẩm tham khảo tại cửa hàng.

Exam 1.0  (Phần mềm trộn đề thi trắc nghiệm)
Liên hệ gian hàng...
Schedule 1.0  (phần mền sắp xếp thời khóa biểu)
Liên hệ gian hàng...

Đang được quan tâm nhất

Những thành viên tích cực trong tháng
(1 lượt cảm ơn)
(1 lượt cảm ơn)
(4 lượt cảm ơn)
(1 lượt cảm ơn)
(2 lượt cảm ơn)
(1 lượt cảm ơn)
Quảng cáo
Cucre_hn