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.
Bạn xem file đính kèm nhé.
 

File đính kèm

  • bai kiem tra.rar
    17.3 KB · Đọc: 87
Nếu danh sách hơn ngàn em thì đây là 1 tham khảo không tồi

PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [c6]) Is Nothing Then
   Dim Sh As Worksheet, Rng As Range, sRng As Range
 
   Set Sh = Worksheets("TuyenSinhKhoiD")     'GanTen Vay De Coi!'
   Set Rng = Sh.Range(Sh.[c6], Sh.[c6].End(xlDown))
   Set sRng = Rng.Find(Target.Value, , xlFormulas, xlWhole)
   If sRng Is Nothing Then
      MsgBox "Hay Xem Lai So Bao Danh Nay!", , "GPE.COM"  '!!'
   Else
      [a10].Resize(, 6).Value = sRng.Offset(, 1).Resize(, 6).Value
   End If
 End If
End Sub
 
PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [c6]) Is Nothing Then
   Dim Sh As Worksheet, Rng As Range, sRng As Range
 
   Set Sh = Worksheets("TuyenSinhKhoiD")     'GanTen Vay De Coi!'
   Set Rng = Sh.Range(Sh.[c6], Sh.[c6].End(xlDown))
   Set sRng = Rng.Find(Target.Value, , xlFormulas, xlWhole)
   If sRng Is Nothing Then
      MsgBox "Hay Xem Lai So Bao Danh Nay!", , "GPE.COM"  '!!'
   Else
      [a10].Resize(, 6).Value = sRng.Offset(, 1).Resize(, 6).Value
   End If
 End If
End Sub
------------
Gởi Anh ChanhTQ, cho tôi tham gia ý kiến:
- Trong trường hợp khi nhập số báo danh có thực trước: ra kết quả => Đúng
- Nhập tiếp số báo danh không có thực: ra thông báo xem lại SBD này => Đúng, nhưng đồng thời vùng có số liệu phải bằng rổng phải không anh ?
- Khi cell C6 bằng rổng: ra thông báo hảy nhập số BD và vùng dử liệu phải bằng rổng,
Chúc vui
 
cách dùng kết hợp hàm Vlookup và Match , mong các huynh giúp đõ giùm

mong các pro giúp giùm em bài tập này nha !$@!!
 

File đính kèm

  • BaitapExcel.xls
    17.5 KB · Đọc: 56
Lần chỉnh sửa cuối:
mong các pro giúp giùm em bài tập này nha !$@!!
Đáp ứng ba cách theo yêu cầu của bạn, công thức tính đơn giá như sau:
PHP:
Ô G12 = VLOOKUP($D12,$A$3:$E$8,MATCH($E12,$B$3:$E$3)+1,0)
PHP:
Ô H12 = =HLOOKUP($E12,$A$3:$E$8,MATCH($D12,$A$3:$A$8,0),0)
PHP:
Ô I12 = INDEX($A$3:$E$8,MATCH($D12,$A$3:$A$8,0),MATCH($E12,$A$3:$E$3))
Phần còn lại là của bạn, lấy cột số lượng nhân với các công thức trên. Sau đó copy công thức xuống dưới.
 

File đính kèm

  • BaitapExcel.xls
    19 KB · Đọc: 37
Lần chỉnh sửa cuối:
Đáp ứng ba cách theo yêu cầu của bạn, công thức tính đơn giá như sau:
PHP:
Ô G12 = VLOOKUP($D12,$A$3:$E$8,MATCH($E12,$B$3:$E$3)+1,0)
PHP:
Ô H12 = =HLOOKUP($E12,$A$3:$E$8,MATCH($D12,$A$3:$A$8,0),0)
PHP:
Ô I12 = INDEX($A$3:$E$8,MATCH($D12,$A$3:$A$8,0),MATCH($E12,$A$3:$E$3))
Phần còn lại là của bạn, lấy cột số lượng nhân với các công thức trên. Sau đó copy công thức xuống dưới.
Thanks ca_dafi nhiu %#^#$
 
Hàm hoặc code dò tìm nào thay thế VLOOKUP

Chào các Anh/Chị thân mến !!!
Tôi có một bài về dò tìm mà không muốn sử dụng hàm Vlookup mong các Anh/Chị chỉ giúp . (bởi vì khi tôi sử dụng Vlookup thì phải kéo công thức theo cột B kết quả ra không đẹp lắm)
Ví dụ : Cột A có dữ liệu: 123, 456, 890, 147, 258, ....
Cột B có : 123, 456, 111, 147, 555
Cột C có kết quả : 111, 555
Cột kết quả : Khi ta lấy cột B đem dò tìm ở cột A nếu số nào không có thì hiện ra ở cột kết quả (theo dòng liên tục không bị cách dòng như hàm Vlookup)
Mong các Anh/Chị giúp đỡ có hàm nào khác không ? hoặc có thể viết bằng VBA.
Cám ơn các anh/Chị rất nhiều !
 

File đính kèm

  • do_tim.xls
    13.5 KB · Đọc: 32
các bác thông thái ơi giúp em với. Em dùng hàm Vlookup để dò nhưng CSDL có hai ông trùng tên nhưng khác họ( Em chia một cột họ và một cột tên ) làm thế nào để em có thể dò tìm các giá trị có liên quan đến 2 ông này không
 
các bác thông thái ơi giúp em với. Em dùng hàm Vlookup để dò nhưng CSDL có hai ông trùng tên nhưng khác họ( Em chia một cột họ và một cột tên ) làm thế nào để em có thể dò tìm các giá trị có liên quan đến 2 ông này không
Phải có CSDL mới có công thức. Trường hợp này giải quyết bằng cách tạo cột phụ, nối họ và tên lại, dùng Match() kết hợp với Index(). Hoặc nối trực tiếp trong công thức mảng.
 
Hàm vloopup bị lệch dòng

Mình làm 1 bảng update dữ liệu cổ phiếu từ mạng và sử dụng hàm vlookup để lấy giá khớp (cột 11) của 1 cổ phiếu nào đó nhưng giá trị lại bị lệch 1 dòng, khi lấy giá trị của cổ phiếu đầu tiên cũng bị báo lỗi. Bác nào giúp mình với. Thanks!
 

File đính kèm

  • Hoi ve vloopup.xlsx
    32 KB · Đọc: 16
Mình làm 1 bảng update dữ liệu cổ phiếu từ mạng và sử dụng hàm vlookup để lấy giá khớp (cột 11) của 1 cổ phiếu nào đó nhưng giá trị lại bị lệch 1 dòng, khi lấy giá trị của cổ phiếu đầu tiên cũng bị báo lỗi. Bác nào giúp mình với. Thanks!
Thử dùng công thức này xem:
PHP:
=VLOOKUP(B1&"*",A5:Y174,11,0)
 
Chào các Anh/Chị thân mến !!!
Tôi có một bài về dò tìm mà không muốn sử dụng hàm Vlookup mong các Anh/Chị chỉ giúp . (bởi vì khi tôi sử dụng Vlookup thì phải kéo công thức theo cột B kết quả ra không đẹp lắm)
Ví dụ : Cột A có dữ liệu: 123, 456, 890, 147, 258, ....
Cột B có : 123, 456, 111, 147, 555
Cột C có kết quả : 111, 555
Cột kết quả : Khi ta lấy cột B đem dò tìm ở cột A nếu số nào không có thì hiện ra ở cột kết quả (theo dòng liên tục không bị cách dòng như hàm Vlookup)
Mong các Anh/Chị giúp đỡ có hàm nào khác không ? hoặc có thể viết bằng VBA.
Cám ơn các anh/Chị rất nhiều !
Bạn thử code này xem:
PHP:
Sub KQ()
  Dim Clls As Range, DL As Range, CD As Range, i As Long, KQ As Range
  On Error GoTo Thoat
  Set DL = Application.InputBox("Chon vung DU LIEU", Type:=8)
  Set CD = Application.InputBox("Chon vung COT DO", Type:=8)
  Set KQ = Application.InputBox("Chon cell dau tien dat ket qua", Type:=8)
  For Each Clls In CD
    If DL.Find(Clls, LookAt:=xlWhole) Is Nothing Then
      KQ.Offset(i) = Clls.Value: i = i + 1
    End If
  Next Clls
Thoat:
End Sub
 

File đính kèm

  • do_tim.xls
    19.5 KB · Đọc: 26
Hàm hoặc code dò tìm nào thay thế VLOOKUP Trả Lời Ðề Tài

Chào các Anh/Chị thân mến !!!
Tôi có một bài về dò tìm mà không muốn sử dụng hàm Vlookup mong các Anh/Chị chỉ giúp . (bởi vì khi tôi sử dụng Vlookup thì phải kéo công thức theo cột B kết quả ra không đẹp lắm)
Ví dụ : Cột A có dữ liệu: 123, 456, 890, 147, 258, ....
Cột B có : 123, 456, 111, 147, 555
Cột C có kết quả : 111, 555
Cột kết quả : Khi ta lấy cột B đem dò tìm ở cột A nếu số nào không có thì hiện ra ở cột kết quả (theo dòng liên tục không bị cách dòng như hàm Vlookup)
Mong các Anh/Chị giúp đỡ có hàm nào khác không ? hoặc có thể viết bằng VBA.
Cám ơn các anh/Chị rất nhiều !

Có thể dùng hàm + cột phụ như sau .
 

File đính kèm

  • Copy of do_tim-1.xls
    18 KB · Đọc: 17
Mình dùng công thức này thì báo lỗi, chắc giá trị lookup value không phù hợp.
Lỗi gì vậy bạn? Sao tôi thử thì không hề thấy báo lỗi gì hết? Công thức đó chính xác đấy.

Nếu là tôi, tôi cũng sẽ dùng công thức đó (đã định trả lời cho bạn rồi, nhưng làm xong thì thấy anh Ndu đã nhanh tay hơn, nên tôi không gửi nữa)

Công thức của bạn bị sai, là do trong cột A của bạn, còn mấy cái ký tự tam giác nữa, mà bạn không đưa vào tham số của hàm VLOOKUP nên nó sẽ tìm đại một cái nào gần nhất (là cái ở ngay phía trên)...
 
Lúc nãy không hiểu sao mình copy y nguyên mà vẫn bị báo lỗi, còn bây giờ thì giá trị ra rất chính xác rồi, cám ơn mọi người nhiều :)
 
Mình tham gia 1 hàm UDF như sau

Mã:
Function NoMatch(Find_rg As Range, Val_Find As Range, k As Integer) As String
Dim i, j As Integer
Dim chuoi As String
j = 0
For i = 1 To Val_Find.Cells.Count
chuoi = Val_Find.Cells(i).Text
If Application.WorksheetFunction.CountIf(Find_rg, chuoi) = 0 Then
j = j + 1
If j = k Then
NoMatch = chuoi
Exit Function
End If
End If
Next
NoMatch = ""
End Function
 

File đính kèm

  • do_tim(1).xls
    29.5 KB · Đọc: 21
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom