Lọc thông tin hóa đơn theo điều kiện ngày tháng (1 người xem)

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

thuvan3005

Thành viên mới
Tham gia
25/2/11
Bài viết
6
Được thích
0
Chào cả nhà!
Mình tên Vân. Hiện nay do nhu cầu nghề nghiệp nên mình cần phải tạo file excel (đính kèm) để kiểm soát dữ liệu. Tuy nhiên do kiến thức về excel còn hạn hẹp nên mình up file lên diễn đàn mong mọi người giúp đỡ.
Mình cũng cố gắng suy nghĩ tìm nguyên nhân lỗi của công thức nhưng đành pó tay.!$@!!
Mong sớm nhận được phản hồi từ cả nhà
Vân cảm ơn!
 

File đính kèm

Chào cả nhà!
Mình tên Vân. Hiện nay do nhu cầu nghề nghiệp nên mình cần phải tạo file excel (đính kèm) để kiểm soát dữ liệu. Tuy nhiên do kiến thức về excel còn hạn hẹp nên mình up file lên diễn đàn mong mọi người giúp đỡ.
Mình cũng cố gắng suy nghĩ tìm nguyên nhân lỗi của công thức nhưng đành pó tay.!$@!!
Mong sớm nhận được phản hồi từ cả nhà
Vân cảm ơn!
Tại cell B7 của bảng kê, bạn thử dùng cthức
PHP:
=IF(AND('Phat sinh'!$C5<=$F$3,'Phat sinh'!$C5>=$E$3),'Phat sinh'!I5,0)
Fill cthức xuống
Không s/d name ngaytháng
Mấy cthức kia, sửa lại tương tự
 
Tại cell B7 của bảng kê, bạn thử dùng cthức
PHP:
=IF(AND('Phat sinh'!$C5<=$F$3,'Phat sinh'!$C5>=$E$3),'Phat sinh'!I5,0)
Fill cthức xuống
Không s/d name ngaytháng
Mấy cthức kia, sửa lại tương tự
Theo mình nên dùng name để lọc dữ liệu theo ngày tháng hay hơn Hong.Van ạ, vì nếu so sánh như thế bên sheet Bang ke có thể sẽ dính những dòng trống nếu dữ liệu không thoả mãn điều kiện 1 cách liên tục.
Nghĩa là tạo 1 name DK đánh dấu những dòng thoả điều kiện thời gian trong E3 và F3, còn sheet Bang ke sẽ dùng InDEX để trích lọc dữ liệu thoả mãn điều kiện.
 
Lọc theo tháng với Name ngaythang:
Mã:
=IF(MONTH('Phat sinh'!$C$5:$C$90)=1,ROW('Phat sinh'!$C$5:$C$90),"")
Công thức:
Mã:
=IF($A7="","",INDEX('Phat sinh'!$B$5:$K$90,SMALL(ngaythang,ROW(A1)),1))
 

File đính kèm

Mình đã thử dùng công thức như bạn chỉ nhưng không kết quả không đúng. hic
 
Leonnguyenz a! Vân đã xem file bạn gởi rồi. Vẫn có lỗi vì hóa đơn trong tháng 1 mà sao lại xuất hiện cả hóa đơn của tháng 2? và mình ko chỉ chỉ muốn lọc theo một tháng mà đôi lúc mình muốn lọc vài tháng . Ví dụ từ 01/01/2013 đến 31/03/2013. Xem lại giúp Vân nhé. Tks bạn nhiều
 
Mình đã thử dùng công thức như bạn chỉ nhưng không kết quả không đúng. hic
Đúng rồi, sửa lại dùm tôi công thức trên (sau hàm SMALL, trừ 4 dòng)
Mã:
=IF($A7="","",INDEX('Phat sinh'!$B$5:$K$90,SMALL(ngaythang,ROW(A1))[COLOR=#ff0000]-4[/COLOR],1))
 
Leonnguyenz a! Vân đã xem file bạn gởi rồi. Vẫn có lỗi vì hóa đơn trong tháng 1 mà sao lại xuất hiện cả hóa đơn của tháng 2? và mình ko chỉ chỉ muốn lọc theo một tháng mà đôi lúc mình muốn lọc vài tháng . Ví dụ từ 01/01/2013 đến 31/03/2013. Xem lại giúp Vân nhé. Tks bạn nhiều
Vậy sửa lại Name ngaythang:
Mã:
=IF(('Phat sinh'!$C$5:$C$90>='BANG KE'!$E$3)*('Phat sinh'!$C$5:$C$90<='BANG KE'!$F$3),ROW('Phat sinh'!$C$5:$C$90),"")
Công thức:
Mã:
=IF($A7="","",INDEX('Phat sinh'!$B$5:$K$90,SMALL(ngaythang,ROW(A1))-4,[COLOR=#ff0000]1[/COLOR]))
Số 1 là cột 1 trong bảng B5:K90, tương tự cho các cột bạn cần lấy.
 
Hiện giờ Vân đang busy, tối về Vân sẽ áp dụng thử, Nếu có thắc mắc Vân sẽ nhắn tin cho bạn. Cảm ơn leonguyenz đã nhiệt tình giúp đỡ nhé!
 
Hiện giờ Vân đang busy, tối về Vân sẽ áp dụng thử, Nếu có thắc mắc Vân sẽ nhắn tin cho bạn. Cảm ơn leonguyenz đã nhiệt tình giúp đỡ nhé!
về công thức và hàm thì "leonguyenz" (Thảo) thì khá là trùm ở đây rồi, nên mình cũng ko cần bàn tới nữa, nhưng nếu chưa xong thì hãy thử VBên Anh 1 lần đi xem sao, có được sự nhẹ nhàng và như ý ko? còn nếu ko thích về với anh thì thôi vậy
bài đính kem:
để tiện lợi cho việc kiem tra , nhấn ATL+F11 vào module tìm đoạn code sau
With Sheets(2).[a7].Resize(K, 8)
thay số 8 thành số 9 để hiện ra cột ngày tháng của điều kiện
 

File đính kèm

Lần chỉnh sửa cuối:
về công thức và hàm thì "leonguyenz" (Thảo) thì khá là trùm ở đây rồi, nên mình cũng ko cần bàn tới nữa, nhưng nếu chưa xong thì hãy thử VBên Anh 1 lần đi xem sao, có được sự nhẹ nhàng và như ý ko? còn nếu ko thích về với anh thì thôi vậy
bài đính kem:
Mình chỉ đang học hỏi các Thầy thôi, vì đợt này nhiều Thầy nhường sân nên có dịp để luyện thêm.
Kết quả trên thì bạn thuvan3005 đã nhắn tin ok rồi.
 
Đúng rồi, sửa lại dùm tôi công thức trên (sau hàm SMALL, trừ 4 dòng)
Mã:
=IF($A7="","",INDEX('Phat sinh'!$B$5:$K$90,SMALL(ngaythang,ROW(A1))[COLOR=#ff0000]-4[/COLOR],1))

Bạn cho mình hỏi thêm khi dùng công thức này mình có thể dùng 2 đk để rút trích dữ liệu ra được không?mình có chèn thêm điều kiện vào name ngaythang của bạn nhưng không ra kết quả. rất mong được bạn giúp đỡ. mình cảm ơn rất nhiều. Mong sớm nhận được hồi âm của bạn}}}}}
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn cho mình hỏi thêm khi dùng công thức này mình có thể dùng 2 đk để rút trích dữ liệu ra được không? như công thức của bạn là rút theo ngày tháng. bây giờ mình muốn thêm 1 điều kiện nữa thì sửa công thức như thế nào ah. Rất mong được bạn chỉ dẫn dùm. cảm ơn bạn
Bạn gửi file lên mới biết điều kiện đó ra sao chứ, điều kiện đặt trong Name, có thể thêm điều kiện.
 
Mình gửi file đính kèm rồi đó mình muốn thêm điều kiện rút trích những chứng từ có điều kiện 1331
 
Mình gửi file đính kèm rồi đó mình muốn thêm điều kiện rút trích những chứng từ có điều kiện 1331
Name ngaythang bạn sửa lại:
Mã:
=IF((MONTH('Phat sinh'!$C$5:$C$90)='BANG KE'!$H$3)*('Phat sinh'!$L$5:$L$90='BANG KE'!$G$3),ROW('Phat sinh'!$C$5:$C$90),"")
Sheet BangKe ô G3 bạn định dạng lại là Number (số).
 
Cho mình hỏi thêm là trong cột từ M5-M90 cũng có dữ liệu là 1331 mà mình muốn rút thêm từ cột này giống như cột L5-L90 thì có làm được không mong bạn chỉ giáo thêm. Mình đang xem file của bạn nên quên mất là mình cần rút trích dữ liệu từ 3 điều kiện mong bạn chỉ thêm cho mình chỗ này với thanks!
 
Cho mình hỏi thêm là trong cột từ M5-M90 cũng có dữ liệu là 1331 mà mình muốn rút thêm từ cột này giống như cột L5-L90 thì có làm được không mong bạn chỉ giáo thêm. Mình đang xem file của bạn nên quên mất là mình cần rút trích dữ liệu từ 3 điều kiện mong bạn chỉ thêm cho mình chỗ này với thanks!
Bạn phải nói rõ là lọc tháng như thế nào? AND hay OR:
-AND: Tháng 1, Cột L và Cột M = 1331
Mã:
=IF((MONTH('Phat sinh'!$C$5:$C$90)='BANG KE'!$H$3)*('Phat sinh'!$L$5:$L$90='BANG KE'!$G$3)*('Phat sinh'!$M$5:$M$90='BANG KE'!$G$3),ROW('Phat sinh'!$C$5:$C$90),"")
-OR: Tháng 1, cột L hoặc cột M = 1331
Mã:
=IF((MONTH('Phat sinh'!$C$5:$C$90)='BANG KE'!$H$3)*(('Phat sinh'!$L$5:$L$90='BANG KE'!$G$3)+('Phat sinh'!$M$5:$M$90='BANG KE'!$G$3)),ROW('Phat sinh'!$C$5:$C$90),"")
 
Cho mình hỏi thêm là trong cột từ M5-M90 cũng có dữ liệu là 1331 mà mình muốn rút thêm từ cột này giống như cột L5-L90 thì có làm được không mong bạn chỉ giáo thêm. Mình đang xem file của bạn nên quên mất là mình cần rút trích dữ liệu từ 3 điều kiện mong bạn chỉ thêm cho mình chỗ này với thanks!
Nếu 1 hoặc 2 đk thì dùng công thức thôi, còn nhiều đk thì nên dùng code, công thức thì mệt và chậm nếu dự liệu nhiều
 
Mình muốn rút trích dữ liệu and như của bạn. Nhưng mình copy công thức paste vào thì kô được bạn coi lại xem có lỗi gì trong công thức đó không. Nếu được bạn coi giúp lập công thức trên file thực tế của mình. Rất mong được sự hỗ trợ từ bạn-\\/.
 

File đính kèm

Mình muốn rút trích dữ liệu and như của bạn. Nhưng mình copy công thức paste vào thì kô được bạn coi lại xem có lỗi gì trong công thức đó không. Nếu được bạn coi giúp lập công thức trên file thực tế của mình. Rất mong được sự hỗ trợ từ bạn-\\/.
kiểm tra thử nhe, ko hiểu vấn đề mấy làm đại thôi
 

File đính kèm

Lần chỉnh sửa cuối:
Ủa bác kô kèm file đính kèm cho em ah? em định là xin công thức của leonguyenz để lập vào file của em. về VBA thì em mù tịt nên chưa dám hỏi bác. Thấy file bác làm rất hay nhưng kô hiểu nên kô thể áp dụng cho file của mình được
 
Ủa bác kô kèm file đính kèm cho em ah? em định là xin công thức của leonguyenz để lập vào file của em. về VBA thì em mù tịt nên chưa dám hỏi bác. Thấy file bác làm rất hay nhưng kô hiểu nên kô thể áp dụng cho file của mình được
File đã tải lên, xem có đúng ý ko, câu hỏi mình chưa rõ lấm, lúc 2 dk lúc 3 dk, nhung trong bài lại chỉ có 2 dk thôi
 
CẢm ơn bác Good-luck em muốn làm như của bác đấy nhưng vì là code VBA thì em bó tay nên kô hiểu được để sửa code của bác theo ý mình được. Ý của em là trong file đó căn cứ vào tháng 1,2,3... và căn cứ vào 2 cột nợ có khi mình nhập số TK vào thì sẽ trích lọc số liệu phát sinh của TK đó tại cell D6
 
Lần chỉnh sửa cuối:
CẢm ơn bác Good-luck em muốn làm như của bác đấy nhưng vì là code VBA thì em bó tay nên kô hiểu được để sửa code của bác theo ý mình được
co xem ky file chưa????, 1 sheet sử dụng VBA 1 sheet (sheet SC) sử dụng công thức mà

đặt name cho nguồn dự liệu :
DLnkc=OFFSET(NKC!$A$16,0,0,COUNTA(NKC!$A$16:$A$65301),8)
đặt name cho vùng chứa điều kiện lọc : 1111 là :
DKien2=OFFSET(NKC!$A$16,0,5,COUNTA(NKC!$A$16:$A$65301),1)
đặt name lấy trị dòng cho hàm Index
sttdong=SMALL(IF(((VALUE(ttin!$D$8)=MONTH(Nct))*(SC!$D$6=DKien2)),ROW(INDIRECT("1:"&ROWS(DKien1))),""),ROW(INDIRECT("1:"&ROWS(DKien1))))

còn đây là biểu thức dùng trong bảng dự liệu xuất :
=IF(ISERROR(INDEX(DLnkc,STTdong,COLUMN()-1)),"",INDEX(DLnkc,STTdong,COLUMN()-1))
nếu dự liệu của bạn là cố định thì ko cần dùng công thức dự liệu động thế này, xài địa chỉ cốt định công thức sẽ gắn hơn nhiều : bỏ đc 2 name trên
 
Lần chỉnh sửa cuối:
Em coi rồi bác ơi nhưng ở trong cột Nợ TK 1111 có dữ liệu phát sinh mà kô thấythể hiện bác mới lọc được số tiền của TK 1111 bên có thôi. Rất mong bác giúp phần cột Nợ nữa ah
 
Em coi rồi bác ơi nhưng ở trong cột Nợ TK 1111 có dữ liệu phát sinh mà kô thấythể hiện bác mới lọc được số tiền của TK 1111 bên có thôi. Rất mong bác giúp phần cột Nợ nữa ah

tức là 1 trong 2 cột có 1111 điều lấy có phải ko????
nếu vậy bạn thêm chỉnh lại hàm STTdong thế này
STTdong=SMALL(IF(((VALUE(ttin!$D$8)=MONTH(Nct))*((SC!$D$6=DKien2)+(SC!$D$6=DKien1))),ROW(INDIRECT("1:"&ROWS(DKien1))),""),ROW(INDIRECT("1:"&ROWS(DKien1))))
name dkien1 mình đã có làm trong file bạn chỉ việc thêm điều kiện là đc
bổ xung phầm màu đỏ vào

còn trong VBA thì bạn thây đoạn này :
If Month(Snkc(I, 2)) = CDbl(arrDK1) Then
If Snkc(I, 6) = arrDK2 Then
bằng đoạn này :
If Month(Snkc(I, 2)) = CDbl(arrDK1) Then
If Snkc(I, 6) = arrDK2 Or Snkc(I, 4) = arrDK2 Then
 
Lần chỉnh sửa cuối:
Đã lấy được dữ liệu nhưng có 2 điều em muốn bác giúp nữa là. Ở cột TK đối ứng ở đây khi đã nhận TK 1111 trên D6 thì nó chỉ được nhận là TK ở cột Có thôi VD: No 1111 co 5113 thì khi thể hiện trên bảng SC cột TK đối ứng sẽ là 5113 và số tiền phát sinh nằm bên cột No: Bác coi giúp lại em phần này với
 
Đã lấy được dữ liệu nhưng có 2 điều em muốn bác giúp nữa là. Ở cột TK đối ứng ở đây khi đã nhận TK 1111 trên D6 thì nó chỉ được nhận là TK ở cột Có thôi VD: No 1111 co 5113 thì khi thể hiện trên bảng SC cột TK đối ứng sẽ là 5113 và số tiền phát sinh nằm bên cột No: Bác coi giúp lại em phần này với

đúng là người ko trong ngành đọc mãi mới hiểu vấn đề bạn thây dòng công thức cho cột TK ĐỐI ỨNG nhứ thế này nhe
=IF(ISERROR(INDEX(DLnkc,STTdong,COLUMN()-1)),"",INDEX(IF(D6=DKien1,DKien2,DKien1),STTdong,1))
 
Còn số tiền trên cột nợ bác bởi vì bên NKC thì có cột tổng tiền nhưng khi sang SC thì khi No 1111 tiền cũng sẽ nằm trên cột Nợ luôn
 
Còn số tiền trên cột nợ bác bởi vì bên NKC thì có cột tổng tiền nhưng khi sang SC thì khi No 1111 tiền cũng sẽ nằm trên cột Nợ luôn

cái này bạn ko giải quyết được tí tẻo nào sao , đã có mẫu rồi mình chỉnh lại đôi chút theo yêu cầu mình mà thôi

cột nợ :
=IF(ISERROR(INDEX(DLnkc,STTdong,8)),"",IF($D$6=DKien1,INDEX(DLnkc,STTdong,8),""))

cột có :
=IF(ISERROR(INDEX(DLnkc,STTdong,8)),"",IF($D$6<>DKien1,INDEX(DLnkc,STTdong,8),""))
 

File đính kèm

Lần chỉnh sửa cuối:
Cảm ơn bác vô cùng chả là hôm qua em bận chút việc nên chưa hiểu được hết công thức của bác thành ra cứ loay hoay nên mới hỏi bác cặn kẽ như vậy. Hôm nay thì khát khao của em đã được giải quyết. Một lần nữa cảm ơn bác rất nhiều
 

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

Back
Top Bottom