Xin giúp đỡ về hàm dò tìm, tham chiếu (1 người xem)

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

eldunari1001

Thành viên mới
Tham gia
3/4/12
Bài viết
7
Được thích
0
Xin mọi người giúp đỡ, em muốn dò từ sheet DATA để đưa sang sheet BC, những ngày mà thoả mãn điều kiện trong một tháng muốn báo cáo( tháng ở đây có thể chọn là tháng bất kỳ)
 

File đính kèm

Lần chỉnh sửa cuối:
Xin mọi người giúp đỡ, em muốn dò từ sheet DATA để đưa sang sheet BC, những ngày mà thoả mãn điều kiện trong một tháng muốn báo cáo( tháng ở đây có thể chọn là tháng bất kỳ)
Nếu dùng VBA tôi giúp bạn bằng cách sử dụng chức năng Advance Filter:
[GPECODE=vb]
Sub BaoCao()
Application.ScreenUpdating = False
Dim Data As Range
Set Data = Sheet1.Range("A2:B10000")
With Sheet2
Data.AdvancedFilter 2, .[G2:G3], .[A4]
End With
Set Data = Nothing
Application.ScreenUpdating = True
End Sub[/GPECODE]

Bạn xem file đính kèm xem có đúng ý ko?

P/S: còn dùng Hàm số nghĩ thêm tí, hì +-+-+-+
 

File đính kèm

Lần chỉnh sửa cuối:
Thanks bạn. Bạn làm thì đúng như mình muốn. Vì mình không biết gì về VBA nên mới post lên đây. Nghĩ mãi mà dùng hàm không ra được như vậy. Mình là thành viên mới mong mọi người sẽ giúp đỡ. Thanks all!
 
Lần chỉnh sửa cuối:
Thanks bạn. Bạn làm thì đúng như mình muốn. Vì mình không biết gì về VBA nên mới post lên đây. Nghĩ mãi mà dùng hàm không ra được như vậy. Mình là thành viên mới mong mọi người sẽ giúp đỡ. Thanks all!
Vấn đề của bạn cũng chưa đến mức phải "đao to búa lớn" như VBA, bạn kẻ thêm cột phụ ở DATA ô A3
=IF(AND(C3<=BC!$D$3;DATA!C3>=BC!$D$2);1+COUNTIF($A$2:A2;">0");0) > kéo xuống

Đặt name Bang_du_lieu và ở BC ô A5 ghi code
=IFERROR(VLOOKUP(ROW()-4;Bang_du_lieu;3;0);"") > keo xuống
 

File đính kèm

Sorry. Ý mình là giải thích giúp mình cái đoạn này. Mình không rành về VBA
Data.AdvancedFilter 2, .[G2:G3], .[A4]
 
Sorry. Ý mình là giải thích giúp mình cái đoạn này. Mình không rành về VBA
Data.AdvancedFilter 2, .[G2:G3], .[A4]
[G2:G3]: là điều kiện lọc, bạn để ý ô G3 là hàm logic, bạn thử nghiệm Fill ô đó xuống nó sẽ trả kết quả dạng logic True/False -> Advance Filter sẽ lấy giá trị True
[A4] là nơi dán kết quả, hiện tại bạn chỉ lấy trường "Ngày tháng"
Giả sử bên sheet Data bạn có nhiều trường khác, bán có thể Copy/Paste tên các trường bạn muốn làm báo cáo sang bên sheet BC
Sau đó thay tham chiếu [A4] bằng [A4:C4] chẳng hạn
Tốt nhất bạn Up file gần đúng lên nhé
 
Mình gửi file bác Cá ngừ F1 xem giúp mình với
 

File đính kèm

Vânn mong tất cả các bạn ở diễn đàn giúp đỡ mình. Thanks all!
 
Vânn mong tất cả các bạn ở diễn đàn giúp đỡ mình. Thanks all!

Bạn chưa biết nhiều về exel thì đwfng vooji năn nỉ Cá ngừ F1 làm VBA, bạn sẽ gặp rắc rối.
Tạm thời chưa có cách nào thì thêm cột phụ A ở Data, và công thức vlookup trong THEKHO như tôi lagm cho nó lành, nâng cao tìm hiểu sau.
PS tôi ghi thử 3 cột, các cột sau tương tự.
 

File đính kèm

Excel rất tối kỵ với các ô có sử dụng merge cell
Do đó, theo tôi bạn nên cấu trúc lại cơ sở dữ liệu
Tôi có chỉnh lại chút để bỏ merge đi thì AF mới chạy
Code cũng chưa hoàn hảo lắm, mong các thành viên khác vào hỗ trợ thêm
[GPECODE=vb]
Sub BaoCao()
Application.ScreenUpdating = False
Dim Data As Range
Set Data = Sheet1.Range("A7:N10000")
With Sheet2
Rows("8:1000").Clear
Data.AdvancedFilter 2, .[N6:N7], .[B7:L7]
EndR = .[B65536].End(3).Row
SoTT Range("A8" & ":A" & EndR)
DrawBorder Range("A7" & ":L" & EndR)
End With
Set Data = Nothing
Application.ScreenUpdating = True
End Sub


[/GPECODE]

P/S: Nếu bạn muốn trợ giúp thêm về CODE tôi sẽ di chuyển topic nào sang Box Lập trình ?
 

File đính kèm

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

Back
Top Bottom