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.
Trời, bạn đưa một loạt file lên thì biết file nào mà làm, chỉ nên up những file cần thiết lên đây để mọi người mới biết mà giúp đỡ chứ !

Ah em quên giải thích 1 tí trong file đính kèm em gủi có hai thư mục.
Thư mục vidu là em làm ngắn gọn cho các anh chị dễ nhìn. Còn thư mục Dữ liệu thật nó chứa rất nhiều data.
 
Ah em quên giải thích 1 tí trong file đính kèm em gủi có hai thư mục.
Thư mục vidu là em làm ngắn gọn cho các anh chị dễ nhìn. Còn thư mục Dữ liệu thật nó chứa rất nhiều data.
Sao không được
=VLOOKUP(RIGHT(B6,LEN(B6)-2),[LOTVCVQ.xls]VC0910!$A$2:$B$23,2,0)
Sửa lại cột B6 trong sheet DHR10 thành VC0909-0010 vì trong bảng dò của bạn không có VC0909-0001
Thân
 
Sao không được
=VLOOKUP(RIGHT(B6,LEN(B6)-2),[LOTVCVQ.xls]VC0910!$A$2:$B$23,2,0)
Sửa lại cột B6 trong sheet DHR10 thành VC0909-0010 vì trong bảng dò của bạn không có VC0909-0001
Thân

Cám ơn anh đã trả lời.
Ý em là ở đây phần VC0910 tô đỏ đó. Vì một sản phẩm ABC (Lot VN) sẽ sử dụng nhiều loại sản phẩm trung gian (Lot VC) nhưng sản phẩm trung gian này lai được sản xuất ở những tháng khác nhau VC0907 ... VC0909 ... VC0910 ... nên anh chị có cách nào khác không ạ.
Với công thức trên của anh thì Lot trung gian nhập vào là của tháng 10 thì vlookup OK nhưng nếu là của tháng khác thì nó ko tìm thấy dữ liệu.

BTW: Em xin up lại file DHR_new vi file cũ có phần nhầm lần là tát cả các lot trung gian của cac tháng đều là VC0909.... Sorry all+-+-+-+
 

File đính kèm

  • DHR_new.rar
    288.3 KB · Đọc: 52
Lần chỉnh sửa cuối:
Cám ơn anh đã trả lời.
Ý em là ở đây phần VC0910 tô đỏ đó. Vì một sản phẩm ABC (Lot VN) sẽ sử dụng nhiều loại sản phẩm trung gian (Lot VC) nhưng sản phẩm trung gian này lai được sản xuất ở những tháng khác nhau VC0907 ... VC0909 ... VC0910 ... nên anh chị có cách nào khác không ạ.
Với công thức trên của anh thì Lot trung gian nhập vào là của tháng 10 thì vlookup OK nhưng nếu là của tháng khác thì nó ko tìm thấy dữ liệu.

BTW: Em xin up lại file DHR_new vi file cũ có phần nhầm lần là tát cả các lot trung gian của cac tháng đều là VC0909.... Sorry all+-+-+-+
Không biết đúng sai nữa : hình như cái LOTVC của bạn có 12 tháng thì phải, theo mình có 2 cách nhưng hơi buồn cười, trúng ý thì bạn làm còn không thì coi như để tham khảo
1 - Gom hết các cái VC của bạn vào một sheet thôi, dò ra liền
2 - Nếu vì lý do gì đó không gom được ta giải quyết cách sau:
Tạo một bảng dò (nếu đúng bạn có 12 cái Vc)
Cột 1 cột 2
VC0901 =VLOOKUP(RIGHT($B$6,LEN($B$6)-2),[LOTVCVQ.xls]VC0901!$A$2:$B$100,2,0)
VC0902 =VLOOKUP(RIGHT($B$6,LEN($B$6)-2),[LOTVCVQ.xls]VC0902!$A$2:$B$100,2,0)
CHO TỚI VC0912
Ở CỘT B6 BẠN NHẬP
=VLOOKUP(LEFT(B6,6),VÙNG CỘT 1 CỘT 2,2,0)
Vì mình không up bài lên được bạn thông cảm nhé
Thân
 
Không biết đúng sai nữa : hình như cái LOTVC của bạn có 12 tháng thì phải, theo mình có 2 cách nhưng hơi buồn cười, trúng ý thì bạn làm còn không thì coi như để tham khảo
1 - Gom hết các cái VC của bạn vào một sheet thôi, dò ra liền
2 - Nếu vì lý do gì đó không gom được ta giải quyết cách sau:
Tạo một bảng dò (nếu đúng bạn có 12 cái Vc)
Cột 1 cột 2
VC0901 =VLOOKUP(RIGHT($B$6,LEN($B$6)-2),[LOTVCVQ.xls]VC0901!$A$2:$B$100,2,0)
VC0902 =VLOOKUP(RIGHT($B$6,LEN($B$6)-2),[LOTVCVQ.xls]VC0902!$A$2:$B$100,2,0)
CHO TỚI VC0912
Ở CỘT B6 BẠN NHẬP
=VLOOKUP(LEFT(B6,6),VÙNG CỘT 1 CỘT 2,2,0)
Vì mình không up bài lên được bạn thông cảm nhé
Thân
Đún như bạn đã hỏi Lot VC nhập cho mỗi tháng (tức là 12 sheet riêng biệt).
Cám ơn bạn đã gợi ý nhưng thật sự mình vẫn chưa rõ bạn có thể up file lên được ko?
Nhân tiện cho mình hỏi là có thể giải quyết vấn đề bằng VBA được ko. vì file trong thư mục dữ liệu của mình rất lớn.
 
Đún như bạn đã hỏi Lot VC nhập cho mỗi tháng (tức là 12 sheet riêng biệt).
Cám ơn bạn đã gợi ý nhưng thật sự mình vẫn chưa rõ bạn có thể up file lên được ko?
Nhân tiện cho mình hỏi là có thể giải quyết vấn đề bằng VBA được ko. vì file trong thư mục dữ liệu của mình rất lớn.
Thật ra mình cũng chẳng biết ở cái sheet DHR bạn cần thể hiện những cái gì nữa. Dùng VBA thì thì là cách như mình tạo một bảng dò trung gian đó thôi : tức là nếu bạn nhập VC0901 thì mình sẽ dò tìm ở sheet VC0901 ......VC0912 thì dò ở sheetvc0912
Nếu mình up bài lên được thì đã gởi cho bạn "zồi" đâu phải dài dòng lê thê như thế này
Nếu được bạn hãy gơi bài của bạn qua đc mail haisoccon@yahoo.com.vn nhưng nhớ lược bỏ những cái không cần thiết nhìn cho đỡ rối mắt và nói rõ yêu cầu thể hiện trong sheetDHR nhé
Thân
 
tư vấn về hàm vlookup: dò tìm không chính xác

chào,
xin hỏi về hàm vlookup
mình dùng hàm vlookup để dò tìm giá trị trong 1 khối, tuy nhiên giá trị phải chính xác tuyệt đối thì hàm mới tìm ra được, nhưng trong công việc, mình không chỉ muốn chính xác tương đối. vd: vlookup tên "nguyen van nam" trong 1 khối, mà khối đó đó tên là "nguyen van na", thì hàm vẫn liệt ra. xin hỏi các bạn bằng cách nào. tks
 
=VLOOKUP(E6,B2:C4,2,0)
Bạn thử thêm số 0 phía sau nữa xem!
 
Tôi nghĩ là hàm Vlookup không làm được điều này và mong rằng đừng bao giờ nó làm được điều này. Vì nó mà làm được thì sẽ có câu chuyện như sau: nguyen van nam thi đỗ đại học nhưng do người ta dùng Vlookup nên điểm của nguyen van nam được nhập vào dòng nguyen van na kết quả là nguyen van na được gọi nhập học còn nguyen van nam ... lang thang nhặt ống bơ. Oan uổng quá bác Bill ơi.

chào,
xin hỏi về hàm vlookup
mình dùng hàm vlookup để dò tìm giá trị trong 1 khối, tuy nhiên giá trị phải chính xác tuyệt đối thì hàm mới tìm ra được, nhưng trong công việc, mình không chỉ muốn chính xác tương đối. vd: vlookup tên "nguyen van nam" trong 1 khối, mà khối đó đó tên là "nguyen van na", thì hàm vẫn liệt ra. xin hỏi các bạn bằng cách nào. tks

Tôi nghĩ là hàm Vlookup không làm được điều này và mong rằng đừng bao giờ nó làm được điều này. Vì nó mà làm được thì sẽ có câu chuyện như sau: nguyen van nam thi đỗ đại học nhưng do người ta dùng Vlookup nên điểm của nguyen van nam được nhập vào dòng nguyen van na kết quả là nguyen van na được gọi nhập học còn nguyen van nam ... lang thang nhặt ống bơ. Oan uổng quá bác Bill ơi.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Cái này là lỗi người lập công thức chứ! Sao lại đổ cho bác Bill. Nếu bác muốn chính xác thì dùng hàm Index + Match đó. Hoặc dùng VBA càng tốt.
Nói chung là tuỳ theo bài toán mà ta dùng cho chính xác hay không?!
 
Cái này là lỗi người lập công thức chứ! Sao lại đổ cho bác Bill. Nếu bác muốn chính xác thì dùng hàm Index + Match đó. Hoặc dùng VBA càng tốt.
Nói chung là tuỳ theo bài toán mà ta dùng cho chính xác hay không?!

Tôi đâu có nói là cách khác không làm được mà chỉ nói là Vlookup thì không được và hình như Index + Match cũng không (tôi chỉ nghĩ vậy - chưa test).

Tôi nghĩ bài này nên đặt câu hỏi theo cách khác có lẽ hay hơn vì bài này thuộc dạng tìm kiếm trong chuỗi giống như tìm trên trên danh bạ điện thoại (hơi khoai).
 
Lần chỉnh sửa cuối:
Đã vậy thì chỉ còn cách "Thử mới tin" thôi! hihihi
 

File đính kèm

  • Thu.xls
    13.5 KB · Đọc: 31
Đã vậy thì chỉ còn cách "Thử mới tin" thôi! hihihi

Tôi đã test bài của bạn nhưng có được đâu, kết quả vẫn y chang như dùng Vlookup thôi. Người ta muốn tìm nguyen van na thì được kết quả của nguyen van nam cơ mà bạn.
 
chào,
xin hỏi về hàm vlookup
mình dùng hàm vlookup để dò tìm giá trị trong 1 khối, tuy nhiên giá trị phải chính xác tuyệt đối thì hàm mới tìm ra được, nhưng trong công việc, mình không chỉ muốn chính xác tương đối. vd: vlookup tên "nguyen van nam" trong 1 khối, mà khối đó đó tên là "nguyen van na", thì hàm vẫn liệt ra. xin hỏi các bạn bằng cách nào. tks
Nếu trong DS có cả Nguyễn Văn Na và Nguyễn văn Nam thì sao, nếu phải lọc ra hết thì sao Vlookup được, chắc phải Advanced Filter... thôi.
 
Lần chỉnh sửa cuối:
Tìm_

Các cao thủ tranh luận làm sáng nhiều điều. Xin cám ơn.
Bạn làm thử: Đánh dấu ô ... vào tìm kiếm và thay thế và Find All
 

File đính kèm

  • Tim_NAM.rar
    143.5 KB · Đọc: 28
Yêu cầu của bạn minghng tại #1 nếu dùng hàm thì khó, còn dùng VBA thì không khó. Với ví dụ trong file của Pozsi thì code như sau:
Mã:
Sub Tim()
[h6] = [c:c].Find([g6]).Offset(, 1)
End Sub
 

File đính kèm

  • Copy of Thu-1.xls
    23.5 KB · Đọc: 15
Nếu để hiện cả Nguyen Van Na & Nguyen Van Nam, . . . Thì:

PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [g6]) Is Nothing Then
   Dim Rng As Range, sRng As Range, MyAdd As String
   
   Set Rng = Range([C5], [C65500].End(xlUp))
   [g7].Resize(Rng.Rows.Count, 2).Clear
   Set sRng = Rng.Find(Target.Value, , xlFormulas, xlPart)
   If Not sRng Is Nothing Then
      MyAdd = sRng.Address
      Do
         [g65500].End(xlUp).Offset(1).Resize(, 2).Value = sRng.Resize(, 2).Value
         Set sRng = Rng.FindNext(sRng)
      Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
   End If
 End If
End Sub
 
Gặp vấn đề với hàm vlookup: Kết quả bị lỗi

"Gặp vấn đề lớn với hàm vlookup"

Chào các bạn, hiện tại mình đang gặp trục trặc với hàm vlookup

Mình đã sử dụng vlookup nhiều lần và không gặp trục trặc, tuy nhiên với file đính kèm dưới đây thì xảy ra tình trạng hàm không hiểu thị với [range_lookup] bằng 0, và hiển thị sai khi bằng 1. Lạ 1 điểm là trong hơn 1000 dòng, vẫn có vài dòng hiển thị đúng.

Nhờ anh chị em giúp mình cái nhé.

( mình muốn sử dụng để cột I đọc kết quả từ cột J theo định nghĩa từ sheet "Phân loại"

File:
https://www.yousendit.com/download/TzY1M25PK3g4NVVLSkE9PQ
 
Sẽ chỉ còn là vấn đề nhỏ, nếu bạn xài địa chỉ hỗn hợp trong hàm

Tại [I2] thay vì =VLOOKUP(J:J,'Phân loại'!A1:B555,2,1)
Ta nên xài =VLOOKUP(J:J,'Phân loại'!A$1:B$555,2,1)
Lúc đó bạn & chúng ta sẽ chỉ còn 1 lỗi trong cột đó mà thôi!

Tiếp nữa, có thể xài vùng đã được gán tên, như sau:

Tại [I1238] ta thiết chế công thức =VLOOKUP(J:J, SoDep, 2, 1) ; Với vùng SoDep là vùng nào bạn biết rồi đó! --=0 :-= --=0
 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom