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 nên sử dụng Application.WorksheetFunction.Vlookup
 
ThuNghi đã viết:
Cells(3 + i, 5).Formula = "=VLookup((Cells(3 + i, 2).Value,gianhap,3,0)"
Dear ThuNghi,
-------------
Bạn thử làm thế này xem có dễ nhìn hơn không nhé:
Mã:
Dim strMaHang As String
strMaHang = Cells(3 + i, 2).Value
Cells(3 + i, 5).Formula = "=VLookup(""" & strMaHang & """, gianhap, 3 , 0)"
 
Bạn tham khảo thêm code này nữa:
Mã:
Cells(3 + i, 5).FormulaR1C1 = "=VLOOKUP(RC[-3], gianhap,3,0)"
 
Đây là ~ gì excel ghi cho mình:

Bạn tham khảo thêm cho &ui:
Mã:
Sub GhiVLooKup()
'    Range("D4").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-3],ConGiap,2,FALSE)"
End Sub
 
Rất cám ơn, PhanTuHuong, Đào Việt Cường và NVSON, nhiều lúc tôi máy móc quá và luôn mong các bạn vẫn nhiệt tình. Tôi hỏi để làm giúp cho bạn BHYT trên GPE
 
Nhân đây cũng nhắc nhở các bạn hay sử dụng các hàm tham chiếu là nguồn tham chiếu phải cùng một kiểu dữ liệu (text hay number). Thậm chí để cho dễ dàng hơn trong tổng hợp thì cũng nên cùng độ dài (nếu là text)

Như VD ở trên, bảng tham chiếu của bạn đã dùng 2 kiểu dữ liệu là Text (M2; M4) và number(64; 74). Trong khi đó hàm Right lại trả về một text; như vậy là khi tham chiếu đến nguồn thì sẽ bị báo lỗi ngay (số 64 khác với ký tự 64)
 
Bác VNSON trả lời chưa đúng lắm

mo file nay xem nhe!
 

File đính kèm

  • Vlookup_Right(giai).xls
    17 KB · Đọc: 183
bạn thử tải file này thử xem nhé !

ban mo ra xem nhe!
 

File đính kèm

  • sample.xls
    13.5 KB · Đọc: 306
anhchanghamhoc đã viết:

À Anh Sơn chỉ tính Đĩa mềm 1.2 MB thôi, chưa tính Đĩa mềm 1.4 MB đó mà.
Nếu cộng lại thì có khác chi đâu. chẳng qua Anh sơn đọc đề chưa kỹ đó mà.
 
Thử xem bạn, ở đây nè
http://www.bygsoftware.com/Excel/VBA/vlookupx.htm





VLOOKUPX


Look up on multiple fields with this alternative to VLOOKUP

Uses the two worksheet functions INDEX and MATCH within the VBA Evaluate method. Use any columns in any order, from the source table, for the lookup values.​

Purpose
Look up a value based on up to three columns of a table.


Download

oooo
SyntaxVLOOKUPX(lookup_value1,column_value1,lookup_value2,
column_value2,lookup_value3,column_value3,table_array,col_index_num) lookup_value1 is found in column_value1 of the table array lookup_value2 is found in column_value2 of the table array lookup_value3 is found in column_value3 of the table array table_array is the table of information in which data is looked up. Use a reference to a range or a range name col_index_num is the column number in table_array from which the matching value must be returned RemarksCan use one, two or all three arguments (see examples) Based on[FONT=Arial, sans-serif]http://support.microsoft.com/support/kb/articles/q59/4/82.asp[/FONT]
oooo
Here's what the output from VLOOKUPX looks like:
vlooku3.gif



 
To anhchanghamhoc:
Thực sự thì mình hay lập trình trên VB. Mình nghĩ sách VB bằng tiếng Việt thì rất nhiều (bạn có thể tìm cuốn Microsoft Visual Basic 6.0 & lập trình cơ sở dữ liệu của tác giả Nguyễn thị Ngọc Mai chủ biên - NXB giáo dục 2000 và rất nhiều tài liệu học tập VB, VBA trên diễn đàn này...). Khi đã hiểu VB rồi thì lập trình trên VBA cũng không khó lắm.
Mình chỉ có mỗi cuốn "Programming Excel with VBA and .NET", hình như trên diễn đàn cũng có quyển này rồi.
Chúc bạn thành công!
 
Các bác chỉ giúp em làm sao để biến các giá trị #N/A (không tìm thấy) thành giá trị 0 ...khi sử dụng Vlookup?
tks!
 
Davidsy đã viết:
Các bác chỉ giúp em làm sao để biến các giá trị #N/A (không tìm thấy) thành giá trị 0 ...khi sử dụng Vlookup?
tks!
Bạn sử dụng thêm hàm IsError:
VD:
Mã:
=IF(ISERROR(VLOOKUP(E9,B5:C9,2,False)),0,VLOOKUP(E9,B5:C9,2,False))
 
anhchanghamhoc đã viết:
a` nhung neu co truong hop 1m6,1m8,1m10 nua thi` sao?
neu lam vay cong thu'c se qua' dai`,minh nghi la` phai lam cho cong thuc to'i u'u ma` thoi

bạn xem qua nhé, bạn sẽ không cần phải định dạng theo text nữa, cứ để nó tự nhiên. Text cũng được mà số cũng được. Bạn thêm vào cái mã gì cũng được

Tất nhiên, để chuyên nghiệp hóa hơn và để an toàn hơn, bạn nên cho tất cả mã chuyển sang dạng text (cùng độ dài càng tốt)
VD : 1M2; M64; M74; 1M6; 1M8 . . . . .

Chúc vui vẻ
Thân !
 

File đính kèm

  • Vlookup_Right(giai).zip
    3.9 KB · Đọc: 181
azzura đã viết:
Chào các bạn,
Tôi có một thắc mắc về cách sử dụng hàm VLOOKUP khi cần phải dùng đến cả 2 tham chiếu. Ví dụ:
---- A ---------- B ----------- C ---------
1 Hàng Ngày bán Số lượng
2 Áo 10/11 12
3 Áo 12/11 5
4 Quần 13/11 7
........

Và tôi muốn tra Vlookup trong ngày 10/11, món hàng Áo bán được mấy cái. Ở đây tôi buộc phải dùng một mẹo nhỏ để tra, tôi thêm 1 cột nữa là kết hợp giữa "Hàng" và "Ngày bán":

---- A ---------- B ----------- C --------------- D ----
1 Hàng Ngày bán Mapping Số lượng
2 Áo 10/11 "=A2&Day(B2)" 12
3 Áo 12/11 "=A3&Day(B3)" 5
4 Quần 13/11 "=A4&Day(B4)" 7
........

Sau đó VLOOKUP thì dùng cột mapping này để tra cứu.

Tôi có gửi file đính kèm. Vậy có ai biết cách dùng như thế nào mà không cần phải thêm một cột mapping như thế k, xin chỉ giáo.
Cảm ơn.

Chào Bạn ,

Trong trường hợp này không nhất thiết phải dùng thêm hàm DAY() thì công thức sẽ đơn giản hơn


Thanks
 
+ Bạn không cần phải định dạng gì cả, ta dùng hàm IF kết hợp với hàm MID để xét:
=IF(MID(C5,4,1)="M",VLOOKUP(RIGHT(C5,2),$E$18:$F$214,2,0),VLOOKUP(VALUE(RIGHT(C5,2)),$E$18:$F$214,2,0))
+ Phần tính tổng dùng hàm SUMIF bình thường.
 
Lần chỉnh sửa cuối:
Vlookup Báo Lỗi #n/a???

Cho mình hỏi thêm 1 vấn đề về hàm vlookup:

Nếu mình dò tìm 1 đk mà đk này ko có trong bảng cần dò (do chưa cập nhật danh sách kịp) thì nó báo #N/A, nên mình không thể tính tổng được. các bạn có "chiêu" gì để khắc phục ko vậy giúp với!!!!!!


Thanks&&&%$R
 
Bạn có thể sử dụng thêm hàm ISNA :

Thí dụ :

= =IF(ISNA(VLOOKUP(E9,B5:C9,2,False)),0,VLOOKUP(E9,B5:C9,2,False))
 
Status
Không mở trả lời sau này.
Web KT
Back
Top Bottom