Các câu hỏi về hàm dò tìm dữ liệu (Lookup, Vlookup, Hlookup...)

Liên hệ QC

Closed poll

  • 1

    Votes: 1 100.0%
  • 2

    Votes: 0 0.0%

  • Total voters
    1
  • Poll closed .
Status
Không mở trả lời sau này.
Công thức ở cột C không cần dùng IF đâu Kiệt ơi, chỉ cần RIGHT là đủ rồi:
=VLOOKUP(LEFT(A5,2),$A$18:$D$22,RIGHT(A5,1)+2,0)​
 
Bạn cần nêu rõ yêu cầu của bạn cho mọi người biết mới giải quyết được chứ? Tôi đọc file đính kèm của bạn mà chẳng hiểu gì cả???
 
Bạn cần nêu rõ yêu cầu của bạn cho mọi người biết mới giải quyết được chứ? Tôi đọc file đính kèm của bạn mà chẳng hiểu gì cả???
Có gì đâu mà không hiểu? Bạn ấy có ghi ở dưới rồi mà? Tính đơn giá theo loại 1 và loại 2, còn để tìm ra cái nào là loại nào, thì mình phải tự mà suy luận chứ, dựa vào cái mã số hàng.
 
Kiểm tra lệnh vlookup

Bác nào giúp em kiểm tra lệnh vlook up với ạ, mặc dù em đã dùng đúng côngn thức nhưng vẫn báo là lỗi (xem file đính kèm)
Em dùng office excel 2003, ko lẽ chương trình này có vấn đề!?
 

File đính kèm

  • Book1.xls
    13.5 KB · Đọc: 164
Bạn giải thích giúp tại sao?
ở ô tìm kiếm A7 và cả cột A ta gõ số thì công thức của bạn trên lại có kết quả...
Bạn đọc bài này, bạn sẽ hiểu tại sao: Hàm VLOOKUP()

Khi bạn dùng hàm VLOOKUP() mà không có tham số thứ tư (quy định cách dò tìm), thì mặc định tham số này là 1 (TRUE), và VLOOKUP() sẽ tìm giá trị range_lookup đầu tiên mà nó tìm được trong cột đầu tiên của table_array, trong trường hợp không có, nó sẽ lấy giá trị lớn nhất mà nhỏ hơn range_lookup.

Bởi vì giá trị lớn nhất mà nhỏ hơn giá trị "a" là không có, nên VLOOKUP báo lỗi #NA.

Khi bạn muốn dùng hàm VLOOKUP() mà không có tham số thứ tư (như bạn đã dùng), thì bạn phải sắp xếp (sort) table_array (là cái A1:B4 trong bài của bạn) theo thứ tự từ nhỏ đến lớn, chẳng hạn như a - b - c - d...

Còn nếu như bạn không thích phải sắp xếp (sort) danh sách, thì bạn phải sử dụng tham số thứ tư trong hàm VLOOKUP() là 0 (FALSE), để nó tìm "chính xác" (cụ thể là tìm chữ "a").

Trong bài của bạn, sở dĩ công thức ở 3 mục trên cho ra kết quả, bởi vì bạn đã "vô tình" để cho nó theo thứ tự: b - c - d

Bạn hiểu rồi chứ.
 
Lần chỉnh sửa cuối:
Lỗi #N/A khi dùng hàm Vlookup()

Các bạn cho mình hỏi: Khi mình dùng hàm Vlookup() để tìm kiếm nếu ko tìm thấy giá trị thì nó hiện lên lỗi #N/A (trông ngứa mắt ghê). Vậy có cách nào để khi ko tìm đc giá trị thì nó ko hiện gì ko? Thanks...
 
Các bạn cho mình hỏi: Khi mình dùng hàm Vlookup() để tìm kiếm nếu ko tìm thấy giá trị thì nó hiện lên lỗi #N/A (trông ngứa mắt ghê). Vậy có cách nào để khi ko tìm đc giá trị thì nó ko hiện gì ko? Thanks...
Bạn thêm vào hàm if cụ thể:
=IF(ISNA(VLOOKUP()=TRUE;"";VLOOKUP())
 
Các bạn cho mình hỏi: Khi mình dùng hàm Vlookup() để tìm kiếm nếu ko tìm thấy giá trị thì nó hiện lên lỗi #N/A (trông ngứa mắt ghê). Vậy có cách nào để khi ko tìm đc giá trị thì nó ko hiện gì ko? Thanks...

Nếu không muốn trả về #N/A thì dùng =IF(isna(Vlookup(...),0 hay "",Vlookup(...))
Nếu không muốn nhìn thấy #N/A thì vào Format\Condition Formating\
Formula is :=isna(a1) nếu A1 là vùng muốn kiểm tra
Vào Format ... để tô màu hay kẻ khung ô có lỗi (ở VD của bạn thì Chọn Font với color màu trắng
 
Cách dùng ISNA hoặc ISERROR hoặc TYPE là cách thông thường khỏi cần suy nghĩ... Cứ gặp lổi thì cho bằng rổng hết!
Nhưng theo tôi nếu có thời gian các bạn nên cố gắng nghiên cứu theo hướng khác: Tìm xem nguyên nhân tại sao mà VLOOKUP lại bị lổi trên dử liệu của mình!
Ví dụ:
1> Trị dò là 1 cell rổng ---> Lúc này ta nên dùng hàm đơn giãn hơn: IF(trị dò ="","",VLOOKUP(....))
2> Vô tình gõ sai chính tả trị dò hoặc bảng dò ---> Tìm cách chỉnh lại dử liệu cho thống nhất
vân vân và vân vân...
Với dử liệu lớn tốt nhất nên hạn chế các hàm bẩy lổi, vì nó là 1 trong số các nguyên nhân làm chậm tốc độ đấy!
Dử liệu ít đương nhiên các bạn sẽ ko phát hiện ra điều này đâu, nhưng tôi khuyên các bạn nên tập thói quen tối ưu hóa ngay từ khi mới tập tành, dù dử liệu ít hay nhiều (đừng dể dàng hài lòng, vì 1 giãi pháp đẹp ko phải chỉ dựa trên kết quả chính xác là đủ đâu)
 
Hic, với câu hỏi chung chung + không có file ví dụ cụ thể thì sao có thể trả lời chính xác nguyên nhân tại đâu mà phát sinh lỗi => mọi người đành trả lời vậy thôi
 
Hàm Vlookup qua nhiều bảng.

Sheet này 090TRI muốn dò tìm đơn vị tính ở cột C . Có thể thay công thức trong cột C thành công thức ngắn hơn được không?. Nhờ quý Anh/Chị hướng dẫn. Trong file chỉ dò tìm trên hai bảng thôi, nếu 3;4;5 bảng công thức sẽ dài.
 

File đính kèm

  • VLOOKUP QUA NHIEU TABLE.xls
    38.5 KB · Đọc: 71
Sheet này 090TRI muốn dò tìm đơn vị tính ở cột C . Có thể thay công thức trong cột C thành công thức ngắn hơn được không?. Nhờ quý Anh/Chị hướng dẫn. Trong file chỉ dò tìm trên hai bảng thôi, nếu 3;4;5 bảng công thức sẽ dài.

Theo em thì dùng Name kết hợp với concatenate :
PHP:
dk1=IF(ISNA(VLOOKUP(A1,vung1,3,0)),"",VLOOKUP(A1,vung1,3,0))
dk2=IF(ISNA(VLOOKUP(A1,vung2,3,0)),"",VLOOKUP(A1,vung2,3,0))
.....
ketqua=dk1&dk2&...dkn
nếu không thì dùng VBA
 
Lần chỉnh sửa cuối:
Với số lượng sheet từ 3 trở lên thì nên dùng công thức mãng sẽ hay hơn! Bài toán này đã có đề cập trên diển đàn nhiều lần rồi!
Bạn xem file đính kèm nhé.... Công thức này có 1 cái lợi là dù bao nhiêu sheet thì độ dài công thức vẩn không đổi
 

File đính kèm

  • Vlookup_MultiSh.xls
    44.5 KB · Đọc: 111
em đang học và tìm hiểu về name, khi đọc bài này của anh, em không hiểu về công thức trong name vùng . anh giải thích hộ em nha
 
em đang học và tìm hiểu về name, khi đọc bài này của anh, em không hiểu về công thức trong name vùng . anh giải thích hộ em nha

Cái name chỉ là phần phụ thôi bạn à.
Nếu bạn chưa tìm hiểu về công thức mảng thì bạn sẽ khó hiểu được nội dung của công thức. BẠn thử tìm hiểu về mảng trên diễn đàn trước nhé. Sau đó các bạn sẽ giải thích tường tận cho bạn.
 
Sheet này 090TRI muốn dò tìm đơn vị tính ở cột C . Có thể thay công thức trong cột C thành công thức ngắn hơn được không?. Nhờ quý Anh/Chị hướng dẫn. Trong file chỉ dò tìm trên hai bảng thôi, nếu 3;4;5 bảng công thức sẽ dài.

Chưa xem hết bài, nhưng thấy cái này: Khi dùng ISNA(...) không cần phải gõ =TRUE đâu 090TRI à.

Chỉ cần : IF(ISNA(1), 2, 1) chứ không cần IF(ISNA(1)=TRUE, 2, 1)

(Nếu 1 báo lỗi #NA thì lấy 2, còn 1 đúng thì lấy 1)
 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom