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.
Với tình huống khác!

À. Tôi gõ nhầm. Tại quen tay. Cảm ơn bạn.

E cảm ơn các bác đã đưa ra phương án. E đã làm đuợc rồi các bác ạ.

Nhưng nếu trong tình huống trong bảng có cả text và number và thứ tự họ tên 2 bảng không giống nhau thì phải làm thế nào ạ? Nếu dùng 2 phương pháp trên thì không được các bác ạ
 
. . . Nhưng nếu trong tình huống trong bảng có cả text và number và thứ tự họ tên 2 bảng không giống nhau thì phải làm thế nào ạ? Nếu dùng 2 phương pháp trên thì không được các bác ạ

Thêm cho bạn 1 tham khảo:

PHP:
Option Explicit
Sub ChepThieu()
 Dim Rng As Range, sRng As Range, tRng As Range, Clls As Range
 
 Set Rng = Range([F2], [F65500].End(xlUp))
 Set tRng = Range([A3], [A65500].End(xlUp)).Offset(, 1).SpecialCells(xlCellTypeBlanks)
 For Each Clls In tRng
   Set sRng = Rng.Find(Clls.Offset(, -1).Value, , xlFormulas, xlWhole)
   If Not sRng Is Nothing Then
      Clls.Resize(, 3).Value = sRng.Offset(, 1).Resize(, 3).Value
   End If
 Next Clls
End Sub

Bạn thử xem, rồi sẽ thích ngay í mà!
 
Thêm cho bạn 1 tham khảo:

PHP:
Option Explicit
Sub ChepThieu()
 Dim Rng As Range, sRng As Range, tRng As Range, Clls As Range
 
 Set Rng = Range([F2], [F65500].End(xlUp))
 Set tRng = Range([A3], [A65500].End(xlUp)).Offset(, 1).SpecialCells(xlCellTypeBlanks)
 For Each Clls In tRng
   Set sRng = Rng.Find(Clls.Offset(, -1).Value, , xlFormulas, xlWhole)
   If Not sRng Is Nothing Then
      Clls.Resize(, 3).Value = sRng.Offset(, 1).Resize(, 3).Value
   End If
 Next Clls
End Sub

Bạn thử xem, rồi sẽ thích ngay í mà!

=> Có cách nào khác dùng hàm ngoài dùng code như trên không ạ?
 
Cho em hỏi với ah? Em có 1 name có giá trị mảng dự liệu kiểu như: {"","";"",$F$4}. nó còn dài hơn nữa. Nhưng mà toàn kí tự trắng chỉ có $F$4 trong mảng đó thôi. Có hàm nào đưa được ra giá trị $F$4 ko ah? Tức là loại bỏ các kí tự trắng trong đó.
Em cảm ơn các ACE nhiều!
 
Lần chỉnh sửa cuối:
Cho em hỏi với ah? Em có 1 name có giá trị mảng dự liệu kiểu như: {"","";"",$F$4}. nó còn dài hơn nữa. Nhưng mà toàn kí tự trắng chỉ có $F$4 trong mảng đó thôi. Có hàm nào đưa được ra giá trị $F$4 ko ah? Tức là loại bỏ các kí tự trắng trong đó.
Em cảm ơn các ACE nhiều!
Đương nhiên là được, có điều bạn nên đưa file lên cho tiện
Tôi có thể nói sơ qua quy trình như sau:
- Giả sử name của bạn tên là Temp1
- Ta đặt 1 name khác, tên Temp2 như sau:
PHP:
=If(Temp1="","",Row(Indirect("1:"& Total)))
Với Total là số phần tử trong mãng Temp1
Temp2 sẽ tạo ra 1 mãng mới, với các số thứ tự được đánh từ nhỏ đến lớn cho các phần tử khác rổng của Temp1 ---> Từ đây ta dùng hàm INDEX và SMALL để truy xuất
Nói có vẽ lòng vòng, có file sẽ dể hình dung hơn
 
lập hàm Vlookup hộ em với!

em có bài tập giải phương trình bậc 2, yêu cầu là ô nhận xét phải làm theo hàm Vlookup, em chưa nghĩ ra phải làm thế nào, nhờ mọi người giúp em.em có file kèm đây ak. cảm ơn mọi nguời.
 

File đính kèm

  • Book2.xls
    14 KB · Đọc: 27
Lần chỉnh sửa cuối:
em có bài tập giải phương trình bậc 2, yêu cầu là ô nhận xét phải làm theo hàm Vlookup, em chưa nghĩ ra phải làm thế nào, nhờ mọi người giúp em.em có file kèm đây ak. cảm ơn mọi nguời.
Bạn sửa lại tiêu đề cho rõ ràng đi... Bạn đã gữi 1 lần và tôi đã trả lời nhưng vì tiêu đề không rõ ràng nên bài đã bị xóa mất rồi:
http://www.giaiphapexcel.com/forum/showthread.php?t=27049
 
Bạn tham khảo xem sao
 

File đính kèm

  • VD VlookUp.xls
    18 KB · Đọc: 55
Nếu anh dùng:
PHP:
=VLOOKUP(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SIGN(D3),0,"=0"),-1,"<0"),1,">0"),$B$8:$C$10,2)
Vậy thôi dùng vầy cho sướng:
PHP:
=LOOKUP(SIGN(D3),{-1,0,1},$C$8:$C$10)
Hoặc cố "ép" phải dùng VLOOKUP thì em làm thế này:
PHP:
=VLOOKUP(LOOKUP(SIGN(D3),{-1,0,1},{"<0","=0",">0"}),$B$7:$C$10,2)
Nhưng dù sao thì HLOOKUP vẫn sướng nhất:
PHP:
=HLOOKUP($E$2,$B$7:$C$10,SIGN($D3)+3,0)
 
Lần chỉnh sửa cuối:
lập hàm Vlookup hộ em với!

[Hoặc cố "ép" phải dùng VLOOKUP thì em làm thế này:
PHP:
=VLOOKUP(LOOKUP(SIGN(D3),{-1,0,1},{"<0","=0",">0"}),$B$7:$C$10,2)

cái này em làm thì đựơc ra mối 1 nghiệm kép thui. căn bản là buộc phải dùng vlookup nên em mới hỏi. hiii. dù sao em cũng cảm ơn. các cách khác đều ok.
 

File đính kèm

  • VD VlookUp.xls
    16.5 KB · Đọc: 50
Lần chỉnh sửa cuối:
ok. làm được rùi ak,cảm ơn anh lần nữa. THANKS ^_^
 
VLOOKUP(Z152,DLieu_Hogatham!$B$8:$AM$51,DLieu_Hogatham!$F$7,0) mình mới học về excel chưa hiểu hàm này,mong các bạn giúp đỡ..
 
Có thể dò 1 ô vừa kết hợp Vlookup và Hlookup?

Chào các bạn,

Mình post bài này bên 1 room khác của GPE, nhưng chưa nhân được hồi âm nào giống ý mình hỏi cả. Chắc do mình post nhằm room, mình mới tìm dc room dò tìm này mừng quá.

Mình dò dữ liệu 1 ô đem xuống 1 ô khác bên dưới , mình đã dùng And để kết hợp Hlookup và Vlookup nhưng cũng không ra đc.

Mình hi vọng post đúng room này mong các bạn chỉ giáo giúp dùm mình.

Tks các bạn a lot
 

File đính kèm

  • GPE EXCERCISE 1.xls
    31.5 KB · Đọc: 71
Dùng Index và Match.
 

File đính kèm

  • Giai GPE EXCERCISE 1.xls
    38.5 KB · Đọc: 103
Tks bạn nhiều lắm.

Cách này hay quá

Hello PTM,

Mình thấy cá́ch bạn hướng dẫn hay quá, vậy bạn có thể diễn giả cho mình cách làm của bạn được không?

Tks a lot
 
Chỉnh sửa lần cuối bởi điều hành viên:
Công thức 1:

B26 = INDEX($A$2:$C$17;MATCH(B25;$B$2:$B$5;0)+(RIGHT($B24;1)-1)*4;3)

1. MATCH(B25;$B$2:$B$5;0) cho biết vị trí của “Hàng A” (B25) trong vùng B2:B5
2. (Right(($B24;1)-1)*4 cho biết số dòng cần cộng thêm vào “1” cho khách hàng số i. Nghĩa là “khàch hàng 1” không cộng, “khách hàng 2” cộng thêm 4, “khách hàng 3” cộng thêm 8, v.v…
3. Index(($A$2:$C$17; “1” + “2”; 3) cho giá trị của ô ttrong vùng $A$2:$C$17, dòng “1” + “2”, cột 3.

Công thức này dựa trên căn bản là số mặt hàng của mỗi khách hàng là bằng nhau và bằng 4. Và nó còn lợi dụng tên KH là số thứ tự 1, 2, 3, … và sắp thứ tự tăng dần.

2. Công thức 2:

B31 = INDEX($A$2:$C$17;MATCH(B25;$B$2:$B$5;0)+MATCH($B24;$A$2:$A$17;0)-1;3)

Tương tự công thức trên, nhưng giả định tên Khách hàng là bất kỳ, không có số ở cuối hoặc không sắp thứ tự.
Mục số “2” thay bằng
MATCH($B24;$A$2:$A$17;0)-1

Là tìm vị trí của tên khách hàng (B24) trong vùng A2:A17 để cộng thêm vào “1”, trừ đi 1 vì dư

Cả 2 công thức này vẫn còn dựa trên giả định là mọi khách hàng đều có nhu cầu cả 4 mặt hàng, và 4 mặt hàng này xếp thứ tự như nhau cho mỗi khách hàng.

Bài tập được tạo ra để tập luyện cách ứng dụng hàm, thực tế thì không đạt những yêu cầu được như vậy, và cũng không có yêu cầu nhập liệu cách này bắt xoay lại cách khác như đề bài trên.
 
Lần chỉnh sửa cuối:
Rất cám ơn lời lý giải đầy đủ kèm theo những hướng dẫn điều kiện cho phép làm bài toán này của Ptm0412.

Mình thấy dạng tìm kiếm này hay quá! Thú thật mình cũng chưa thể vận dụng vào thực tiễn dạng này vì mình có 1 report cũng gần giống dạng bài tập này nhưng mình cũng không thể làm được +-+-+-+-0-/.(Chắc cũng do tài năng kém cõi lại ko chịu lên GPE thường xuyên học hỏi --=--).

Trong bài giải của bạn ở phần ô Khách hàng rõ ràng trên giao diện mình thấy bạn đã Merge 4 ô lai với nhau, nhưng khi click vào thì vẫn hiện ra từng ô từng ô 1? Bạn làm cách nào vậy?

Thứ 2 khi thực hiện hàm thì mình phải Unmerge tren chi tiet của bài toán thì công thức mình áp dụng Excel mới hiểu được hả bạn.

Mình sẽ gởi thông tin report của mình sau. Vì có 1 số phần ko dc show ra.

Tks bạn Ptm0412 nhìu lém ngen!
 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom