Hàm tìm kiếm nhiều điều kiện

Liên hệ QC

vova2209

Thành viên tích cực
Tham gia
5/4/17
Bài viết
835
Được thích
112
Giới tính
Nam
Nghề nghiệp
Đường bộ
Chào anh chị! em có 1 bài toán như này anh chị giúp em
Sheet(PL-HTBP) ô Az1 = 106 thì sẽ lấy dữ liệu từ sheet(VoVa)
+ Điều kiện lấy dữ liệu Az1 = 106 giá trị tham chiếu BI = "BP1" thì sẽ lấy tất cả những dòng phía trên có giá trị ở BI="BP1"
+ Copy nội dung cột E & lý trình cột K của sheet(Vova) vào cột D Sheet(PL-HTBP) kết quả trả về như hình dưới bên phải
+ Đơn vị:.........
+ Khối lượng:..........

11111111111.jpg
 

File đính kèm

  • Book1.xlsx
    62.9 KB · Đọc: 24
Dùng VBA được không?
 
Upvote 0
Công thức cũ, chỗ nào là VoVa!$BI$3:$BI$8045<>""

sửa thành:

VoVa!$BI$3:$BI$8045=$BA$1
^^! chạy ngon rồi, hàm này mới office 2013 nên em chưa hiểu lắm, hôm trước nhờ mọi người ở diễn đàn viết cho.
Bài đã được tự động gộp:

Vậy từ đầu lộn tiệm rồi hả?

View attachment 256336
ý anh Bate mở rộng luôn cách khác ý ạ :v:
 
Upvote 0
^^! chạy ngon rồi, hàm này mới office 2013 nên em chưa hiểu lắm, hôm trước nhờ mọi người ở diễn đàn viết cho.
Bài đã được tự động gộp:


ý anh Bate mở rộng luôn cách khác ý ạ :v:
Kết quả lọc ra tối đa là 18 dòng cố định như trong file?
 
Upvote 0
Để lấy kết quả số nhiều, em insert dòng thêm!
Vậy thì tùy bạn.
PHP:
Option Explicit

Public Sub s_Gpe()
Dim sArr(), dArr(), I As Long, K As Long, R As Long, BP As String
    sArr = Sheets("VoVa").Range("A3", Sheets("VoVa").Range("E3").End(xlDown)).Resize(, 61).Value
    R = UBound(sArr)
ReDim dArr(1 To R, 1 To 6)
With Sheets("PL-HTBP")
    BP = .Range("BA1").Value
    For I = 1 To R
        If sArr(I, 61) = BP Then
        If sArr(I, 19) <> Empty Then
            K = K + 1
            dArr(K, 1) = K
            dArr(K, 2) = sArr(I, 5)
            dArr(K, 3) = sArr(I, 25)
            dArr(K, 4) = sArr(I, 19)
            dArr(K, 5) = sArr(I, 14)
            dArr(K, 6) = dArr(K, 4) - dArr(K, 5)
        End If
        End If
    Next I
    If K Then .Range("C15:H32") = dArr
End With
End Sub
 
Upvote 0
Vậy thì tùy bạn.
PHP:
Option Explicit

Public Sub s_Gpe()
Dim sArr(), dArr(), I As Long, K As Long, R As Long, BP As String
    sArr = Sheets("VoVa").Range("A3", Sheets("VoVa").Range("E3").End(xlDown)).Resize(, 61).Value
    R = UBound(sArr)
ReDim dArr(1 To R, 1 To 6)
With Sheets("PL-HTBP")
    BP = .Range("BA1").Value
    For I = 1 To R
        If sArr(I, 61) = BP Then
        If sArr(I, 19) <> Empty Then
            K = K + 1
            dArr(K, 1) = K
            dArr(K, 2) = sArr(I, 5)
            dArr(K, 3) = sArr(I, 25)
            dArr(K, 4) = sArr(I, 19)
            dArr(K, 5) = sArr(I, 14)
            dArr(K, 6) = dArr(K, 4) - dArr(K, 5)
        End If
        End If
    Next I
    If K Then .Range("C15:H32") = dArr
End With
End Sub
Chạy rồi anh! em cảm ơn anh
xx.jpg
 
Upvote 0
Vậy thì tùy bạn.
PHP:
Option Explicit

Public Sub s_Gpe()
Dim sArr(), dArr(), I As Long, K As Long, R As Long, BP As String
    sArr = Sheets("VoVa").Range("A3", Sheets("VoVa").Range("E3").End(xlDown)).Resize(, 61).Value
    R = UBound(sArr)
ReDim dArr(1 To R, 1 To 6)
With Sheets("PL-HTBP")
    BP = .Range("BA1").Value
    For I = 1 To R
        If sArr(I, 61) = BP Then
        If sArr(I, 19) <> Empty Then
            K = K + 1
            dArr(K, 1) = K
            dArr(K, 2) = sArr(I, 5)
            dArr(K, 3) = sArr(I, 25)
            dArr(K, 4) = sArr(I, 19)
            dArr(K, 5) = sArr(I, 14)
            dArr(K, 6) = dArr(K, 4) - dArr(K, 5)
        End If
        End If
    Next I
    If K Then .Range("C15:H32") = dArr
End With
End Sub
Anh bate giải thích cho em từng câu lệnh của hàm này với ạ!
 
Upvote 0
Web KT

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

Back
Top Bottom