Cần các bạn giúp công thức hoặc code để tìm kiếm (1 người xem)

Người dùng đang xem chủ đề này

thanh tong

Thành viên hoạt động
Tham gia
27/5/10
Bài viết
122
Được thích
11
Mình cần các bạn giúp mình công thức hoặc code trả về giá trị cần tìm kiếm
để rõ hơn mình đã ghi trong file đính kèm các bạn đọc và giúp mình nhé.
 

File đính kèm

Lần chỉnh sửa cuối:
Mình cần các bạn giúp mình công thức hoặc code trả về giá trị cần tìm kiếm
để rõ hơn mình đã ghi trong file đính kèm các bạn đọc và giúp mình nhé.
Một cách dùng VBA
Cứ thêm, bớt sửa dữ liệu, xong thì bấm nút
Chú ý về dữ liệu ở 2 bảng, nên dùng Validation ở cả 2 để thống nhất dữ liệu
Có trường hợp nào có nhiều hơn một giáo viên dạy cùng một môn trong cùng một lớp không ? Nếu có phải chỉnh code lại tý tẹo
Thân
 

File đính kèm

Một cách dùng VBA
Cứ thêm, bớt sửa dữ liệu, xong thì bấm nút
Chú ý về dữ liệu ở 2 bảng, nên dùng Validation ở cả 2 để thống nhất dữ liệu
Có trường hợp nào có nhiều hơn một giáo viên dạy cùng một môn trong cùng một lớp không ? Nếu có phải chỉnh code lại tý tẹo
Thân
Cảm ơn bạn nhiều vì đã suy nghĩ giúp mình xong giờ mình lại có chút thay đổi vì bạn nhắc là có gv nào dậy 2,3 môn trên 1 lơp không? thì mình mới nhớ là có, hơn nữa bên vùng kiểm tra mình không dùng list ở phần tên các môn nữa mà tên các môn là cố đinh.Mình muốn là khi nhập vào bên dữ liệu thì tên giáo viên hiện lên tương ứng với môn và lớp ở bên bảng kiểm tra.
Các bạn xem và giúp mình nhé
 

File đính kèm

Các bạn đọc và chuyển hộ mình vùng dữ liệu thành cột như trong file kèm theo cũng được.
Cảm ơn
 

File đính kèm

Bạn dùng hàm mảng tự tạo dưới đây, copy vào 1 modul nhé.
Cách dùng: bôi đen 2 cột bất kỳ với nhiều dòng ví dụ từ A20:B40, sau đó gõ
Mã:
=TachGV(Vùng dữ liệu của bạn) <=>  =TachGV(A3:I10)
Kết thúc bằng Ctrl +Shift + Enter
Mã:
Function TachGV(ByVal Rng As Range)
Dim i As Long, j As Long, k As Long
Dim Arr, Res
Arr = Rng.Value
ReDim Res(1 To UBound(Arr, 1) * UBound(Arr, 2), 1 To 2)
For i = 1 To UBound(Arr, 1)
    For j = 2 To UBound(Arr, 2)
        If Len(Arr(i, j)) Then
            k = k + 1
            Res(k, 1) = Arr(i, 1)
            Res(k, 2) = Arr(i, j)
        End If
    Next
Next
TachGV = Res
End Function
 
Bạn dùng hàm mảng tự tạo dưới đây, copy vào 1 modul nhé.
Cách dùng: bôi đen 2 cột bất kỳ với nhiều dòng ví dụ từ A20:B40, sau đó gõ
Mã:
=TachGV(Vùng dữ liệu của bạn) <=>  =TachGV(A3:I10)
Kết thúc bằng Ctrl +Shift + Enter
Mã:
Function TachGV(ByVal Rng As Range)
Dim i As Long, j As Long, k As Long
Dim Arr, Res
Arr = Rng.Value
ReDim Res(1 To UBound(Arr, 1) * UBound(Arr, 2), 1 To 2)
For i = 1 To UBound(Arr, 1)
    For j = 2 To UBound(Arr, 2)
        If Len(Arr(i, j)) Then
            k = k + 1
            Res(k, 1) = Arr(i, 1)
            Res(k, 2) = Arr(i, j)
        End If
    Next
Next
TachGV = Res
End Function
OK rồi
Mình cảm ơn bạn nhiều
 

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

Back
Top Bottom