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.
Hiện giờ mình cần hàm vlookup với 2 điều kiện, bác nào giúp mình với. Thanks
 
Hiện giờ mình cần hàm vlookup với 2 điều kiện, bác nào giúp mình với. Thanks

Tôi tách code thành những đoạn IF..ELSEIF.. cho bạn dễ quan sát từng trường hợp truyền 2,3,4,5 điều kiện.
Bạn có thể viết lại cho gọn (dù theo tôi thì không cần thiết).
Cách gọi hàm: = Vlookups(mảng, cột_lấy_về, giá_trị_1, cột_ktra1, giá_trị_2, cột_ktra2 ...)
(Trong khi hàm Vlookup() nguyên thủy chỉ tìm ở cột đầu tiên thì ở đây bạn có thể chỉ định tìm giá trị nào trên cột nào...)

Mã:
Function Vlookups(Table_Range As Range, Return_Col As Long, Val1, Col1_Fnd, _
         Optional Val2, Optional Col2_Fnd As Long = 0, _
         Optional Val3, Optional Col3_Fnd As Long = 0, _
          Optional Val4, Optional Col4_Fnd As Long = 0, _
          Optional Val5, Optional Col5_Fnd As Long = 0)
On Error Resume Next
If Col2_Fnd = 0 Then
    For xLoop = 1 To Table_Range.Rows.Count
         If (Table_Range(xLoop, Col1_Fnd)) = (Val1) Then
             Vlookups = Table_Range(xLoop, Return_Col)
             Exit Function
          End If
    Next xLoop
ElseIf Col3_Fnd = 0 Then
    For xLoop = 1 To Table_Range.Rows.Count
         If (Table_Range(xLoop, Col1_Fnd)) = (Val1) And _
            (Table_Range(xLoop, Col2_Fnd)) = (Val2) Then
             Vlookups = Table_Range(xLoop, Return_Col)
             Exit Function
          End If
    Next xLoop
ElseIf Col4_Fnd = 0 Then
    For xLoop = 1 To Table_Range.Rows.Count
         If (Table_Range(xLoop, Col1_Fnd)) = (Val1) And _
            (Table_Range(xLoop, Col2_Fnd)) = (Val2) And _
            (Table_Range(xLoop, Col3_Fnd)) = (Val3) Then
             Vlookups = Table_Range(xLoop, Return_Col)
             Exit Function
          End If
    Next xLoop
ElseIf Col5_Fnd = 0 Then
    For xLoop = 1 To Table_Range.Rows.Count
         If (Table_Range(xLoop, Col1_Fnd)) = (Val1) And _
            (Table_Range(xLoop, Col2_Fnd)) = (Val2) And _
            (Table_Range(xLoop, Col3_Fnd)) = (Val3) And _
            (Table_Range(xLoop, Col4_Fnd)) = (Val4) Then
             Vlookups = Table_Range(xLoop, Return_Col)
             Exit Function
          End If
    Next xLoop
Else
    For xLoop = 1 To Table_Range.Rows.Count
         If (Table_Range(xLoop, Col1_Fnd)) = (Val1) And _
            (Table_Range(xLoop, Col2_Fnd)) = (Val2) And _
            (Table_Range(xLoop, Col3_Fnd)) = (Val3) And _
            (Table_Range(xLoop, Col4_Fnd)) = (Val4) And _
            (Table_Range(xLoop, Col5_Fnd)) = (Val5) Then
             Vlookups = Table_Range(xLoop, Return_Col)
             Exit Function
          End If
    Next xLoop
End If
    
Vlookups = "#N/A"
End Function
 
Lần chỉnh sửa cuối:
hàm tham chiếu

xin chào mình là thành viên mới các bạn giúp mình với nha
mình có 1baif tập
cần tham chiếu trên 2bảng phụ
mình ko biết làm tnao
ví dụ như mã hang là YNO thì ccột tên hàng cần trrả về là yamaha-nouvo,trong đó yamaha và nouvo nằm ở 2 bảng phụ khac nhau
giúp mình với nhé
mình sắp phải trả bài rùi
thanks u
 
Lần chỉnh sửa cuối:
xin chào mình là thành viên mới các bạn giúp mình với nha
mình có 1baif tập
cần tham chiếu trên 2bảng phụ
mình ko biết làm tnao
ví dụ như mã hang là YNO thì ccột tên hàng cần trrả về là yamaha-nouvo,trong đó yamaha và nouvo nằm ở 2 bảng phụ khac nhau
giúp mình với nhé
mình sắp phải trả bài rùi
thanks u
Bạn chỉ nói vậy sao mà giúp được. Sao không đưa file lên đây để các thành viên giúp bạn.
 
xin chào mình là thành viên mới các bạn giúp mình với nha
mình có 1baif tập
cần tham chiếu trên 2bảng phụ
mình ko biết làm tnao
ví dụ như mã hang là YNO thì ccột tên hàng cần trrả về là yamaha-nouvo,trong đó yamaha và nouvo nằm ở 2 bảng phụ khac nhau
giúp mình với nhé
mình sắp phải trả bài rùi
thanks u
Nếu vậy thì bạn dùng 2 hàm Vlookup để tìm kết nối giữa 2 hàm là dấu "-"
Bạn xem ví dụ nhé.
 

File đính kèm

  • test.xls
    16.5 KB · Đọc: 31
Cam on cac anh chi rat nhieu
 
Giúp Em Xử Lý Lỗi Sử dụng hàm VLOOKUP

--=--Bạn nào trong diễn đàn sửa được lỗi trong bảng tính giúp mình với! Cảm ơn nhiều
 

File đính kèm

  • BangTinh.xls
    13.5 KB · Đọc: 33
Thứ nhất, giá trị dò tìm là dạng number thì phải trả về dạng number. Thứ hai, kết quả của giá trị trả về chỉ là 1 ô tương ứng không thể là kết quả của 2ô ghép lại
 

File đính kèm

  • BangTinh(1).xls
    13.5 KB · Đọc: 16
[B9]=VLOOKUP(VALUE(LEFT(B8,1)),$A$1:$B$6,2,0)
Đúng công thức thì công thức này chỉ ra kết quả là B thôi bạn ơi! Bạn lấy Left(B8,1) = 2 mà!
Sao có C được khi bạn không tham chiếu đến nó chứ?!?!
Nếu muốn thì bạn cũng có thể dùng công thức sau:
=INDEX(B2:B6,LEFT(B8,1)*1,1)&INDEX(B2:B6,RIGHT(B8,1)*1,1)
 
Lần chỉnh sửa cuối:

File đính kèm

  • BangTinh(1).xls
    13.5 KB · Đọc: 22
Lần chỉnh sửa cuối:
các bạn nếu ta ko lấy 23 mà ta lấy 234 thì lúc này hàm sẽ ra sao ?
tui thử đổi -- thành --- như bạn duongv thì báo lỗi #N/A còn dùng hàm index như bạn Pozsi thì báo lỗi #REF! xin các bạn chỉ thêm cho.
thankss trước nhé
 
Lần chỉnh sửa cuối:
các bạn nếu ta ko lấy 23 mà ta lấy 234 thì lúc này hàm sẽ ra sao ?
tui thử đổi -- thành --- như bạn duongv thì báo lỗi #N/A còn dùng hàm index như bạn Pozsi thì báo lỗi #REF! xin các bạn chỉ thêm cho.
thankss trước nhé
Nếu bạn muốn vậy thì phải sửa công thức chứ còn sao nữa? Bạn động não lên một chút và tuỳ biến cái công thức đó là sẽ có kết quả theo ý muốn.
 
các bạn nếu ta ko lấy 23 mà ta lấy 234 thì lúc này hàm sẽ ra sao ?
tui thử đổi -- thành --- như bạn duongv thì báo lỗi #N/A còn dùng hàm index như bạn Pozsi thì báo lỗi #REF! xin các bạn chỉ thêm cho.
thankss trước nhé

VÌ cột A của bạn có kiểu là số , trong khi đó hàm Left() trả về kiểu là chuỗi, do đó bạn thêm 2 dấu trừ (theo nghĩa : trừ của trừ là cộng) để lừa cho VB tự hiểu là kiểu số thì hàm Vlookup() mới tìm thấy theo cột A.

Chỉ ngôn ngữ VB mới xài chiêu này được. Một số ngôn ngữ lập trình khác rất chặt chẽ trong kiểu dữ liệu, điển hình là Pascal.
 
tiếp theo

bạn xem thử công thức của tui xem sao ? vẫn ko ra rắc rối là ở chổ hàm mid đó ??
 

File đính kèm

  • Lay BC.xls
    18 KB · Đọc: 14
bạn xem thử công thức của tui xem sao ? vẫn ko ra rắc rối là ở chổ hàm mid đó ??


VLOOKUP(--MID(B8,2,2),$A$1:$B$6,2,0)

mà B8 là =245 nên MID(B8,2,2) sẽ là "45" mà số này không có trong cột A nên kết quả Vlookup là "Hổng thấy cha nội ơi!"

Bạn sửa lại: MID(B8,2,1)
 
Cám ơn bạn. tui biết tui sai chổ nào rùi. gà ở chổ hàm mid(b8,2,2) mới đau chứ
 
Không hiểu bài toán bạn đang làm là làm cái gì, nhưng bạn thử dùng công thức:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( SUBSTITUTE(B8, $A$2,$B$2), $A$3,$B$3), $A$4,$B$4), $A$5,$B$5), $A$6,$B$6)

Giả sử bạn dùng: "A" thay cho 1, "B" thay cho 2 ... "I" thay cho 9 và "J" thay cho 0.
Khi đó bạn nối thêm công thức trên dài ra cho đủ 10 số.
Và bạn gõ vào B8 một số bất kỳ thì B9 sẽ cho ra một chuỗi.
 
Lần chỉnh sửa cuối:
Sử dụng vlookup tìm dữ liệu ở 2 Workbook khac nhau.

Xin chào các anh, chị.

Em có một vấn đề muốn hỏi như sau.
Em có 1 workbook nhập các số liêu Lot sản phẩm trung gian và lot nguyên liệu
Workbook thứ 2 là DHR list các Lot sản phẩm trung gian và lot nguyên liệu đã sử dụng cho một loại sản phẩm ABC nào đó.
Ví dụ. Lot sp TG VC0909-0001 thì lót nguyên liệu của nó đi theo là abcefjdkd254h2.

Vấn đề của em là ở workbook DHR em cần là khi mình nhập các lot VC... thì nó sẽ tự dò tìm số lót nguyên liệu đi theo nó.

Em đã thử dùng hàm vlookup để tìm nhưng chỉ có thể làm nếu nó trong 1 workbook, nhưng ở hai workbook khac nhau thì em bó tay.

Anh chị nào có giải pháp giúp em với.
 

File đính kèm

  • DHR.rar
    287.7 KB · Đọc: 75
Xin chào các anh, chị.

Em có một vấn đề muốn hỏi như sau.
Em có 1 workbook nhập các số liêu Lot sản phẩm trung gian và lot nguyên liệu
Workbook thứ 2 là DHR list các Lot sản phẩm trung gian và lot nguyên liệu đã sử dụng cho một loại sản phẩm ABC nào đó.
Ví dụ. Lot sp TG VC0909-0001 thì lót nguyên liệu của nó đi theo là abcefjdkd254h2.

Vấn đề của em là ở workbook DHR em cần là khi mình nhập các lot VC... thì nó sẽ tự dò tìm số lót nguyên liệu đi theo nó.

Em đã thử dùng hàm vlookup để tìm nhưng chỉ có thể làm nếu nó trong 1 workbook, nhưng ở hai workbook khac nhau thì em bó tay.

Anh chị nào có giải pháp giúp em với.


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ứ !
 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom