Lọc dữ liệu có điều kiện ?

  • Thread starter Thread starter dung80
  • Ngày gửi Ngày gửi
Liên hệ QC

dung80

Thành viên mới
Tham gia
25/12/08
Bài viết
5
Được thích
0
Mình mới bắt đầu học excel nên kiến thức còn hạn chế. Hiện tại mình có một vướng mắc nhỏ nhờ các bạn giúp:
Mình có 1sheet cập nhật hàng ngày
Bây giờ mình muốn có một file quản lý, có thể cập nhật dữ liệu từ các file như thế.
Giả sử mình có trường "ngày tháng" và trường "họ tên" và "mã số"
Yêu cầu là: Tìm trong trường "ngày tháng" nếu trùng nhau thì tìm tiếp trong trường "họ tên". Nếu cả hai cùng trùng nhau thì mới cập nhật dữ liệu của trường "mã số" tương ứng.
Mong các cao thủ giúp với.
 

File đính kèm

Bạn xem trong file có thỏa mản yêu cầu của bạn không nhé!
 

File đính kèm

Một khi danh sách của bạn là nhiều người, nên tham khảo cái ni

PHP:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
 On Error Resume Next
 If Not Intersect(Target, Range("D4:D432")) Is Nothing Then
    Dim Cot As Integer, Hang As Long
    Cot = Range("G3").Resize(, 31).Find(what:=Target, lookat:=xlWhole, _
        LookIn:=xlFormulas).Column
    Hang = Range("F4:F" & [f65500].End(xlUp).Row).Find(what:=Target.Offset(, -2), _
        lookat:=xlWhole, LookIn:=xlFormulas).Row
    Cells(Hang, Cot) = Target.Offset(, -1)
 End If
End Sub
 

File đính kèm

PHP:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
 On Error Resume Next
 If Not Intersect(Target, Range("D4:D432")) Is Nothing Then
    Dim Cot As Integer, Hang As Long
    Cot = Range("G3").Resize(, 31).Find(what:=Target, lookat:=xlWhole, _
        LookIn:=xlFormulas).Column
    Hang = Range("F4:F" & [f65500].End(xlUp).Row).Find(what:=Target.Offset(, -2), _
        lookat:=xlWhole, LookIn:=xlFormulas).Row
    Cells(Hang, Cot) = Target.Offset(, -1)
 End If
End Sub
Dùng Find và Match không biết cái nào nhanh hơn, nhưng Find lại được 1 lợi thế: Nếu không tìm ra "cái cần tìm" thì nó sẽ không ghi giá trị chứ không hề báo lổi như khi dùng Match
 
Còn một vấn đề nhỏ nữa

Bạn xem trong file có thỏa mản yêu cầu của bạn không nhé!

Mình gặp một vấn đề nữa là. Hàm if(vlookup...) dừng lại khi đã tìm thấy tên đầu tiên. Mình muốn rằng sau đó sẽ tiếp tục tìm cho đến hết cột "họ tên". nếu còn thì tìm tiếp và đưa ra dữ liệu tương ứng.

Bạn xem file đính kèm và giúp mình nhé
Thanks
 

File đính kèm

Mình gặp một vấn đề nữa là. Hàm if(vlookup...) dừng lại khi đã tìm thấy tên đầu tiên. Mình muốn rằng sau đó sẽ tiếp tục tìm cho đến hết cột "họ tên". nếu còn thì tìm tiếp và đưa ra dữ liệu tương ứng.
nếu 2 người cùng vào một ngày thì mình chưa tìm cách xử lý được. Nhờ các bạn giúp mình với
Bạn xem file đính kèm và giúp mình nhé
Thanks
Bạn tải file bài 2 về & thử xem; Đừng ngại!
Nếu fát sinh khó khăn, thì phát biểu tiếp xem sao!

To NDU: Là do câu lệnh này, chắc vậy:
On Error Resume Next
 
Chỉnh sửa lần cuối bởi điều hành viên:
Mình gặp một vấn đề nữa là. Hàm if(vlookup...) dừng lại khi đã tìm thấy tên đầu tiên. Mình muốn rằng sau đó sẽ tiếp tục tìm cho đến hết cột "họ tên". nếu còn thì tìm tiếp và đưa ra dữ liệu tương ứng.

Bạn xem file đính kèm và giúp mình nhé
Thanks

Không dùng Hàm if(vlookup...) mà thử phương án này xem thế nào?
 

File đính kèm

Không dùng Hàm if(vlookup...) mà thử phương án này xem thế nào?

IF(COUNT(Stt)=0,"",INDEX(OFFSET(Name,,1),MIN(Stt)))
bạn có thể giải thích rõ hơn về câu lệnh này không. Mình không hiểu "stt", "name" là gì nữa. Vì nếu coppy câu lệnh của bạn vào trường hợp khác thì không dùng được. Và mình không hiểu "stt" và "name" là gì để mình có thể thay đổi vào trường hợp cụ thể khác.
Xin lỗi vì mình không rành lắm về Excel.

Mình gửi luôn cái mình đang làm(rút gọn) bạn xem nhé. Bây h là làm thế nào đẻ sheet"THANG1" tự động cập nhật dữ liệu ở sheet"CAPNHAT" dựa theo trường "MÁY" và trường "NGÀY". THANKS
 

File đính kèm

IF(COUNT(Stt)=0,"",INDEX(OFFSET(Name,,1),MIN(Stt)))
bạn có thể giải thích rõ hơn về câu lệnh này không. Mình không hiểu "stt", "name" là gì nữa. Vì nếu coppy câu lệnh của bạn vào trường hợp khác thì không dùng được. Và mình không hiểu "stt" và "name" là gì để mình có thể thay đổi vào trường hợp cụ thể khác.
Xin lỗi vì mình không rành lắm về Excel.

Mình gửi luôn cái mình đang làm(rút gọn) bạn xem nhé. Bây h là làm thế nào đẻ sheet"THANG1" tự động cập nhật dữ liệu ở sheet"CAPNHAT" dựa theo trường "MÁY" và trường "NGÀY". THANKS

Bạn mở File này lên và vào insert / Name / Define .bạn sẽ thấy ngay vấn đề .
Thân
 
Web KT

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

Back
Top Bottom