Các câu hỏi về hàm dò tìm dữ liệu (Lookup, Vlookup, Hlookup...)

  • Thread starter Thread starter songlon
  • Ngày gửi Ngày gửi
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.
dạ ý em là lấy tất cả dữ liệu trùng bằng lệnh Find

Ví dụ đính kèm
Đây là hàm dành cho bạn với yêu cầu dùng Find method
Bảo đảm nhanh và chính xác (tìm đúng thứ tự từ trên xuống)
PHP:
Function JoinIf(LValue, LRange As Range, Col As Long, Optional Sep As String = " ")
  Dim Temp As String, FRng As Range, CountLValue As Long
  With LRange.Resize(, 1)
    CountLValue = WorksheetFunction.CountIf(.Cells, LValue)
    If CountLValue Then
      Set FRng = .Cells(WorksheetFunction.Match(LValue, .Cells, 0))
      Do
        Temp = Temp & Sep & FRng(, Col)
        CountLValue = CountLValue - 1
        Set FRng = .Find(LValue, FRng, xlValues, xlWhole)
      Loop Until CountLValue = 0
    End If
  End With
  JoinIf = Mid(Temp, Len(Sep) + 1, Len(Temp))
End Function
Cú pháp gần giống với VLOOKUP
PHP:
= JoinIf(Trị dò, bảng dò, cột dò, dấu phân cách)
Ở đây nếu bạn bỏ qua tham số dấu phân cách thì mặc định của nó là 1 khoảng trắng
-------------------
Còn hàm này cho kết quả tốt chỉ trong cửa sổ Immediate
Mã:
Function TimKiem(VungTra As Range, LookUpValue As Range) As String
 Dim Clls As Range, Rng As Range:            Dim MyAdd As String
 
 Set Rng = VungTra.Cells(1, 1).Resize(VungTra.Rows.Count)
 Set Clls = Rng.Find(LookUpValue.Value, , xlFormulas, xlWhole)
 If Clls Is Nothing Then
   TimKiem = "Khong Co Ket Qua"
 Else
   MyAdd = Clls.Address
   Do
      TimKiem = TimKiem & " & " & Clls.Offset(, 1).Value
      Set Clls = [B][U]Rng.FindNext(Clls)[/U][/B]
   Loop While Not Clls Is Nothing And MyAdd <> Clls.Address
 
   If Len(TimKiem) > 3 Then
      TimKiem = Mid(TimKiem, 4)
   Else
      TimKiem = "Chua Co Nguoi Nay Trong Danh Sach!"
 End If:             End If
End Function
FindNext không làm việc được với UDF đâu sư phụ à!
 

File đính kèm

Lần chỉnh sửa cuối:
Nhờ các bác giải thích thêm hàm về VLOOKUP? (viết bài giúp bạn)

Xin hỏi Bác, do em mới vào GPE nhưng không cách nào viết được bài trên forum. Nhờ bác viết hộ hoặc nếu được xin giải thích dùm trường hợp VLOOKUP này
|A
|B
|C
|D
|E
|
1|1
|3
|5
|7
|9
|
2|
2|
4|
6|
8|
10|
|
3|
A1|
4|
5|Công thức
6|=VLOOKUP(3; $a$1:$E$3; 3)
6|
7|=VLOOKUP(1,$A$1:$E$3,3)
5|
Không hiểu
=VLOOKUP(3,$A$1:$E$3,3) lại sao cho kết quả là 6
=VLOOKUP(1,$A$1:$E$3,3) lại sao kết quả là 5

Có thể giải thích hộ công thức này ý nghĩa nó ra sao không ?
Em xin cám ơn (các) bác

(Xin lỗi Miss Như Quỳnh do sự chậm trễ này;
Nhờ các bạn giúp cho bạn ấy!)
 
Dữ liệu hình như có vấn đề bác SA ơi, Bác copy table không ổn rổi.

Hàm Vlookup được sử dụng với đối số thứ 4 không có. Nghĩa là mặc định = true.
Với đối số thứ 4 là true thì dữ liệu phải được sắp xếp theo thứ tự từ nhỏ đến lớn và khi giá trị dò tìm không tìm thấy trong bảng hàm Vlookup sẽ cho ra một giá trị gần đó.
 
Bạn post file ví dụ đi, tôi nhìn thấy chưa hiểu rõ , hàm vlookup có thể dùng 3 đối số cũng được. Có thể đối số thứ 2 và thứ 3 không đồng chất cũng xẩy ra trwờng hợp hợp như trên, gần giống với việc dữ liệu chữ cái xếp không theo thứ tự a,b,c.
 
Xử lý hàm Vlookup
Bạn thêm số không vào cuối cùng
Cú pháp Vlookup(Số dò tìm, Mãng dò tìm, Cột cần lấy Sliệu,0)
Chúc bạn OK
 
|
A​
|
B​
|
C​
|
D​
|
E​
|
1​
|
1​
|
3​
|
5​
|
7​
|
9​
|
2​
|
2​
|
4​
|
6​
|
8​
|
10​
|
3​
|
A1​
|
A2​
|
A3​
|
A4​
|
A5​
|
4​
| | | | | |
5​
|Công thức| | | |Kết quả|
6​
|=VLOOKUP(3,$A$1:$E$3,3)| | | |
6​
|
7​
|=VLOOKUP(3,$A$1:$E$3,3)| | | | |

Cũng là câu hỏi của Miss Nhu Quynh đã gởi cho mình đây. Khổ nỗi dốt Excel nên không biết trả lời cho bạn ấy như thế nào.
Câu hỏi :
Không hiểu
=VLOOKUP(3,$A$1:$E$3,3) lại sao cho kết quả là 6
=VLOOKUP(1,$A$1:$E$3,3) lại sao kết quả là 5

Có thể giải thích hộ công thức này ý nghĩa nó ra sao không ?
Em xin cám ơn (các) bác
 
Cũng là câu hỏi của Miss Nhu Quynh đã gởi cho mình đây. Khổ nỗi dốt Excel nên không biết trả lời cho bạn ấy như thế nào.
Câu hỏi :
Không hiểu
=VLOOKUP(3,$A$1:$E$3,3) lại sao cho kết quả là 6
=VLOOKUP(1,$A$1:$E$3,3) lại sao kết quả là 5

Có thể giải thích hộ công thức này ý nghĩa nó ra sao không ?
Em xin cám ơn (các) bác
-----
Chắc Bác Kế Toán Già Gân chọc quê các bạn. Kỳ ghê!
Trong dòng 1 của ví dụ trên, hàm Vlookup nếu bỏ qua tham số thứ 4 hoặc nó là true (1), sẽ trả về giá trị trong cột C (cột thứ 3 từ cột A), tương ứng với giá trị tìm thấy lớn nhất nhưng nhỏ hơn "3" trong cột A là "2", sẽ cho kết quả là 6 (khi cột A được sort từ nhỏ đến lớn); nếu tham số thứ 4 là false(0), nó sẽ trả về giá trị #N/A vì không tìm thấy "3" trong cột A (dù cột A có sort hay không). Dòng 2 cũng tương tự.
Một ít hiểu biết về hàm Vlookup, mong được chỉ giáo thêm.
 
Lần chỉnh sửa cuối:
-----
Chắc Bác Kế Toán Già Gân chọc quê các bạn. Kỳ ghê!
....

Bác Ba Tê nói quá lời, không ngại mọi người buồn sao chời. Ai dám chọc quê ai ?

Bác không tin, thử load tài liều ebook : công thức và hàm excel và tìm đọc thử bài hàm

Trong tài liệu này có đoạn đề cập y như thế đó bác à.

2.5. Hàm tham chiếu và tìm kiếm (Lookup functions)
Tác giả: Bùi Nguyễn Triệu Tường (BNTT - GPE)
Tổng hợp: hoangdanh282vn (GPE)

Hàm VLOOKUP

Chức năng: Hàm VLOOKUP là hàm dò tìm theo cột, sẽ trả về giá trị của một ô nằm trên một cột nào đó nếu thỏa mãn điều kiện dò tìm.

Cú pháp hàm: VLOOKUP(lookup_value,table_array,col_index_num,option_lookup)

- Lookup_value: là giá trị dùng để dò tìm, giá trị này sẽ được dò tìm trong cột đầu tiên của bảng dữ liệu dò tìm. Giá trị dò tìm có thể là một số, một chuỗi, một công thức trả về giá trị hay một tham chiếu đến một ô nào đó dùng làm giá trị dò tìm.

- Table_array: là bảng dùng để dò tìm, bảng dò tìm có thể là tham chiếu đến một vùng nào đó hay Name trả về vùng dò tìm. Bảng dò tìm gồm có Rj hàng và Ci cột (I,j >=1), trong đó cột thứ nhất của bảng dò tìm sẽ được dùng để dò tìm.

