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.
Trong ô G5 bạn nhập công thức:
=VLOOKUP(LEFT(F5,1),$C$15:$F$17,2,0)&" "&VLOOKUP(VALUE(RIGHT(F5,2)),$I$15:$K$16,2,0)
Trong ô H5 bạn nhập:
=IF(RIGHT(F5,1)="1",VLOOKUP(LEFT(F5,1),$C$20:$E$22,2,0),VLOOKUP(LEFT(F5,1),$C$20:$E$22,3,0))
Trong ô I5 bạn nhập:
=VLOOKUP(LEFT(F5,1),$C$15:$F$17,4,0)
Mà bạn đừng nên dùng Merge Cells trong Vùng tìm kiếm (D15:E15), như vậy rất khó để bạn xác định cột trả về.
 
Dùng Hàm vlookup tìm giá trị theo 2 biến

Em muốn hỏi: dùng hàm Vlookup để tìm kiếm gía trị theo 2 biến thì cần kết hợp các hàm khác như thế nào?Hoặc có thể chỉ dùng 1 hàm Vlookup có được không ạ? Ví dụ như tra hệ số k theo l/b và z/b...Cảm ơn các anh nhiều.
 
Lần chỉnh sửa cuối:
dùng hàm Vlookup để tìm kiếm gía trị theo 2 biến thì cần kết hợp các hàm khác như thế nào?
Tôi thấy bạn pce hỏi cũng có lý, nếu không dùng vba, hay Execl2007 thì Vlookup theo 2 biến cũng khó.
Theo tôi dùng if kết hợp offset để thay vùng range. Nếu có vd sẽ cụ thể.
 
Vâng em cảm ơn nhiều!Em đưa ví dụ (co file kèm theo) trong bài này em muốn tìm hệ số ko theo hai biến z/b và l/b.
 

File đính kèm

  • Tinh US của móng.xls
    36 KB · Đọc: 141
Chỉnh sửa lần cuối bởi điều hành viên:
connhangheo đã viết:
thanks các bác rất nhiều
Nhưng có cái là em vẫn ko hiểu thêm số 0 ở cuối và ko có số 0 đó thì khác nhau như thế nào, vì từ trước đến giờ em nghĩ 2 cách trên là như nhau.
Cách mình tự học chức năng các hàm trong Excel như này, thay vì mình đánh trực tiếp tên công thức trực tiếp vào ô, mình sẽ chọn Insert\Function. Khi bạn chọn hàm cần dùng, hộp thoại Function Agrument hiện ra, với một chút kiến thức Tiếng anh, bạn sẽ rõ hiểu hơn từng chức năng của các phần tử trong hàm. Chúc bạn vui !
 
Chắc bạn chưa biết cách upload. Bạn xem file ví dụ nhé. Áp dụng thủ thuật.
Thân
 

File đính kèm

  • Vlookup_2_Conditions.rar
    2.6 KB · Đọc: 362
cái lày thì PCE chỉ cần dùng hai hàm Index và match lồng vào nhau thôi, chú ý dữ liệu dạng gì? cần phải thống nhất. Bạn tìm thêm trên DD về hàm Index và Match nhé, đã chỉ dẫn rõ ràng rồi.
Thân.
PS. Đây là link đến bài viết
http://www.giaiphapexcel.com/forum/showthread.php?t=264
 
Lần chỉnh sửa cuối:
ban oi giup minh lam bai nay voi ham Vlookup moi? cam on truoc nhe. Ban dung dung ham if nhe! dang bai ve giai phuong trinh bac hai
 
/(/hắc bạn về nội quy diễn đàn nha: Phải có dấu tiếng việt

man231186 đã viết:
ban oi giup minh lam bai nay voi ham Vlookup moi? cam on truoc nhe. Ban dung dung ham if nhe! dang bai ve giai phuong trinh bac hai

Bạn tìm trên diễn đàn với từ khóa: 'phương trình bậc hai'
hay tham khảo ở đây, nếu đúng í thì đến nội quy diễn đàn đọc lại ba lần nữa nha!
http://www.giaiphapexcel.com/forum/showthread.php?t=1265
 
Ham Vlookup() tim tren 2 sheet khac nhau.

Mình đang làm báo giá form mẫu cho công ty. Đại loại thê này, khi đánh cole No. ở sheet báo giá, thì các thông số sẽ tự tìm ở 2 sheet data còn lại, để cho ra dữ liệu. Nếu mà 1 sheet thì mình làm ok, nhưng 2 sheet thi làm thế nào nhỉ....
Thank you cac bac/
 
Nếu mà 1 sheet thì mình làm ok, nhưng 2 sheet thi làm thế nào nhỉ.... thì làm hàm tìm kiếm như bạn nói chứ sao. Gửi file ví dụ lên đi bạn,
 
Day la vi du cua minh
 

File đính kèm

  • Vlookup.xls
    16.5 KB · Đọc: 147
Chỉnh sửa lần cuối bởi điều hành viên:
Với mã K1009 ô C6=VLOOKUP(B6;[Nhap2.xls]Sheet1!$A$1:$B$7;2;0)
Trong đó [Nhap2.xls]Sheet1!$A$1:$B$7 là vùng A1 đến B7 thuộc Sheet1 của File Nhap2.xls
File Nhap2.xls có chứa dữ liệu của bạn đã mở. Vùng dữ liệu nên đặt Name. Khi nhập vùng tìm kiếm thì bạn truy vấn đến file nhap2.
Thân mến!
 
hatcamthao đã viết:

Tức là tìm không thấy bên sheet này thì phải nhảy qua sheet kia tìm tiếp. Bạn xem nhé.

Có điều tại sao lại không nối dữ liệu vào chung một sheet hả bạn?
 

File đính kèm

  • Vlookup 15-Oct-07 16-32.Rar
    4.9 KB · Đọc: 149
Có phải tìm Data1 không có thì tìm sang data2
Bạn dùng ct sau:
C6:=IF(ISNA(VLOOKUP($B6,data1!$B$6:$D$20,2,0)),"",VLOOKUP($B6,data1!$B$6:$D$20,2,0))&""&IF(ISNA(VLOOKUP($B6,data2!$B$6:$D$20,2,0)),"",VLOOKUP($B6,data2!$B$6:$D$20,2,0))
D6:=VALUE(IF(ISNA(VLOOKUP($B6,data1!$B$6:$D$20,3,0)),"",VLOOKUP($B6,data1!$B$6:$D$20,3,0))&""&IF(ISNA(VLOOKUP($B6,data2!$B$6:$D$20,3,0)),"",VLOOKUP($B6,data2!$B$6:$D$20,3,0)))
 
Đồng ý rằng trong trường hợp này Excel cũng giải quyết dc, nhưng có phải là công thức đã phức tạp đi rất nhiều ko? Tôi đang thắc mắc tại sao bạn ko đưa chung dử liệu vào 1 sheet nhỉ?
Công thức của ThuNghi trong trường hợp này thì dài quá ko cần thiết... Lấy cái của SoiBien, kết hợp thêm 1 cái IF ở trên đầu cùng là ổn rồi...
=IF(B6="","",IF(ISNA(.... )
Mến
ANH TUẤN
 
Lần chỉnh sửa cuối:
Một cách điền công thức VLOOKUP nhanh

Tôi thường điền nhanh công thức VLOOKUP bằng đoạn VBA sau:
Sub QuyetToanChi5()
Dim sPartFormula As String, sPF2 As String
sPartFormula = "=VLOOKUP($A4,Data,"
sPF2 = ",0)"
Windows("QToanChi_Rp.xls").Activate
Range("L4").FormulaR1C1 = "=RC[-2]*RC[-1]"
Set MyRg = Range("b4:f4,h4:k4,m4")
For Each smallrng In MyRg
With smallrng
.Formula = sPartFormula & .Offset(-2, 0) & sPF2
End With
Next smallrng
End Sub

Bạn nào biết cách dùng vòng lạp tương tự, nhưng khai báo các Range là Array?
 

File đính kèm

  • QToanChi_Rp.rar
    11.7 KB · Đọc: 122
  • QuyetToanChi_RpOpenSub.rar
    9 KB · Đọc: 103
Vi minh thuong xuyen phai update du lieu 2 sheet con lai. cho nen khong the cho vao mot sheet,.....
 
Muốn cho dễ hiểu:
DK1: IF(ISNA(VLOOKUP($B6,data1!$B$6:$D$20,2,0)),"", VLOOKUP($B6,data1!$B$6:$D$20,2,0))
Nếu tìm không thấy trong data1 thì lấy rỗng
DK2: IF(ISNA(VLOO KUP($B6,data2!$B$6:$D$20,2,0)),"",VLOOKUP($B6,data 2!$B$6:$D$20,2,0))
Nếu tìm không thấy trong data2 thì lấy rỗng
Ghép 2 cái lại =DK1&""&DK2
Còn IF(ISNA(...),"" nghĩa là không tìm thấy $B6 thì gán ""
 
Gửi các bạn xem thêm các đoạn code, mục đích: vlookup từ Sheet Souce, chép ra giá trị, bỏ bớt các cột lặp lại vừa để dể nhìn, vừa ...đở tốn mực in, file mẫu là 2 file mà tôi đã upload
Mã:
Option Explicit
Dim smallrng As Range
Dim MyRg As Range
Dim irEnd As Integer 'khai bao bien interger cua row cuoi cua destination extract
 
Sub QuyetToanChi_RpOpen()
' Macro recorded 15-10-2007 by MR
'D:\PTC\Accounting\BalanceSheet\Report\200709QToan Chi_Rp.xls
'D:\PTC\Accounting\BalanceSheet\Report\QToanChi_Rp .xls
Workbooks.Open Filename:="D:\PTC\Accounting\BalanceSheet\Report\QToanChi_Rp.xls"
End Sub
 
Sub CloseMe()
ThisWorkbook.Close True
End Sub
 
Sub Main()
QuyetToanChi_RpOpen
' Tim dong cuoi cua destination extract
With Worksheets("QToanChi")
    irEnd = .Range("a4").End(xlDown).Row
End With
Input1RowFormula
FillDown (irEnd)
CopyValue (irEnd)
MyTypeDelete_CellDuplicateInColumn (irEnd)
MyTypeDCellDupC (irEnd)
MyTypeDCellDupC_I (irEnd)
End Sub
 
'- Buoc 2: la filter tai file data cac so lieu (record) cua C Chi,
'          nho phai danh so lai dung thu tu cot (mau do)de dung trong vlookup
'- Buoc 3: copy phan data da filter vao file report quyet toan Chi,
'          luu y den ID record, o day copy den cot so 29
' Close file data de nhe may
'Dat vung Data (Name) o Sheet Source, copy ID Record da loc sang sheet QToan Chi
'Kiem tra, copy dong tieu de co chua ca so ID cot giua 2 Sheet Source va Destination
Sub Input1RowFormula()
Dim sPartFormula As String, sPF2 As String
sPartFormula = "=VLOOKUP($A4,Data,"
sPF2 = ",0)"
Windows("QToanChi_Rp.xls").Activate
With Workbooks("QToanChi_Rp.xls").Worksheets("QToanChi")
    '.DisplayZeros = False 'record:ActiveWindow.DisplayZeros = False
    .Range("L4").FormulaR1C1 = "=RC[-2]*RC[-1]"
    Set MyRg = .Range("b4:f4,h4:k4,m4")
    For Each smallrng In MyRg
    
    With smallrng
        .Formula = sPartFormula & .Offset(-2, 0) & sPF2
    End With
    Next smallrng
End With
Sheets("QToanChi").Activate
'FillDown (lrEnd) de o day se bao bien chua khai bao
End Sub
 
Sub FillDown(irEnd As Integer)
' Macro recorded 15-10-2007 by MR
Range("B4:M4").AutoFill Destination:=Range("B4:M" & irEnd), Type:=xlFillDefault
End Sub
 
Sub CopyValue(irEnd As Integer)
Set MyRg = Range("B4:M" & irEnd)
'Trong case nay ta kg dung them for each van ok
With MyRg
    .Value = .Value
End With
Set MyRg = Nothing
End Sub

Sub MyTypeDelete_CellDuplicateInColumn(irEnd As Integer)
Dim j As Integer, i As Integer
'Dung cu phap rngData.Cells(i,k) de chon cell tuong doi trong rngData, va bat dau tu 1
Set MyRg = Range("c4:c" & irEnd)
i = 1
j = i + 1
'Cells(1, 3) = rngData.Rows.Count = number 17
For j = 2 To MyRg.Rows.Count
    With MyRg
        If .Cells(j, 1) = .Cells(i, 1) Then
            .Cells(j, 1) = ""
            .Cells(j, 1).Offset(0, -1) = ""
            '.Cells(j, 1).Offset(0, 8) = ""
            '.Cells(j, 1).Offset(0, 9) = ""
        Else
            i = j
        End If
    End With
Next j
Set MyRg = Nothing
End Sub
 
Sub MyTypeDCellDupC(irEnd As Integer)
'Origine code From nvs GPE
Dim j As Integer, i As Integer
Set MyRg = Range("f4:f" & irEnd)
i = 1
j = i + 1
For j = 2 To MyRg.Rows.Count
    With MyRg
        If .Cells(j, 1) = .Cells(i, 1) And .Cells(j, 3) = .Cells(i, 3) Then
            .Cells(j, 1) = ""
            .Cells(j, 2) = ""
            .Cells(j, 3) = ""
            '.Cells(j, 1).Offset(0, 8) = ""
            '.Cells(j, 1).Offset(0, 9) = ""
        Else
            i = j
        End If
    End With
Next j
Set MyRg = Nothing
End Sub
 
Sub MyTypeDCellDupC_I(irEnd As Integer)
Dim j As Integer, i As Integer
'Dung cu phap rngData.Cells(i,k) de chon cell tuong doi trong rngData, va bat dau tu 1
Set MyRg = Range("i4:i" & irEnd)
i = 1
j = i + 1
'Cells(1, 3) = rngData.Rows.Count = number 17
For j = 2 To MyRg.Rows.Count
    With MyRg
        If .Cells(j, 1) = .Cells(i, 1) Then
            .Cells(j, 1) = ""
            '.Cells(j, 1).Offset(0, -1) = ""
            '.Cells(j, 1).Offset(0, 8) = ""
            '.Cells(j, 1).Offset(0, 9) = ""
        Else
            i = j
        End If
    End With
Next j
Set MyRg = Nothing
End Sub
 
Sub NameData()
' NameData Macro
' Macro recorded 15-10-2007 by MR
Workbooks("QToanChi_Rp").Names.Add Name:="Data", RefersToR1C1:="=Source!R4C1:R33C29"
End Sub
Sub NameDelete()
' NameDelete Macro
' Macro recorded 15-10-2007 by MR
Workbooks("QToanChi_Rp").Names("Data").Delete
End Sub
 
Chỉnh sửa lần cuối bởi điều hành viên:
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom