Giúp đở về hàm dò tìm loại bỏ #N/A...

Liên hệ QC

nnd

Thành viên mới
Tham gia
12/3/07
Bài viết
43
Được thích
0
Nghề nghiệp
CNV
Nhờ các anh, chị giúp giùm mình sử dụng hàm Vlookup theo file Excel này nhé
Cảm ơn rất nhiều !
 

File đính kèm

  • Lam sao ko co #NA.xls
    23.5 KB · Đọc: 270
nhờ các anh, chị giúp giùm mình sử dụng hàm vlookup theo file excel này nhé
cảm ơn rất nhiều !

ô k5 =IF(ISERROR(VLOOKUP(B5,DSTB!$D$3:$J$6,7,FALSE)),"",VLOOKUP(B5,DSTB!$D$3:$J$6,7,FALSE)) hoặc
=IF(ISERROR(VLOOKUP(B5,DSTB!$D$3:$J$6,7,FALSE)),0,VLOOKUP(B5,DSTB!$D$3:$J$6,7,FALSE))
 
Nhờ các anh, chị giúp giùm mình sử dụng hàm Vlookup theo file Excel này nhé
Cảm ơn rất nhiều !
Đơn giản nhất là dùng COUNTIF để kiểm tra
PHP:
=IF(COUNTIF(DSTB!$D$3:$D$6,B5),VLOOKUP(B5,DSTB!$D$3:$J$6,7,0),"")
 
Lần chỉnh sửa cuối:
Đơn giản nhất là dùng COUNTIF để kiểm tra
PHP:
=IF(COUNTIF(DSTB!$D$3:$D$6,B5),VLOOKUP(B5,DSTB!$D$3:$J$6,7,0),"")

Công thức của anh rất hay (Phục sát đất ).
Còn một chỗ khó hiểu thế mà sao không thấy bạn kia hỏi tại sao nó như vậy ?
=Nếu( điếm() ?),vlookup(),"".
Nếu điếm trong vùng đó có giá trị ,lúc đó Vlookup mới hoạt động đúng không anh ?
Không kèm đk theo mà hàm vẫn hiểu ý của anh .Ngồi suy nghỉ mải mới thấy được đó .
Thanks Anh!
 
Công thức của anh rất hay (Phục sát đất ).
Còn một chỗ khó hiểu thế mà sao không thấy bạn kia hỏi tại sao nó như vậy ?
=Nếu( điếm() ?),vlookup(),"".
Nếu điếm trong vùng đó có giá trị ,lúc đó Vlookup mới hoạt động đúng không anh ?
Không kèm đk theo mà hàm vẫn hiểu ý của anh .Ngồi suy nghỉ mải mới thấy được đó .
Thanks Anh!
Là vì thế này:
Thường thì ta viết:
IF(Cái gì đó = đ/k,Làm cái gì đó,"")
Ở đây nếu ta viết rằng:
IF(Cái gì đó,Làm cái gì đó,"")
thì nó sẽ xét, nếu thấy Cái gì đó <> 0 (tương đượng với TRUE) nó sẽ Làm cái gì đó ---> Bằng ngược lại, Cái gì đó = 0 (tương đương với FALSE) thì nó.. làm cái khác
Trường hợp này tôi không kèm điều kiện vì đàng nào COUNTIF cũng sẽ cho giá trị = 0 nếu không tìm thấy, hoặc cho giá trị > 0 nếu tìm thấy (cũng sẽ tương đương với FALSE và TRUE mà thôi)
Ẹc... Ẹc...
 
Là vì thế này:
Thường thì ta viết:
IF(Cái gì đó = đ/k,Làm cái gì đó,"")
Ở đây nếu ta viết rằng:
IF(Cái gì đó,Làm cái gì đó,"")
thì nó sẽ xét, nếu thấy Cái gì đó <> 0 (tương đượng với TRUE) nó sẽ Làm cái gì đó ---> Bằng ngược lại, Cái gì đó = 0 (tương đương với FALSE) thì nó.. làm cái khác
Trường hợp này tôi không kèm điều kiện vì đàng nào COUNTIF cũng sẽ cho giá trị = 0 nếu không tìm thấy, hoặc cho giá trị > 0 nếu tìm thấy (cũng sẽ tương đương với FALSE và TRUE mà thôi)
Ẹc... Ẹc...

Hôm qua vừa được BNTT cho biết không cần con số 1 trong RIGHT(B4;1). Hôm nay lại thấy =IF(COUNTIF(DSTB!$D$3:$D$6,B5)?,VLOOKUP(B5,DSTB!$D$3:$J$6,7,0),""). Tôi đã test =IF(B4;C4;0) thay vì =IF(B4>0;C4;0) kết quả OK => phải chăng các hằng mặc định của hàm không cần phải viết ra máy vẫn hiểu. Nhưng với tôi cách này hơi mạo hiểm vì tôi không biết hết các hằng mặc định của hàm, khi tôi test với hàm Vlookup bỏ số chỉ định kiểu tìm kiếm thì được kết quả không mong muốn (hình như kiểu tìm kiếm mặc định là 1) +-+-+-+

Nguyên văn bởi volga
Công thức của anh rất hay (Phục sát đất ).
@ volga: nếu bạn ở nhà trệt thì cũng đã mệt rồi, còn bạn mà ở nhà lầu thì mỗi khi xem bài của ndu lại phải xuống tầng trệt thì...toi, chỉ cần phục sát CPU là được rồi.
Ẹc... Ẹc...
 
Hôm qua vừa được BNTT cho biết không cần con số 1 trong RIGHT(B4;1). Hôm nay lại thấy =IF(COUNTIF(DSTB!$D$3:$D$6,B5)?,VLOOKUP(B5,DSTB!$D$3:$J$6,7,0),""). Tôi đã test =IF(B4;C4;0) thay vì =IF(B4>0;C4;0) kết quả OK => phải chăng các hằng mặc định của hàm không cần phải viết ra máy vẫn hiểu. Nhưng với tôi cách này hơi mạo hiểm vì tôi không biết hết các hằng mặc định của hàm, khi tôi test với hàm Vlookup bỏ số chỉ định kiểu tìm kiếm thì được kết quả không mong muốn (hình như kiểu tìm kiếm mặc định là 1)
Đâu có cần nhớ hết làm gì cho mệt?
Nếu bạn tập được thói quen mỗi khi sử dụng hàm nào, thì gọi cái Help của nó ra, xem tí... Ví dụ, đây là help của LEFT(), bạn xem cái nội dung mà tôi đã đóng khung lại nhé:
000-2478.jpg
Cái đó đại khái có nghĩa là: "nếu như num_chars được bỏ qua, thì xem như nó là số 1"

Nếu bạn không rành tiếng Anh, thì bạn có thể xem mục Tra cứu hàm Excel dưới chữ ký của tôi, cũng có: http://www.giaiphapexcel.com/forum/showpost.php?p=46994&postcount=14

Rồi từ từ, khoai sẽ nhừ.. à quên, từ từ thì bạn sẽ thuộc hồi nào mà không hay, chí ít là với những hàm mà hằng ngày đều phải đụng đến...
 
Hôm qua vừa được BNTT cho biết không cần con số 1 trong RIGHT(B4;1). Hôm nay lại thấy =IF(COUNTIF(DSTB!$D$3:$D$6,B5)?,VLOOKUP(B5,DSTB!$D$3:$J$6,7,0),""). Tôi đã test =IF(B4;C4;0) thay vì =IF(B4>0;C4;0) kết quả OK => phải chăng các hằng mặc định của hàm không cần phải viết ra máy vẫn hiểu.
Hoàn toàn chính xác, có 1 số hàm nếu anh bỏ tham số nó sẽ lấy theo mặc định
Ví dụ:
=Offset(Vung,,1)
Ở đây không nói gì đến vị trí DÒNG, nó sẽ lấy theo mặc định, tức =0
===> Offset(Vung,,1) <==> Offset(Vung,0,1)
Nhưng với tôi cách này hơi mạo hiểm vì tôi không biết hết các hằng mặc định của hàm, khi tôi test với hàm Vlookup bỏ số chỉ định kiểu tìm kiếm thì được kết quả không mong muốn (hình như kiểu tìm kiếm mặc định là 1)
Chính vì lẽ đó mà anh phải thí nghiệm nhiều để biết tham số mặc định của từng hàm
Vừa làm vừa tự phát hiện anh à, cái này không đâu dạy cả ---> Ngay cả Help của Excel cũng chưa chắc đã đầy đủ!
Mục đích của việc làm này là:
1> Rút gọn công thức... nhiều lúc viết đầy đủ sẽ rất dài dòng
2> Nếu anh có khả năng bỏ qua tham số của hàm mà vẫn chắc chắn cho kết quả chính xác thì chứng tỏ anh đã HIỂU RẤT SÂU SẮC về hàm này

Em cho rằng mục đích thứ 2 quan trọng nhất
 
Mục đích của việc làm này là:
1> Rút gọn công thức... nhiều lúc viết đầy đủ sẽ rất dài dòng
2> Nếu anh có khả năng bỏ qua tham số của hàm mà vẫn chắc chắn cho kết quả chính xác thì chứng tỏ anh đã HIỂU RẤT SÂU SẮC về hàm này

Đương nhiên viết đầy đủ là dài dòng rồi. Nhưng các bạn cho biết xem, khi viết đủ Excel sẽ thực hiện nhanh hơn hay không đủ (xài mặc định) sẽ nhanh hơn (?) hoặc như nhau (?) (Tất nhiên phần nhiều cái tốc độ tính toán này không mấy quan trọng.)

Điều này sẽ phải kiềm chế & cân nhắc, khi chuyển sang & cần dùng một vài các phương thức có các tham số như FIND(), . . . trong VBA. :-=
 
Đương nhiên viết đầy đủ là dài dòng rồi. Nhưng các bạn cho biết xem, khi viết đủ Excel sẽ thực hiện nhanh hơn hay không đủ (xài mặc định) sẽ nhanh hơn (?) hoặc như nhau (?) (Tất nhiên phần nhiều cái tốc độ tính toán này không mấy quan trọng.)

Điều này sẽ phải kiềm chế & cân nhắc, khi chuyển sang & cần dùng một vài các phương thức có các tham số như FIND(), . . . trong VBA. :-=
Ah... cái này còn tùy vào công cụ nào chứ anh!
Với Find method thì không có gì phải bàn cải rồi (viết càng rõ thì nó làm việc càng nhanh và chính xác)
Còn với hàm thì em nghĩ giữa OFFSET(Vung,,1)OFFSET(Vung,0,1) hoàn toàn không có sự khác biệt về tốc độ đâu!
Ở đây em chỉ nhấn mạnh 1 điểm: Ta chỉ có thể viết tắt nếu như ta đã cơ bản rành về những thứ ta viết
(còn mới học mà bày đặt.. tắt ... sai ráng chịu chứ)
 
Đương nhiên viết đầy đủ là dài dòng rồi. Nhưng các bạn cho biết xem, khi viết đủ Excel sẽ thực hiện nhanh hơn hay không đủ (xài mặc định) sẽ nhanh hơn (?) hoặc như nhau (?) (Tất nhiên phần nhiều cái tốc độ tính toán này không mấy quan trọng.)

Điều này sẽ phải kiềm chế & cân nhắc, khi chuyển sang & cần dùng một vài các phương thức có các tham số như FIND(), . . . trong VBA. :-=
Em nghĩ rằng, nếu xét về tốc độ, thì như nhau; còn nếu xét về dung lượng file, thì dùng mặc định sẽ nhẹ file hơn.
Ngay cả trong VBA, có những tham số mặc định cơ mà, chúng ta đâu có cần thiết phải nhập cho bằng hết?
Ví dụ cái này:
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2"), _
_____SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal​
Có cần thiết phải dùng đến SortOn, Order, DataOption... hông ? Hay là khỏi cần nhập vào, nếu như chúng ta đã chắc chắn rằng chúng ta sẽ Sort theo giá trị, Sort từ nhỏ đến lớn.. ?
 
Web KT

Bài viết mới nhất

Back
Top Bottom