Cách sử dụng hàm VLOOKUP và sửa lỗi #N/A

  • Thread starter xungdanhanhhung
  • Ngày gửi
X

xungdanhanhhung

Guest
6/2/05
267
1
0
Hanoi
Các bác ạ, khi em dùng công thức như này:

VLOOKUP(I10,DM!$E$3:$G$200,3,0)

trong trường hợp I10 = 0 (không có gì) thì nó trả về cho em một chữ N/A xấu xí, em mà in sổ ra thì chán lắm. Có cách nào để ô đó trắng không ạ?

Thanks các bác.
 
Khóa học Quản trị dòng tiền
vitconlonton

vitconlonton

Guest
23/11/04
605
6
0
đâu đó ngoài webketoan
xungdanhanhhung nói:
Các bác ạ, khi em dùng công thức như này:

VLOOKUP(I10,DM!$E$3:$G$200,3,0)

trong trường hợp I10 = 0 (không có gì) thì nó trả về cho em một chữ N/A xấu xí, em mà in sổ ra thì chán lắm. Có cách nào để ô đó trắng không ạ?

Thanks các bác.

If(I10="","",VLOOKUP(I10,DM!$E$3:$G$200,3,0)) hoặc
If(I10=0,"",VLOOKUP(I10,DM!$E$3:$G$200,3,0))
 
X

xungdanhanhhung

Guest
6/2/05
267
1
0
Hanoi
Cảm ơn bác, em làm được rồi, cho em hỏi tiếp với.

Số là em đang xem một file kế toán bằng excel. Trong sheet Tổng hợp công nợ người bán nó có một ô: Tài khoản, có một mũi tên đi xuống sổ ra các tài khoản chi tiết của Phải trả người bán (VD: 331VT...), Column bên cạnh là một số (tác giả để màu trắng, phải đưa con trỏ vào cell mới biết). Em có hai điều théc méc:

1. Làm thế nào để có cái mũi tên ấy (nó đẹp quá, trông rất chuyên nghiệp).
2. Cái số được bôi trắng ấy có ý nghĩa gì thế ạ?

Thanks!
 
vitconlonton

vitconlonton

Guest
23/11/04
605
6
0
đâu đó ngoài webketoan
xungdanhanhhung nói:
Cảm ơn bác, em làm được rồi, cho em hỏi tiếp với.

Số là em đang xem một file kế toán bằng excel. Trong sheet Tổng hợp công nợ người bán nó có một ô: Tài khoản, có một mũi tên đi xuống sổ ra các tài khoản chi tiết của Phải trả người bán (VD: 331VT...), Column bên cạnh là một số (tác giả để màu trắng, phải đưa con trỏ vào cell mới biết). Em có hai điều théc méc:

1. Làm thế nào để có cái mũi tên ấy (nó đẹp quá, trông rất chuyên nghiệp).
2. Cái số được bôi trắng ấy có ý nghĩa gì thế ạ?

Thanks!
1. Để có cái mũi tên đó: bạn làm vậy nè"
Bước 1: lập ra 1 list theo hàng dọc các tài khỏan chi tiết phải trả cho người bán trong fiel excel mà bạn cần (thường thì cái này có sẵn trong file Exel kế toán của bạn đó),
Bước 2: đánh dấu khối cái list trên rồi vào Insert - Name - Define : đặt tên cho list đó (VD: tkphaitra) vào ô Name in workbooks
Bước 3: đến ô mà bạn muốn có số tài khoản trong list đã tạo: vào Data - Validation, nó sẽ hiện ra 1 bảng, bạn chọn Setting, trong đó Allow: chọn List, ô Source: ghi "=tkphaitra" = > ô sẽ hiện ra cái mũi tên mà bạn cần, đề các ô khác cũng được vậy bạn chỉ cần kéo xuống hoặc copy là ok
2. câu hỏi 2 mình không hiểu lắm, nó có thể là cái list tài khỏan mà người lập tạo ra rồi bôi trắng
 
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Dear all,
-------
Mình muốn góp thêm một ý thế này:
NX1: Việc tính toán dữ liệu trên Excel chỉ là công cụ, cái cuối cùng mới là quan trọng - Báo cáo. Mà báo cáo thì thường phải in ra đưa cho sếp, chứ không thể cứ để thế mà ký, đóng dấu được.
NX2: Mục đích của VLOOKUP là tìm kiếm một giá trị theo điều kiện. Trong trường hợp không tìm thấy thì nó thông báo là "không tìm thấy" (#N/A). Như vậy thì không thể đổ "lỗi" này cho MS Excel là "ngu ngốc" được! Vấn đề là bạn muốn thể hiện kết quả này trên báo cáo hay không, nếu không thì MS Excel cũng cho phép bạn làm điều đó: Trong thẻ Sheet của Page Setup, thiết lập thông số cell errors as: giá trị muốn hiển thị, OK!
NX3: Nếu cảm thấy khó chịu, thì đành phải xử lý vậy. Nhưng khoan hãy động đến hàm IF() vì trong điều kiến của nó đã thực hiện tìm kiếm sau đó nếu tìm thấy thì lại... tìm kiếm nữa ---> không tối ưu. Hãy kiểm tra xem Excel tìm cái gì mà không thấy! Nếu có thể được có thể đưa giá trị này ngược lại bảng tìm kiếm được không, chẳng hạn "khác", "lẻ", "không quan tâm", "không tìm thấy"... Cuối cùng nếu không thể thì đành... "eo" (ELSE), IF vậy!
Còn về cái "mũi tên đẹp đẹp, trông rất chuyên nghiệp" xungdanhanhhung có thể sử dụng bửu bối Tìm kiếm của diễn đàn, từ khoá: "validation" thì hiểu ngay!
"Column bên cạnh là một số (tác giả để màu trắng, phải đưa con trỏ vào cell mới biết)." có thể là một cột phụ tác giả muốn "che đậy" những kẻ tò mò, nếu bạn ngại hỏi tác giả thì sử dụng chức năng "kiểm toán công thức" (Formula Auditing) để biết các tham chiếu liên quan đến nó!
Thân ái!:friend:
 
X

xungdanhanhhung

Guest
6/2/05
267
1
0
Hanoi
Dear Cường,

Mình muốn giải thích một chút:

1. Đúng là báo cáo mới là cái quan trọng nhất nhưng các bảng biểu cũng quan trọng không kém. Chúng ta cần phải in ra, ký cọt để lưu giữ nữa. Số liệu là quan trọng nhất nhưng hình thức cũng giúp đọc số liệu dễ hiểu hơn. Cùng là dân nhà kế chắc bạn cũng hiểu mình.

2. Mình cũng nói đùa thôi, mình bảo chữ N/A ngu ngốc thôi chứ chàng excel thì no vấn đề :jump:

3. Thứ 3 là cái chữ đúng là tác giả muốn ẩn đi, nhưng mình không hiểu.
Đó là cell J4
Trong cell I4 có công thức như sau: INDEX(DM!F96:F115,J4)
Trong đó DM!F96:F115 là danh sách công nợ phải trả.

Thanks bạn rất nhiều!
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
846
10
18
42
Nha Trang
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())
 
F

ForestC

Guest
11/1/05
377
1
0
44
E'rywhere
xungdanhanhhung nói:
Trong cell I4 có công thức như sau: INDEX(DM!F96:F115,J4)
Trong đó DM!F96:F115 là danh sách công nợ phải trả.

Thanks bạn rất nhiều!

Anh đoán cái ô đó nó đánh dấu vị trí xuất hiện của giá trị cần tìm trong ô I4 đấy em ạ. Vị trí dòng thứ bao nhiêu trong DM ấy.
 
B

BUI CHI THANH

Guest
21/2/06
479
2
0
48
VUNG TAU
xungdanhanhhung nói:
Các bác ạ, khi em dùng công thức như này:

VLOOKUP(I10,DM!$E$3:$G$200,3,0)

