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ỏi về Vlookup trong Form

Ta co 1 Range MHList có 20 cột
Trong form thì ta nên gán RowSource là 20 cột để có thể

Mã:
If Me.MHList.Value <> "" Then
 ActiveCell.Value = Me.MHList.Value
 ActiveCell.Offset(0, 1).Value = Me.MHList.Column(1)
.........................
 ActiveCell.Offset(0, 20).Value = Me.MHList.Column(20)

Hay là chỉ chọn RowSource là 2 cột thôi còn lại dùng Vlookup theo Me.MHList.Value
Xin cám ơn.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Không biết câu hỏi của bạn có đúng như tôi nghĩ không.
Sub CopyRange này sẽ copy dữ liệu trong vùng có name là MHList vào nơi mà con trỏ đang chọn.
MHList có số cột, số dòng tùy ý.

Mã:
Sub CopyRange()
Dim MHL As Range
Set MHL = Range("MHList")
r = ActiveCell.Row
c = ActiveCell.Column
If MHL.Cells(1) <> "" Then
  Range(Cells(r, c), Cells(r + MHL.Rows.Count - 1, c + MHL.Columns.Count - 1)).Select
  n = 1
  For Each mycell In Selection
    mycell.Value = MHL.Cells(n)
    n = n + 1
  Next
End If
End Sub
 

File đính kèm

  • CopyRange.zip
    6.5 KB · Đọc: 79
Range("MHList") này được tạo ra khi chọn tìm theo MaHang, tôi chỉ lấy 2 cột Mả và Tên (nhiều hơn sợ nặng) làm RowSource cho listbox. Chọn xong thì tôi dùng Vlookup(Ma,DMHH,i,0) gán vào sh.
Đang phân 2 công đọan:
- Range("MHList") có 20 cột và còn lại lấy theo Me.MHList.Column(i) hay là vòng lặp.
- Range("MHList") chỉ 2 cột mã và tên, còn lại dùng Vlookup.
Cái nào thì tối ưu hơn.
 
Thank you cac bac. Neu em lam 3 sheet thi chac cung tuong tu nhu the nhi,....Bac Soibien hoac bac nao co the giup em duoc khong?
 
Nếu thêm thành 3 sh thì ct theo file SoiBien phải sửa lại.
Tóm lại dùng như sau:
Bạn nhấn Ctr F3 và nhập vào: DKn=IF(ISNA(VLOOKUP($B6,datan!$B$6:$D$20,2,0)),"",VLOOKUP($B6,datan !$B$6:$D$20,2,0))
n=1...,9
Nhớ đặt tên sh là Data1, Data2,...,Data9
=> C6=DK1&""&DK2&"".....&DKn
Sao bạn không đánh có dấu, lỡ reply rồi, nhớ gõ dấu vào nhé. Làm ơn!
 
Lần chỉnh sửa cuối:
Anh ThuNghi gởi bài của anh lên để anh em tham khảo
 
Các bác giúp em dùng hàm vlookup tìm trên 3 sheet được không,.em áp dụng tìm trên 3 sheet mà cứ thấy báo lỗi...không hiểu sao...../
Thank you các bác
Hatcamthao
 

File đính kèm

  • Vlookup tim tren 3 sheet.xls
    20.5 KB · Đọc: 54
Làm vầy nè bạn ơi... Phải đặt name cho công thức gọn lại, nếu ko thì công thức bạn sẽ dài.. 1 Km luôn đấy! Hi.. hi...
ANH TUẤN
 

File đính kèm

  • Vlookup tim tren 3 sheet.zip
    3.6 KB · Đọc: 100
Cái file này tôi load của Mr OkeBab, có thêm tham gia của tedaynui.
Trong Sh Nhap nếu dùng Vlookup tại C2, D2 sau đó chuyển sang value thì hay hơn hay là dùng Me.MHList.Column(i).
Bạn xem file nhé!
 

File đính kèm

  • Chon theo Ma Hang-MrHieu.rar
    18.9 KB · Đọc: 113
Cám ơn bác Anh Tuấn rất nhiều,...
Bác giỏi thế này sao không đi dạy học đi nhỉ....
 
hatcamthao đã viết:
Cám ơn bác Anh Tuấn rất nhiều,...
Bác giỏi thế này sao không đi dạy học đi nhỉ....
Vì cạnh tranh hòng lại với mấy thầy ở đây như PhanTuHuong, ttphong2007 chẳng hạn... ha... ha...
 
Như vậy là bạn chưa hiểu về hàm if, thế này nhé:
If(đk,"Đúng thì làm cái này","Sai thì làm cái này")

Với 2 sheet bạn sẽ dùng 1 hàm If mà thôi:
If("Nếu không tìm được trong sh1","ta đi tìm trong sh2","vậy thì lấy sh1")

hàm ISNA() nói cho ta biết (true,false) rằng có tìm được hay không? Bạn để ý đi, nếu dùng Vlookup bình thường, nếu tìm không được thì bạn sẽ nhận được kết quả tại ô đó là #N/A, N/A chính là : Not Available. Hàm ISNA chính là IS Not Available.

Bạn dùng hàm If để "nói" cho Excel biết là nếu tìm không được trong sh1 (bằng hàm ISNA và hàm IF), thì qua sh2 tìm

Vậy bạn cũng phải dùng hàm ISNA và hàm IF để "nói" cho Excel biết là nếu tìm không được trong sh2 thì phải tìm trong sh3.

Với công thức ta sẽ diễn đạt thế này:

if(ISNA(sh1),"đúng thì ta tìm tiếp trong sh2","sai thì có nghĩa là tìm được, khỏi tìm tiếp")
____Khi tìm trong sh2 bạn sẽ cũng phải bảo cho nó biết là "nếu tìm không được trong sh2 thì ông Excel làm ơn tìm trong sh3"
____Vậy để nói như trên bằng hàm thì bạn cũng dùng như thế
____IF(ISNA(sh2),"đúng thì ta tìm tiếp trong sh3","sai thì có nghĩa là tìm được, khỏi tìm tiếp")

v.v.v.v

vậy là "nói" với Excel bằng hàm cho công việc tìm trên 3 sh, bạn sẽ phải liên kết lại các điều đã phân tích:
IF(ISNA(sh1),if(ISNA(sh2),"Tìm trong sh3","Tìm trong sh2"),"Tìm trong sh1")

Đôi lời giải thích, hy vọng bạn hiểu rõ hơn về hàm IF và cách dùng nó lồng vào nhau để bảo cho ông Excel hiểu. Hì hì!
 
Theo tôi dùng cách & dễ hiểu hơn, nếu bạn ấy muốn có 10 data cũng dễ triển khai.
 

File đính kèm

  • Vlookup tim tren 3 sheet.xls
    50 KB · Đọc: 109
Gưỉ hatcamthao hàm vlookup tìm kiêm tất cả dữ liêu có tren máy của bạn
 
Có 1 hàm có thể tìm dc dử liệu trên tất cả các sheet nhưng là hàm tự tạo bạn à... Trên diển đàn này tôi đăng bài ấy khá lâu.. hình như nằm trong box "Excel và các công thức" thì phải... tuy nhiên ở đây ta bàn về chuyện những công thức thường phối hợp với nhau xem thử khà năng dc tới đâu... Tất nhiên với 100 sheet mà dùng công thức thường này thì.. hơi tê... Lời khuyên vẫn là bạn nên cho tất cả vào 1 sheet... Đó là cách nhập liệu hiệu quả nhất, có thể dể dàng trích xuất dử liệu mà ko cần nhờ đến hàm tự tạo nào cả!
 
Gửi hatcamthao tôi lần đầu post bài,nên nói ko rõ,hàm vlookup tìm kiếm được tất cả, kể cả trên bât kỳ file .xls tồn tại trên máy bạn.Bạn cứ việc dùng chuột bôi những vùng dữ liệu của bất kỳ sheet nào trên cùng một file .xls, hoặc của một file .xls khác để tham chiếu nhớ chú ý chính xác các thông số tham chiếu khác cho chính xác,hôm nào tôi sẻ gửi chobạn ví dụ cụ thể
 
vấn đề về hàm VLOOKUP và liên quan đến ngày tháng..

Hey, trước tiên xin lỗi các anh(chị),vì lần post bài trước Haji đã ko post bài có dấu( vi fạm qui tắc)....vì lúc đó post vội wóa nên quên mất........Xin lỗi nha!!!!

Kỳ này, Haji post bài hỏi tiếp.......( lần này mong là không vi phạm gì nữa..////// ),Mong các anh(chị) giúp em dùm nhé!
Thanks a lot!!!!!//**/

Em có gủi file đính kèm.

Vấn đề thứ hai Haji muốn hỏi có liên quan đến ngày tháng:
Đề bài cho hạn thanh toán là 01/05/03
ngày nộp của cơ quan A là:20/04/03
đề bài yêu cầu ghi vào cột Ghi chú như sau: Nếu ngày nộp sau hạn thanh toán 7 ngày, thi ghi" lưu ý", ngược lại không ghi gì cả
Haji đã làm như thế này but ko ra được kết quả:
=if(ngày nộp-hạn thanh toán>7,"lưu ý",0)
Các anh chị giúp em vấn đề này luôn nhá.
Thanks again!@$@!^%
 

File đính kèm

  • bai16.xls
    16 KB · Đọc: 40
Lần chỉnh sửa cuối:
Cột "ngày nộp" đâu hả bạn?
Thử VD này xem
 

File đính kèm

  • bai16(VD).xls
    17.5 KB · Đọc: 35
Lần chỉnh sửa cuối:
Giãi thử ko biết đúng ko? Kiểm tra lại nha!
Trong file có mấy chổ bị thiếu, tôi đã thêm vào, chẳng hạn như ko có đơn giá phòng cho loại B!
ANH TUẤN
 

File đính kèm

  • bai16.zip
    3.4 KB · Đọc: 67
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom