Dùng hàm gì để lọc ra có bản thanh toán trong file đính kèm

Liên hệ QC

minhcong.tckt

Thành viên thường trực
Tham gia
13/4/11
Bài viết
385
Được thích
36
Giới tính
Nam
Em gửi file đính kèm, mong anh chị giúp đỡ
Số liệu của em như sau:
Tại Sheet 1 : Sheet nhập liệu, được nhập theo tiêu đề tại hàng 3
Tại sheet 2: sheet kết quả hiển thị
Y/C: Dùng hàm phù hợp để cho kết quả tại vùng cụ thể của sheet 2 (số lượng hàm nhỏ hơn số hàng nhập liệu tại sheet 1)
Dùng VBA thì như thế nào ạ???
 

File đính kèm

  • LocDuLieu_theo Ma Khach.xls
    34.5 KB · Đọc: 25
Công thức thì bạn làm thế này, xem file nhé:
 

File đính kèm

  • LocDuLieu_theo Ma Khach.xls
    42.5 KB · Đọc: 21
Công thức thì bạn làm thế này, xem file nhé:

Nếu dữ liệu đầu vào ít dùng cách này rất tiện là nó tự động link đầu vào và đầu ra. Nhưng nói chung công thức mảng chỉ nên áp dụng khi dữ liệu đầu vào nó chung <=2000 dòng thôi. Năm ngoái của em chỉ có khoảng 800 dòng thôi mà máy em (cấu hình hơi thấp) mỗi khi thao tác nó tính toán lại phải mất khoảng 3 đến 5 phút.

Những bài toán này tương đối phổ biến, bác minhcong.tckt nếu có điều kiện thì việc trang bị học thêm một cách của sư phụ Concogia là rất cần thiết.
 
Lần chỉnh sửa cuối:
Nếu dữ liệu đầu vào ít dùng cách này rất tiện là nó tự động link đầu vào và đầu ra. Nhưng nó chung công thức mảng chỉ nên áp dụng khi dữ liệu đầu vào nó chung <=2000 dòng thôi. Năm ngoái của em chỉ có khoảng 800 dòng thôi mà máy em (cấu hình hơi thấp) mỗi khi thao tác nó tính toán lại phải mất khoảng 3 đến 5 phút.

Những bài toán này tương đối phổ biến, bác minhcong.tckt nếu có điều kiện rất thì việc trang bị thêm học thêm một cách của sư phụ Concogia là rất cần thiết.
Đúng là như thế , tuy nhiên với dữ liệu lớn ta cũng vẫn có thể dùng công thức bằng cách đặt cột phụ cũng vẫn được , tầm khoảng hơn 2000 dòng. Còn với công thức mảng thì hơn 400 dòng thôi cũng ngồi đợi mỏi cả mắt rồi, công thức mảng hay nhưng chỉ dùng được với dữ liệu nhỏ. VBA mới là vô địch trong việc xử lý những dữ liệu lớn và phức tạp.
HMT không biết nhiều về VBA nên chỉ làm bằng công thức thôi, cám ơn bác Cò rất nhiều về bài lọc này!
 
Lần chỉnh sửa cuối:
Dùng VBA thì như thế này nè
Ở sheet 2 bạn thò anh Tý vào cell B3, chọn Mã khách hàng xong rồi.......xem kết quả
Thân

Mình làm thế nào để nó tự động cập nhật dữ liệu, sao em thử thay đổi đầu vào mà đầu ra vẫn thế có thay đổi đâu?
 
Mình làm thế nào để nó tự động cập nhật dữ liệu, sao em thử thay đổi đầu vào mà đầu ra vẫn thế có thay đổi đâu?
Bạn nhớ để ý ô B3, bác Cò dùng Validation List là name Ma lấy tham chiếu bên cột J thuộc sheet1(sheet dữ liệu đầu vào) bạn chọn ô B3, vào Data/Validation để xem List lấy từ đâu, bấm Ctrl+F3 xem công thức name Ma. Do vậy bên cạnh việc thay đổi dữ liệu bên sheet1 tại cột Mã khách, Bản thanh toán lần, Số tiền, bạn cũng cần cập nhật mã sang cột J để làm điều kiện lọc tại ô B3 của sheet2. Bác CÒ có viết CODE cho cột mã đó, bấm Alf+F11 để xem.
 
Lần chỉnh sửa cuối:
Bạn thích làm công thức à? Vậy gửi qua email cho mình, mình xem cho nhé!
Thân!
 
Tức là ý em muốn hỏi các này tức VBA làm thế nào để nó chạy được?
Ở sheet2, bạn bấm vào cái hình tam giác ở cell [B3], chọn mã, enter là.......nó chạy. Dễ ẹct
Cái name Ma được tạo ở sheet1, khi có thêm, bớt hoặc sưa Mã Khách Hàng, thì khi nhập xong, đang ở sheet1, bạn bấm Ctrl + q, code sẽ tự động cập nhật nam Ma cho bạn
Thân
 
Ở sheet2, bạn bấm vào cái hình tam giác ở cell [B3], chọn mã, enter là.......nó chạy. Dễ ẹct
Cái name Ma được tạo ở sheet1, khi có thêm, bớt hoặc sưa Mã Khách Hàng, thì khi nhập xong, đang ở sheet1, bạn bấm Ctrl + q, code sẽ tự động cập nhật nam Ma cho bạn
Thân

Chào anh Concogia, công thức VBA của anh rất hay, nhưng mà lúc in ra mình phải vẽ khung viền lại và hơi bất tiện 1 chút.Vật thì lúc in ra mình cài khung viền vào được ko anh
 
Chào anh Concogia, công thức VBA của anh rất hay, nhưng mà lúc in ra mình phải vẽ khung viền lại và hơi bất tiện 1 chút.Vật thì lúc in ra mình cài khung viền vào được ko anh
RightClick vào Sheet2 ==> View Code ==> dán code này đè lên code cũ
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$3" Then
        If Target.Value <> "" Then
            [B10:C1000].Clear
                With Sheets("sheet1").Range(Sheets("sheet1").[B3], Sheets("sheet1").[B10000].End(xlUp)).Resize(, 3)
                    .AutoFilter 1, [B3]
                    Sheets("sheet1").Columns("B:B").EntireColumn.Hidden = True
                    .SpecialCells(12).Copy [b10]
                    .AutoFilter
                    Sheets("sheet1").Columns("B:B").EntireColumn.Hidden = False
                End With
                    Range([b10], [b1000].End(xlUp)).Resize(, 2).Borders.LineStyle = 1
        End If
    End If
End Sub
Thân
 
Web KT
Back
Top Bottom