trong trường hợp I10 = 0 (không có gì) thì nó trả về cho em một chữ N/A xấu xí, em mà in sổ ra thì chán lắm. Có cách nào để ô đó trắng không ạ?

Thanks các bác.
IF(ISNA(VLOOKUP(I10,DM!$E$3:$G$200,3,0)),0,VLOOKUP(I10,DM!$E$3:$G$200,3,0)).
Hàm ISNA SẼ Loại bỏ giá trị N/A Cho bạn.
 
Sửa lần cuối:
  • Like
Reactions: tran du
T

TRAN MINH HIEN

Guest
25/2/04
5
1
0
xungdanhanhhung nói:
Các bác ạ, khi em dùng công thức như này:

VLOOKUP(I10,DM!$E$3:$G$200,3,0)

trong trường hợp I10 = 0 (không có gì) thì nó trả về cho em một chữ N/A xấu xí, em mà in sổ ra thì chán lắm. Có cách nào để ô đó trắng không ạ?

Thanks các bác.


Bạn có thể bổ sung thêm hàm sau đây để chặn trường hợp N/A
= If(Isna(VLOOKUP(I10,DM!$E$3:$G$200,3,0)) = true,"",VLOOKUP(I10,DM!$E$3:$G$200,3,0))
Diễn giãi hàm:
Nếu bị lỗi N/A thì bỏ trống, ngược lại thì thực hiện lệnh Vlookup..
Ngoài ra, bạn có thể thay "" (khoãng trắng ) thành số 0
Chúc bạn thành công !
 
  • Like
Reactions: ngocsonpro
X

xungdanhanhhung

Guest
6/2/05
267
1
0
Hanoi
Mình đã áp dụng cách mới này, quả là rất hay. Cảm ơn mọi người!

To ForestC: đúng rồi anh ạ, nó chính là thứ tự ở trong list. Hôm nay bác rỗi rãi thế, hay chỉ online trưa thôi ạ? Thank u!
 
Y

Yeudoi

Trung cấp
29/9/05
88
0
6
Hoi An Quang Nam
Bạn dùng thử công thức này cũng để khỏi có N/A:
Public Function MyVLookup(val As Variant, r As Range, c As Integer, flag As Boolean) As Variant
MyVLookup = Application.VLookup(val, r, c, flag)
If IsError(MyVLookup) Then MyVLookup = 0
End Function
 
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
569
100
43
66
HCM city
Yeudoi nói:
Bạn dùng thử công thức này cũng để khỏi có N/A:
. . .
Hàm người dùng có nhanh không zậy?!
Như Bạn NgBình là được rồi; Nếu có muốn thêm nữa, thì dùng hàm =TYPE (....);
Theo mình không nên phức tạp hoá như IEUDOI làm gì; mà chỉ cần nói có 1 Fương án, zậy là đủ;
Đừng zận nha, IeuDoi!:friend:
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
846
10
18
42
Nha Trang
Yeudoi nói:
Bạn dùng thử công thức này cũng để khỏi có N/A:
Public Function MyVLookup(val As Variant, r As Range, c As Integer, flag As Boolean) As Variant
MyVLookup = Application.VLookup(val, r, c, flag)
If IsError(MyVLookup) Then MyVLookup = 0
End Function
Với cách này không được đề xuất bởi bác Bill là do trường hợp trong việc dò tìm theo kiện ta tìm được số 0, nếu vậy làm sao phân biệt được số không tìm được và số không do tìm không được? :biggrin:
(nói nghe khó hiểu quá :wall: )
 
F

ForestC

Guest
11/1/05
377
1
0
44
E'rywhere
Yeudoi nói:
Bạn dùng thử công thức này cũng để khỏi có N/A:
Public Function MyVLookup(val As Variant, r As Range, c As Integer, flag As Boolean) As Variant
MyVLookup = Application.VLookup(val, r, c, flag)
If IsError(MyVLookup) Then MyVLookup = 0
End Function

Hoành tráng quá. Tuy nhiên trong trường hợp này ta nên dùng hàm đơn thuần có lẽ là thích hợp hơn.
 
Y

Yeudoi

Trung cấp
29/9/05
88
0
6
Hoi An Quang Nam
Không phải là quá phức tạp ở đây tôi muốn đưa ra để xem như một phương pháp giải khác cho mọi người tham khảo thôi.
 
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Dear all,
-------
Mình có ý kiến thêm có được không:
- Cứ cho đoạn mã của Yeudoi là một giải pháp đi, còn tính tối ưu thì còn phải xét trong trường hợp cụ thể. Bạn thử cho một ví dụ minh hoạ để thay hàm VLOOKUP trong bộ hàm tiêu chuẩn của MSE được không?
- Mình đoán là Yeudoi chưa lần nào ứng dụng cái "đứa con cưng" mà Yeudoi đề xuất, lý do: Theo mình đoán thì VlookUp trong VBA thực chất vẫn là VLOOKUP trong bộ hàm tiêu chuẩn. "Chúng" nằm trong một thư viện *.dll (excel.dll). Và do cho rằng các hàm (functions) của Excel - bất kỳ hàm nào mà các bạn sử dụng trên cell - thuộc Object WorksheetFunction. Chiếu theo ví dụ của bạn: Application.VlookUp là không đúng mà phải là Application.WorksheetFunction.VlookUp
- Nếu vẫn theo giải pháp của bạn thì có thể cải tiến hàm này chỉ cần một dòng lệnh, như thế nhìn "buồn cười" lắm!
 
Sửa lần cuối:
C

Cat Bao Binh

Guest
26/6/06
2
0
0
46
Ha NOi
Các bác cho em hỏi ứng dụng của hàm Vlookup trong trường hơp này.
Em có 01 bảng Xuất - Nhập - Tồn hàng hóa Tháng 1(Sheet 1) trên Excel,
chuyển sang Sheet 2 (Tháng 2), em muốn dùng hàm Vlookup để chuyển số dư cuối kỳ Thang 1 sang đầu kỳ tháng 2 thì làm như thế nào ạ. (Em đã vận dụng công thức Vlookup nhưng không ra), mong các bác chỉ giáo, em cám ơn nhiều ạ.
 
C

Cayman

Cao cấp
26/11/03
246
4
0
43
HCM
danketoan.com
Bạn nên nêu cụ thể công thức bạn làm hoặc gửi file lên thì mọi người giúp bạn dễ hơn. Thân mến.
 
C

Cat Bao Binh

Guest
26/6/06
2
0
0
46
Ha NOi
Cayman nói:
Bạn nên nêu cụ thể công thức bạn làm hoặc gửi file lên thì mọi người giúp bạn dễ hơn. Thân mến.
Bảng Tổng hợp hàng Tồn Kho dư hàng hoá Sheet1
A B C D E F
STT Mặt Hàng Tồn ĐẦu Nhập trong kỳ Xuất trong kỳ Tồn cuối kỳ
4 MTH 200
5 MTD 700
6 HDK 890
7 NFE 680
8 EGH 780

Ví dụ Tháng 1 có số tồn cuối kỳ như trên, bây giờ sang Tháng 2, mở trong sheet 2.
1. Liệu chúng ta có thể dùng hàm Vlookup chuyển tên hàng hóa từ tháng 1 sang cột Mặt hàng ở tháng 2.
2. Dùng hàm Vlookup chuyển số dư cuối kỳ của tháng 1 sang tháng 2 ở cột tồn đầu kỳ của tháng 2, tương ứng với từng Mặt hàng.
Các bác chỉ bảo giúp em.
(Ghi chú: Các bác hiểu giúp em A, B, C, D,E, F là các cột tương ứng STT, Mặt Hàng, vvv, Tồn cuối kỳ), giả sử số tồn cuối của các mặt hàng là 200 - 780).
 
Sửa lần cuối:

Xem nhiều

Webketoan Zalo OA