lỗi của hàm tìm kiếm

Liên hệ QC

gia nguyên

Thành viên mới
Tham gia
26/5/09
Bài viết
24
Được thích
3
Em sử dụng hàm index, match để tìm kiếm thông tin. Em xin gửi file đính kèm.( Em xin lỗi, công thúc này trước đây được mọi người trên diễn đàn chỉ giúp ) nay em áp dụng nó ra kết quả không đúng theo mã số mình chọn. Xin chỉ giúp em công thức với ạ. Em còn sử dụng công thức dạng tìm kiếm này vào nhiều file khác nhau nữa, nhưng em không dõ lắm về hàm index, match nên không biết nguyên nhân tại sao.
Em xin cảm ơn
 

File đính kèm

  • d_ li_u.rar
    266 KB · Đọc: 67
  • DULIEU.rar
    70.7 KB · Đọc: 27
Chỉnh sửa lần cuối bởi điều hành viên:
Bạn chuyển file sang excel 2003 để mọi người dễ giúp nhé. Tham khảo thêm hàm INDEX và MATCH
Hàm INDEX

Chức năng: Hàm INDEX trả về một giá trị hay tham chiếu đến một giá trị trong một bảng hoặc một mảng.
Hàm INDEX có hai hình thức là dạng mảng và dạng tham chiếu:

a. Dạng Mảng: INDEX(array,row_num,col_num)

- Array: là một dãy ô hay một hằng mảng.
- Row_num: là số chỉ dòng của giá trị trong mảng cần trả về. Nếu bỏ qua row_num thì buộc phải có col_num.
- Col_num: là số chỉ cột của giá trị trong mảng cần trả về. Nếu bỏ qua col_num thì buộc phải có row_num.

Lưu ý:

  • Nếu mảng chỉ có một dòng hoặc một cột, thì row_num hay column_num tương ứng là tùy chọn.
  • Nếu mảng có nhiều hơn một dòng hoặc nhiều hơn một cột, và chỉ có hoặc là row_num hoặc là column_num được sử dụng, INDEX() sẽ trả về toàn bộ dòng hay cột của mảng.
  • Nếu hai đối số col_num và row_num đều được sử dụng, INDEX() sẽ trả về giá trị của ô là giao điểm của col_num và row_num.
  • Nếu row_num hoặc col_num bằng 0, hàm sẽ trả về mảng các giá trị là toàn bộ cột hoặc toàn bộ dòng tương ứng.
  • Row_num và col_num phải chỉ tới một ô trong mảng, nếu không, INDEX() sẽ báo lỗi #REF!
Hàm MATCH

Chức năng: Hàm Match là hàm dò tìm, sẽ trả về vị trí của giá trị dò tìm trong vùng dò tìm (một dòng hoặc một cột).

Cú pháp: MATCH(lookup_value,lookup_array,match_type)

- Lookup_value: là giá trị dùng để dò tìm, lookup_value có thể là một số, một chuỗi, một giá trị logic hay một tham chiếu.

- Lookup_array: là vùng dò tìm, có thể là một cột hoặc một dòng, hoặc một mảng các giá trị.

- Match_type: là tùy chọn để xác định kiểu dò tìm. Có 3 tùy chọn là -1,0,1:

  • match_type = 0: Hàm sẽ dò tìm chính xác giá trị lookup_value trong lookup_array, nếu không tìm thấy hàm sẽ báo lỗi #N/A.
  • match_type = 1(hoặc để trống): Hàm sẽ dò tìm giá trị lớn nhất trong lookup_array mà có giá trị <= giá trị của lookup_value. Trường hợp này, các phấn tử trong lookup_array phải được sắp xếp từ nhỏ đến lớn (..-2,-1,0,1,2…A,B,C..Z…False, True).
  • match_type = -1: Hàm sẽ dò tìm giá trị nhỏ nhất trong lookup_array mà có giá trị >= giá trị của lookup_value. Trường hợp này, các phấn tử trong lookup_array phải được sắp xếp từ lớn đến nhỏ ( True, False, Z…A,..2,1,0,-1,-2..).

Lưu ý: Nếu match_type = 0, lookup_value là một chuỗi ký tự thì bạn có thể dùng ký tự * hoặc ? Để đại diện cho một vài ký tự trong chuỗi dò tìm lookup_value ( * đại diện cho một vài ký tự, ? Đại diện cho 1 ký tự).

 
Kiểm tra những dữ liệu giống nhau.

Tôi có 1 sheet TongHop. Bây giờ tôi muốn kiểm tra xem ở vùng dữ liệu (B3:G18) đó có bao nhiêu dữ liệu giống nhau ( những dữ liệu giống nhau thì hiện màu giống nhau). Mọi người giúp tôi nhé. Thanks
 

File đính kèm

  • Tim du lieu giong nhau.xls
    16 KB · Đọc: 24
Lần chỉnh sửa cuối:
Tôi có 1 sheet TongHop. Bây giờ tôi muốn kiểm tra xem ở vùng dữ liệu (B3:G18) đó có bao nhiêu dữ liệu giống nhau ( những dữ liệu giống nhau thì hiện màu giống nhau). Mọi người giúp tôi nhé. Thanks

Dữ liệu của bạn có 96 ô trong đó có đến 66 giá trị khác nhau, vậy thì lấy đâu ra đủ màu để tô cho bạn
 
Mình cảm ơn bạn. Thế thì phải làm thế nào để mình biết được trong vùng dữ liệu đó có bao nhiêu dữ liệu trùng nhau, và các dữ liệu trùng nhau đó thì xuất hiện bao nhiêu lần? Đó là tất cả yêu cầu mà mình muốn làm được trong sheet đó mà. Bạn xem lại giúp mình nhé.
 
Em sử dụng hàm index, match để tìm kiếm thông tin. Em xin gửi file đính kèm.( Em xin lỗi, công thúc này trước đây được mọi người trên diễn đàn chỉ giúp ) nay em áp dụng nó ra kết quả không đúng theo mã số mình chọn. Xin chỉ giúp em công thức với ạ. Em còn sử dụng công thức dạng tìm kiếm này vào nhiều file khác nhau nữa, nhưng em không dõ lắm về hàm index, match nên không biết nguyên nhân tại sao.
Em xin cảm ơn
Tôi thấy kết quả ra đúng rồi mà Bạn. Tôi chỉ sửa lại công thức ở hàng thứ 2 để tiện copy nếu cần. Bạn giải thích rõ cái nay em "áp dụng nó ra kết quả không đúng theo mã số mình chọn"???
Hàng đầu tiên thì áp dụng cho mã số được chọn. Hàng tiếp theo thì theo mã số đó cộng thêm 1?
Bài này Bạn có thể dùng hàm VLOOKUP cũng được.
Mã:
A13 =VLOOKUP($G$4;list;10;0)
Hàng tiếp theo
Mã:
[COLOR=Red][COLOR=Black]A14 =IF(ISERROR(VLOOKUP($G$4+rows($1:1);list;10;0));""[/COLOR][/COLOR];[COLOR=Red][COLOR=Black]VLOOKUP($G$4+rows($1:1);list;10;0))[/COLOR][/COLOR]
 

File đính kèm

  • New Folder.rar
    68.7 KB · Đọc: 47
Mình cảm ơn bạn. Thế thì phải làm thế nào để mình biết được trong vùng dữ liệu đó có bao nhiêu dữ liệu trùng nhau, và các dữ liệu trùng nhau đó thì xuất hiện bao nhiêu lần? Đó là tất cả yêu cầu mà mình muốn làm được trong sheet đó mà. Bạn xem lại giúp mình nhé.
Ban tham khảo ví dụ nhé
 

File đính kèm

  • Tim du lieu giong nhau.xls
    40 KB · Đọc: 60
Mình cảm ơn vieth. Đó là cách làm rất hay. Mình muốn bạn hướng dẫn mình cách làm dạng bài tập này được không? Mình đã tìm hiểu rồi nhưng vãn chưa thực sự hiểu rõ. Rất mong bạn giúp đỡ. Chúc bạn buổi tối vui vẻ.
 
Dùng condition format cũng hoàn toàn có thể được. Trong trang ví dụ mình chỉ để code tạo DS cho tiện. Ngoài ra hoàn toàn dùng công thức và condition format bạn tham khảo them.
Còn bạn bảo hướng dẫn thì có lẽ bạn cứ tham khảo mắc đâu ta gỡ đấy tiện hơn (Mình viết văn kém lắm )
 

File đính kèm

  • Tim gia trij trung.xls
    51 KB · Đọc: 27
Cảm ơn Minhcong. Nó ra kết quả không đúng tức là: dữ liệu tìm ra không theo mã số đã chọn.
Kết quả em mong muốn là:Khi chọn stt là 1 thì chỉ những dữ liệu có stt này hiện ra thôi ạ chứ không phải là ra tất cả các dòng khi có công thức
Trong file em gửi phần em bôi mầu vàng nó không mang stt ( mã số ) 1 mà cũng hiện ra khi có công thức
Xin xem lại giúp em
 
Mình đã xem file ví dụ của bạn rồi. Cho mình hỏi ở sheet 3 bạn có viết một số cấu trúc vòng lặp. Điều đó mình chưa hiểu. Hơn nữa cho mình hỏi cách "tạo DS". Khi bấm vào đó thì dữ liệu ở cột M được sắp xếp lại
 
Sheet 3 hoàn toàn không có liên quan đến 2 sheet kia mà đó chỉ là 1 số đoạn Code ví dụ về Dictionary. Đây là 1 trong những chiêu khá hay về việc dùng Code (VBA) để tạo danh sách đấy. Mình muốn bạn tham khảo để hiểu rõ hơn về đoạn Code tạo danh sách. Tìm các bài của Ndu có nhiều bài về vấn đề này hay lắm.
 
Dùng condition format cũng hoàn toàn có thể được. Trong trang ví dụ mình chỉ để code tạo DS cho tiện. Ngoài ra hoàn toàn dùng công thức và condition format bạn tham khảo them.
Còn bạn bảo hướng dẫn thì có lẽ bạn cứ tham khảo mắc đâu ta gỡ đấy tiện hơn (Mình viết văn kém lắm )
Anh Sealand ơi, code Danhsach của anh có thể bỏ bớt vòng lập thứ 2 được đấy
Sau khi qua vòng lập và nạp dữ liệu vào Dictionary Object, nếu anh muốn lấy chúng ra ngoài bảng tính thì:
PHP:
Sub DanhSach()
   Dim Dic
   Set Dic = ......
   For....
   ....
   Next
   Range("...").Resize(Dic.Count) = WorksheetFunction.Transpose(Dic.Keys)
   'Hoặc
   'Range("...").Resize(Dic.Count) = WorksheetFunction.Transpose(Dic.Items) ---> Tùy theo anh muốn lấy cái gì
End Sub
Không cần phải thêm 1 vòng lập nữa lấy dữ liệu!
 
Cám ơn Ndu nhé. Đôi khi cứ mải ngó sang hàng xóm mà không biết đồ nhà cũng khối thứ hay ra phết ấy chứ nhỉ. Rút kinh nghiệm phải đề cao "Chủ nghĩa quốc nội" vì ưu điểm của nó là tiện và nhanh hơn tất cả.
Một lần nữa cám ơn Ndu nhé.
 
Web KT

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

Back
Top Bottom