- Col_index_num: là số thứ tự của cột (tính từ trái qua phải) trong bảng dò tìm chứa giá trị mà ta muốn trả về. Col_index_num phải >=1 và <= số cột lớn nhất có trong bảng dò tìm, ngược lại hàm sẽ trả về #VALUE! hoặc #REF.

- Option_lookup: là tùy chọn xác định kiểu dò tìm, có 2 kiểu dò tìm:

True hoặc 1 hoặc để trống: là kiểu dò tìm tương đối, hàm sẽ lấy giá trị đầu tiên mà nó tìm được trên cột đầu tiên trong bảng dò tìm. Trong trường hợp tìm không thấy, nó sẽ lấy giá trị lớn nhất mà có giá trị nhỏ hơn giá trị dò tìm.

False hoặc 0: là kiểu dò tìm chính xác, hàm sẽ lấy giá trị đầu tiên mà nó tìm được trên cột đầu tiên trong bảng dò tìm. Trong trường hợp tìm không thấy, hàm sẽ trả về #N/A.
 
Bác Ba Tê nói quá lời, không ngại mọi người buồn sao chời. Ai dám chọc quê ai ?

Bác không tin, thử load tài liều ebook : công thức và hàm excel và tìm đọc thử bài hàm

Trong tài liệu này có đoạn đề cập y như thế đó bác à.
-------
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
Lookup_value The value to search in the first column of the table array (array: Used to build single formulas that produce multiple results or that operate on a group of arguments that are arranged in rows and columns. An array range shares a common formula; an array constant is a group of constants used as an argument.). Lookup_value can be a value or a reference. If lookup_value is smaller than the smallest value in the first column of table_array, VLOOKUP returns the #N/A error value.

Table_array Two or more columns of data. Use a reference to a range or a range name. The values in the first column of table_array are the values searched by lookup_value. These values can be text, numbers, or logical values. Uppercase and lowercase text are equivalent. Col_index_num The column number in table_array from which the matching value must be returned. A col_index_num of 1 returns the value in the first column in table_array; a col_index_num of 2 returns the value in the second column in table_array, and so on. If col_index_num is:
  • Less than 1, VLOOKUP returns the #VALUE! error value.
  • Greater than the number of columns in table_array, VLOOKUP returns the #REF! error value.
Range_lookup A logical value that specifies whether you want VLOOKUP to find an exact match or an approximate match:
  • If TRUE or omitted, an exact or approximate match is returned. If an exact match is not found, the next largest value that is less than lookup_value is returned. The values in the first column of table_array must be placed in ascending sort order; otherwise, VLOOKUP may not give the correct value. You can put the values in ascending order by choosing the Sort command from the Data menu and selecting Ascending. For more information, see Default sort orders.
  • If FALSE, VLOOKUP will only find an exact match. In this case, the values in the first column of table_array do not need to be sorted. If there are two or more values in the first column of table_array that match the lookup_value, the first value found is used. If an exact match is not found, the error value #N/A is returned.
-------------
Xin lỗi vì câu "Chắc Bác Kế Toán Già Gân chọc quê các bạn. Kỳ ghê!"
Thật sự tôi chỉ nghĩ rằng Bác KTGG đưa bài dùm "Miss Nhu Quynh" lên diễn đàn mà sẵn đó không giải thích luôn.
Tôi xin lỗi vì đã sử dụng câu chữ làm phật lòng người.
Rất hối lỗi. :wallbash:
 
Cám ơn huynh Ba Tê nhiều nhe. Phần hướng dẫn của huynh lại điếc thêm. Đã mù tin học lại mù ngọai ngữ nữa.

Huynh BNTT và Hoàng Danh đã dịch ra rồi mà đọc hoài cũng chả hiểu.

=VLOOKUP(3,$A$1:$E$3,3) lại sao cho kết quả là 6 -
=VLOOKUP(1,$A$1:$E$3,3) lại sao kết quả là 5

Xin được chú giải ý nghĩa công thức trên
 
|
A​
|
B​
|
C​
|
D​
|
E​
|
1​
|
1​
|
3​
|
5​
|
7​
|
9​
|
2​
|
2​
|
4​
|
6​
|
8​
|
10​
|
3​
|
A1​
|
A2​
|
A3​
|
A4​
|
A5​
|
4​
| | | | | |
5​
|Công thức| | | |Kết quả|
6​
|=VLOOKUP(3,$A$1:$E$3,3)| | | |
6​
|
7​
|=VLOOKUP(3,$A$1:$E$3,3)| | | | |

Cũng là câu hỏi của Miss Nhu Quynh đã gởi cho mình đây. Khổ nỗi dốt Excel nên không biết trả lời cho bạn ấy như thế nào.
Câu hỏi :
Không hiểu
=VLOOKUP(3,$A$1:$E$3,3) lại sao cho kết quả là 6
=VLOOKUP(1,$A$1:$E$3,3) lại sao kết quả là 5

Có thể giải thích hộ công thức này ý nghĩa nó ra sao không ?
Em xin cám ơn (các) bác

He he
Bạn thử cho đối số thứ 4 vào mà xem biết ngay
=VLOOKUP(3,$A$1:$E$3,3,0) --> vì 3 không có trong bảng dữ liệu --> KQ trả về #N/A

còn công thức trên không có đối số thứ 4 nên mặc định là 1; khi đó 3 không có trong bảng dữ liệu nó sẽ tìm giá trị liền kề với nó ( = 2) do vậy kết quả = 6

Bạn thử thay giá trị A1 = 2.2 xem --> xem kết quả biết liền
 
Lần chỉnh sửa cuối:
Cám ơn huynh Ba Tê nhiều nhe. Phần hướng dẫn của huynh lại điếc thêm. Đã mù tin học lại mù ngọai ngữ nữa.

Huynh BNTT và Hoàng Danh đã dịch ra rồi mà đọc hoài cũng chả hiểu.

=VLOOKUP(3,$A$1:$E$3,3) lại sao cho kết quả là 6 -
=VLOOKUP(1,$A$1:$E$3,3) lại sao kết quả là 5

Xin được chú giải ý nghĩa công thức trên
------------
Xin giải thích trong tập tim kèm theo.
Thân mến.
 
Bác Ba Tê thân yêu của già gân,
Cụ thể vấn đề của tác giả đặt ra thì bác không giải thích - bác cứ lòng vòng miết, em chóng mặt với bác rồi đấy.
 
Bác Ba Tê thân yêu của già gân,
Cụ thể vấn đề của tác giả đặt ra thì bác không giải thích - bác cứ lòng vòng miết, em chóng mặt với bác rồi đấy.

Xin lỗi vì đã làm Bác KTGG chóng mặt, có lẽ tôi không biết diễn đạt rõ ý của mình cho người khác hiểu, hoặc do hiểu sai nội dung nên giải thích lòng vòng.
Nhưng đã lỡ tham gia thì phải theo đến cùng, xin giải thích bằng tập tin kèm theo.
Thân mến.
 
xin cho mình hỏi:
mình dùng vlookup dò tìm trong bảng fụ có cột hệ số 0.70, 0.60,..., nhưng bảng chính chỉ trả về số 0??? ai bít chỉ mình với
cột (4)
làm dc rồi!!!! dù sao cũng thanks
 
Lần chỉnh sửa cuối:
VLOOKup, làm ơn chỉ cho tôi vài chiêu

Tôi đang muốn làm một thẻ bể để kiểm soát lượng hàng trong bể, nhưng tôi lại mù tịt về vlookup nên mong các cao thủ chỉ giúp
Tôi có file là thebe trong đó có 2 Sheet tên là bazem và T7, Sheet 'bazem' tôi sử dụng để tham chiếu. Tôi muón khi tôi oánh số vào cột ' chiều cao ' bên Sheet 'T7' thì sẽ tự động nhẩy số liệu từ Sheet ' bzem' sang, liệu như vậy có được không...
Giúp tôi với, tôi đang cần gấp
 

File đính kèm

Tôi có 2 Sheet tên là bazem và T7, Sheet 'bazem' tôi sử dụng để tham chiếu. Tôi muón khi tôi oánh số vào cột ' chiều cao ' bên Sheet 'T7' thì sẽ tự động nhẩy số liệu từ Sheet ' bzem' sang, liệu như vậy có được không...
Giúp tôi với, tôi đang cần gấp

Bạn thực hiện quy trình này nha:

(*)Đặt tên vùng tra:
Dùng chuột tô chọn vùng từ A1:B275 của trang tính 'BaRem' (dư 1 tý cho vui!)
Đưa trỏ chuột vô ngăn trái nhứt của thanh công thức & nhập vô đó chuỗi 'BangTra'
(Chúng ta gán vùng này cái tên là: BangTra )

(*) Xác lập công thức:
Bạn nhấn chuột vô ô 'E4' của trang tính thứ hai & nhập cú pháp sau đây lên thanh công thức: =VLOOKUP(D4,BangTra,2,0)
Sau khi {ENTER} sẽ có kết quả mỹ mãn(?)

Chúc cuối tuần vui vẽ!
 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom