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.
Hàm vlookup và lỗi NA

Mình có 1 file như sau là khi mình dùng hàm vlookup tìm kiếm dữ liệu bên cột E thì xuất hiện lỗi NA nếu mình muốn bổ sung dữ liệu bên cột E thêm thì phải làm sau. Mình thử làm nhiều cách mà không hiệu quả mong các ACE giúp. Thanks
 
Mình có 1 file như sau là khi mình dùng hàm vlookup tìm kiếm dữ liệu bên cột E thì xuất hiện lỗi NA nếu mình muốn bổ sung dữ liệu bên cột E thêm thì phải làm sau. Mình thử làm nhiều cách mà không hiệu quả mong các ACE giúp. Thanks
Dùng hàm ISNA nhé:
=IF(ISNA(VLOOKUP(B1,E:E,1,0)), "", VLOOKUP(B1,E:E,1,0))​
(công thức tại ô A1, sau đó copy xuống)
 
nhìn vào file không biết bạn định làm công việc j nữa. N/A là 1 biến số nếu không có thì ko thực hiện được, tại ô e17 = b17 là được thôi.
 
Không phải a Trường ơi ý em là muốn bổ sung dữ liệu thêm bên cột E nếu bên cột A tìm kiếm có lỗi NA bằng cách lấy dữ liệu của cột B đem vào cột E để cột E có dữ liệu bằng cột B từ đó sẽ không bị báo lỗi NA khi áp dụng công thức tìm kiếm ở cột A. Cái này quan trọng lắm tại vì em chỉ trích 1 phần thôi. Mong AC và các bạn giúp

Chưa hiểu ý bạn, thì bạn cứ copy hết cột B rồi Paste vào bên dưới cột E, sau đó dùng Advanced Filter để lọc ra các giá trị duy nhất của cột E thôi. Mà cũng lạ nếu làm như bạn thì cột A và cột B giống hệt nhau rồi, không hiểu??? Bạn hãy trình bày lại ý tưởng xem.
 
Viết giúp mình đoạn code

Em có câu hỏi này mong các bạn và AC giúp, ý em là nhờ AC viết dùm em code làm sao mình có thể bổ sung code cho bên côt A bên sheet "code" nếu bên sheet đó thiếu so vơi cột A bên sheet "dữ liệu" với điều kiện code được bổ sung được nằm tiếp theo ở bên dưới cột A sheet code. E cảm ơn AC và các bạn nhiều
 
Lần chỉnh sửa cuối:
cho mình hỏi có công thức nào dò tìm nào thay thế hàm vlookup không? dữ liệu của mình rất nhiều dòng. nếu dùng hàm vlooup, mở tập tin đó rất lâu. Giúp mình với nhe. cám ơn rất nhiều!
 
cho mình hỏi có công thức nào dò tìm nào thay thế hàm vlookup không? dữ liệu của mình rất nhiều dòng. nếu dùng hàm vlooup, mở tập tin đó rất lâu. Giúp mình với nhe. cám ơn rất nhiều!
Bạn có thể dùng hàm Index(), kết hợp với các hàm match(),hàm offset()... Và có thể còn nhiều hàm khác. Còn tùy thuộc vào dữ liệu, cấu trúc bảng dữ liệu mà bạn đang sử dụng.
Để có phương án tối ưu cho bài toán của bạn, bạn nên gửi file đính kèm lên đây.
 
dạ, mình không gởi file được. những nội dung là: mình muốn tìm địa chỉ khách hàng, thông qua mã khách hàng. giúp mình nhe. công việc phải dùm hàm vlookup rất nhiều!
 
Mình nhờ bạn giúp mình câu hỏi ở #6 đó bạn ơi, bạn coi hộ giúp mình với
Bạn dùng code này thử xem:
PHP:
Sub GPE()
For Each cll In Range(Sheets("du lieu").[A2], Sheets("du lieu").[A65536].End(xlUp))
If WorksheetFunction.CountIf(Sheets("code").[A:A], cll.Value) > 0 Then Sheets("code").[A65536].End(xlUp).Offset(1).Value = cll.Value
Next
End Sub
 
Macro của nút lệnh đó sẽ như sau

Mình nhờ bạn giúp mình câu hỏi ở #6 đó bạn ơi, bạn coi hộ giúp mình với

PHP:
Private Sub CommandButton1_Click()
 Dim Sh As Worksheet, Rng As Range, Clls As Range, sRng As Range
 Dim MyColor As Byte
 
 Set Sh = Sheets("code"):              Sheets("Du Lieu").Select
 Set Rng = Sh.Range(Sh.[A1], Sh.[a65500].End(xlUp))
 MyColor =Day(Date) Mod 6
 For Each Clls In Range([A2], [a65500].End(xlUp))
   Set sRng = Rng.Find(Clls.Value, , xlFormulas, xlWhole)   
   If sRng Is Nothing Then
      With Sh.[a65500].End(xlUp).Offset(1)
         .Value = Clls.Value
         .Interior.ColorIndex = 34 + MyColor
      End With
      Clls.Font.ColorIndex = MyColor
      Set Rng = Sh.Range(Sh.[A1], Sh.[a65500].End(xlUp))
   End If
 Next Clls
End Sub
 
Em có câu hỏi này mong các bạn và AC giúp, ý em là nhờ AC viết dùm em code làm sao mình có thể bổ sung code cho bên côt A bên sheet "code" nếu bên sheet đó thiếu so vơi cột A bên sheet "dữ liệu" với điều kiện code được bổ sung được nằm tiếp theo ở bên dưới cột A sheet code. E cảm ơn AC và các bạn nhiều
Theo cách củ chuối của mình thì copy tất cả dữ liệu của cột A sheet1 sang sheet2 cột A rồi sau đó xóa bỏ những thằng trùng đi là được.

Mã:
Sub Dan()
    Sheet1.Range("A2", "A" & Sheet1.Range("A65536").End(xlUp).Row).copy _
    Destination:=Sheet2.Range("a" & Sheet2.Range("A65536").End(xlUp).Row + 1)
Call Unique
Sheet2.Activate
End Sub
Sub Unique()
Dim x As Long
Dim LastRow As Long
LastRow = Sheet2.Range("A65536").End(xlUp).Row
    For x = LastRow To 1 Step -1
        If Application.WorksheetFunction.CountIf(Sheet2.Range("A2:A" & x), Sheet2.Range("A" & x).Text) > 1 Then
            Sheet2.Range("A" & x).EntireRow.Delete
        End If
    Next x
End Sub

Bạn tham khảo thêm file nhé.
 

File đính kèm

  • vlookup.xls
    42 KB · Đọc: 13
Sử dụng Vlookup & If trong bài này như thế nào?

Chào cả nhà!!!!
cả nhả giúp mình nha!
Mình có 1 file trong đó có 2 sheet (DM,IP)
sheet DM gồm các cột:

From To Code2 Code3 Country
50331648 69956103 US USA UNITED STATES
69956104 69956111 BM BMU BERMUDA
69956112 72349055 US USA UNITED STATES
72349056 72349119 BM BMU BERMUDA
72349120 83886079 US USA UNITED STATES
100663296 121195295 US USA UNITED STATES
121195296 121195327 IT ITA ITALY
121195328 134693119 US USA UNITED STATES
134693120 134693375 CA CAN CANADA
134693376 134730239 US USA UNITED STATES
134730240 134730495 CA CAN CANADA
134730496 152305663 US USA UNITED STATES
Sheet IP gồm
IP Date Amount Country
1209947904 16/08/2009 2
2927959040 16/08/2009 2
1094150656 16/08/2009 1
985307904 16/08/2009 1
1209947904 16/08/2009 23
1094176512 16/08/2009 1
1094177280 16/08/2009 2
1092940032 16/08/2009 10
1123632128 16/08/2009 2
1934250496 16/08/2009 1
3654606848 16/08/2009 4

Giờ mình muốn dựa vào cột IP ở sheet IP để lấy cột Country ở sheet DM
Mình tính dùng hàm vlookup nhưng không được vì điều kiện tìm là một khoảng giá trị

vd: nếu IP=120994790 thì nó nằm trong khoảng from: 100663296 và To: 121195295 vậy country được lấy ra phải là UNITED STATES

Các bạn giúp mình với nha! cảm ơn các bạn nhiều!!!!!
_________________________________________
Bài trước của bạn bị xoá vì sai box và tiêu đề vô nghĩa. Bài này cũng vậy. Bạn giải thích nghĩa của tiêu đề: "voolkupif" và 1 chục dấu hỏi xem?
Hôm nay tôi sửa tiêu đề cho bạn và dời về đúng box. Mong lần sau bạn chú ý hơn.
Ptm0412
 

File đính kèm

  • ip-to-country_1.rar
    6.6 KB · Đọc: 81
Chỉnh sửa lần cuối bởi điều hành viên:
Nhớ không lầm thì tôi đã trả lời bài này rồi!
Bạn xem lại, số IP ở 2 sheet không đồng nhất... bên có dấu chấm, bên không có, độ dài chuổi cũng khác nhau.. vậy tìm thế nào đây?
Bạn giải thích rõ hơn về mấy số này đi
Nếu nhập liệu đồng nhất thì hoàn toàn có thể dùng VLOOKUP để dò (dò không chính xác)
 
Tôi thấy bảng dữ liệu bạn đưa lên dữ liệu cũng không hợp lý như bác Ndu nói
Khôngh hiểu từ địa chỉ IP ví dụ như: 65.55.210.64 làm thế nào để so sánh với dữ liệu bên Sheet DM. Hay phải dùng đến 1 thuật toán quy đổi nào nữa à?
 
Em có câu hỏi này mong các bạn và AC giúp, ý em là nhờ AC viết dùm em code làm sao mình có thể bổ sung code cho bên côt A bên sheet "code" nếu bên sheet đó thiếu so vơi cột A bên sheet "dữ liệu" với điều kiện code được bổ sung được nằm tiếp theo ở bên dưới cột A sheet code. E cảm ơn AC và các bạn nhiều

Bạn thử dùng Code này nhé! Mong bạn OK với nó!
PHP:
Sub LocDanhSach()
Range(Sheet2.[A1], Sheet2.[a65536].End(xlUp)).Clear
Range(Sheet1.[A1], Sheet1.[a65536].End(xlUp)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheet2.Range("A1"), Unique:=True
End Sub
 

File đính kèm

  • vlookup1.xls
    44 KB · Đọc: 10
Lần chỉnh sửa cuối:
Bạn thử dùng Code này nhé! Mong bạn OK với nó!
PHP:
Sub LocDanhSach()
Range(Sheet2.[A1], Sheet2.[a65536].End(xlUp)).Clear
Range(Sheet1.[A1], Sheet1.[a65536].End(xlUp)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheet2.Range("A1"), Unique:=True
End Sub
Viết lại cho nó... gọn gọn tí đồng chí ơi
PHP:
Sub LocDanhSach()
  Sheet2.Range("A:A").Clear
  With Range(Sheet1.[A1], Sheet1.[A65536].End(xlUp))
    .AdvancedFilter 2, , Sheet2.Range("A1"), True
  End With
End Sub
--=0 --=0 --=0
 
Viết lại cho nó... gọn gọn tí đồng chí ơi
PHP:
Sub LocDanhSach()
  Sheet2.Range("A:A").Clear
  With Range(Sheet1.[A1], Sheet1.[A65536].End(xlUp))
    .AdvancedFilter 2, , Sheet2.Range("A1"), True
  End With
End Sub
--=0 --=0 --=0

Dạ, em cám ơn Thầy rất rất nhiều ạ, ngắn gọn, nhanh chóng, hiệu quả là tiêu chí của em, khổ nỗi em chưa có trình độ thực hiện nó Thầy ui.
Thanks.
 
Bạn nên dùng hàm LOOKUP(lookup_value,lookup_vector,result_vector)
VD: bạn nhập giá trị a vào cell A15; [r cell A16 bạn nhập
=LOOKUP(A15;DM!$A$1:$A$13;DM!$E$1:$E$13)
bạn sẽ có kết quả như mong muốn (với điều kiện sheet DM column From phải sắp theo thứ tự)
 
anh duongdv giúp em công thức thay thế hàm vlookup nhe.em đang rất cần. Cám ơn anh nhiều lắm!em goi file đính kèm -0-/..
 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom