Gỡ rối về hàm dò tìm trích lọc & sắp xếp theo điều kiện thời gian ?

Liên hệ QC

tanvu228

Thành viên chính thức
Tham gia
13/11/09
Bài viết
59
Được thích
3
Cần trợ giúp gỡ rối tìm hàm để tự động dò tìm & trích lọc dữ liệu ngày thanh toán với điều kiện:
+ ngày đầu kỳ < TIME thanh toán <= ngày cuối kỳ như file ví dụ đính kèm ;;;;;;;;;;;

Mong các bạn giúp mình với +-+-+-+ many thanks -=.,,
 

File đính kèm

Lần chỉnh sửa cuối:

Kêu cứu kiểu này gặp Mod vui tính thì liệu chừng nhé
Rút kinh nghiệm lần sau nhé, kiên nhẫn chờ đợi sẽ có giải pháp tốt hơn
Giải pháp tạm thời dùng cột phụ C
=MATCH(D5;$J$5:$J$15;1)

Cột xuất dữ liệu E5
=IF(ISNA(VLOOKUP(A5;$C$5:$D$7;2;0));"";VLOOKUP(A5;$C$5:$D$7;2;0))

nhớ định dạng dữ liệu cột E là ngày tháng năm
 

File đính kèm

Lần chỉnh sửa cuối:
Các bác cho em hỏi: Em có code tự động thêm dòng nhưng phải đánh trực tiếp vào ô điều kiện thì mới thêm, nếu cho ô điều kiện bằng một ô khác có giá trị có sẵn thì không được, xin các anh chị chỉ giúp.
code
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [D89]) Is Nothing Then InsertRow
End Sub


Public Sub InsertRow()
On Error Resume Next
Dim Jj As Long, Cls As Range
[B8].Resize(90).EntireRow.Hidden = False
[B8].Resize(90).ClearContents
For Jj = 7 To [D89].Value
Next Jj
Jj = 1 + Cls.Row
Range(Cells(Jj, "D"), Cells(88, "D")).EntireRow.Hidden = True
GPE: End Sub
 
Giải pháp tạm thời dùng cột phụ C
=MATCH(D5;$J$5:$J$15;1)

Cột xuất dữ liệu E5
=IF(ISNA(VLOOKUP(A5;$C$5:$D$7;2;0));"";VLOOKUP(A5;$C$5:$D$7;2;0))

Hàm trên chưa bao gồm trường hợp dấu "=" của điều kiện xuất dữ liệu:
ngày đầu kỳ (TRÊN 1 DÒNG) < TIME TT <= ngày cuối kỳ (CÙNG DÒNG)

Bạn cho mình hỏi để thêm trường hợp đó vào như file ví dụ đính kèm ;;;;;;;;;;; thì mình phải sửa hàm lại như thế nào cho đúng }}\
p/s: hi thanks bạn đã cảnh báo vụ spam kêu cứu --=0
 

File đính kèm

Lần chỉnh sửa cuối:
Các anh chị giúp em với: Em có code tự động thêm dòng nhưng phải đánh trực tiếp vào ô điều kiện thì mới thêm, nếu cho ô điều kiện bằng một ô khác có giá trị có sẵn thì không được, xin các anh chị chỉ giúp.
code
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [D89]) Is Nothing Then InsertRow
End Sub

Public Sub InsertRow()
On Error Resume Next
Dim Jj As Long, Cls As Range
[B8].Resize(90).EntireRow.Hidden = False
[B8].Resize(90).ClearContents
For Jj = 7 To [D89].Value
Next Jj
Jj = 1 + Cls.Row
Range(Cells(Jj, "D"), Cells(88, "D")).EntireRow.Hidden = True
GPE: End Sub
 
Hàm trên chưa bao gồm trường hợp dấu "=" của điều kiện xuất dữ liệu:
ngày đầu kỳ (TRÊN 1 DÒNG) < TIME TT <= ngày cuối kỳ (CÙNG DÒNG)

Bạn cho mình hỏi để thêm trường hợp đó vào như file ví dụ đính kèm ;;;;;;;;;;; thì mình phải sửa hàm lại như thế nào cho đúng }}\
p/s: hi thanks bạn đã cảnh báo vụ spam kêu cứu --=0

công thức cột chính giữ nguyên
Cột phụ thêm hàm =IF(COUNTIF($B$5:$B$15;D5)=1;MATCH(D5;$B$5:$B$15;1)-1;MATCH(D5;$B$5:$B$15;1))
 

File đính kèm

Các bạn giúp mình với:

Mình có 1 danh sách cần lọc thời gian đầu và thời gian cuối của quá trình vào công ty.

Mình cần lọc thời gian đầu tiên và cuối cùng của họ để làm HĐLĐ. Tức là chỉ cần xác định được họ vào tháng nào và out ra tháng nào thôi, mà không cần phải dò từng tháng.

Mình có danh sách hơn 2000 người, cần hàm mà tìm ra ngay thời gian cho cả 2000 người 1 lúc chứ không phải dò từng người 1. VD danh sách bên dưới:

1. Nguyễn Văn A tháng 04 2008
2. Nguyễn Văn A tháng 05 2008
3. Nguyễn Văn A ....................................
4. Nguyễn Văn A tháng 06 2010
5. Nguyễn Văn B tháng 01 2007
6. Nguyễn Văn B ..........................
7. Nguyễn Văn B tháng 08 2009
8. Nguyễn Văn C tháng 01 2009
9. Nguyễn Văn C ................................
10. Nguyễn Văn C tháng 10 2013



Các bạn xem file đính kèm giúp mình với.
 
Lần chỉnh sửa cuối:
Gỡ rối về hàm dò tìm trích lọc và sắp xếp theo điều kiện thời gian

Mình attach thêm file để các bạn nhìn cho dễ hiểu.

Giúp mình tìm 1 hàm có thể lọc nhé. Thanks
 

File đính kèm

không cần dùng hàm chi
Bạn kích vào tam giác lọc của cột Full name\chọn Sort A to Z (dòng đầu tiên)

Cảm ơn bạn đã reply nhanh. Tuy nhiên, nếu sort như bạn hướng dẫn, mình sẽ vẫn list ra 1 danh sách dài, ví dụ anh Nguyễn Văn A sẽ ra 20 dòng cho 20 tháng. Như thế nếu hơn 2000 người thì sẽ rất nhiều dòng.

Cái mình cần là mình chỉ cần đặt thêm 2 column bên cạnh, 1 column là tháng vào, 1 column là tháng out cho từng người, mỗi người là 1 dòng excel thôi.

Bạn có cách nào chỉ mình với. Thanks bạn.
 
Cảm ơn bạn đã reply nhanh. Tuy nhiên, nếu sort như bạn hướng dẫn, mình sẽ vẫn list ra 1 danh sách dài, ví dụ anh Nguyễn Văn A sẽ ra 20 dòng cho 20 tháng. Như thế nếu hơn 2000 người thì sẽ rất nhiều dòng.

Cái mình cần là mình chỉ cần đặt thêm 2 column bên cạnh, 1 column là tháng vào, 1 column là tháng out cho từng người, mỗi người là 1 dòng excel thôi.

Bạn có cách nào chỉ mình với. Thanks bạn.

Bạn mô tả mà mình không hiểu
Đâu là tháng vào, đâu là tháng ra
Bạn gửi 1 File kết quả mong muốn cho một người, mình xem (nhập kết quả thủ công không cần hàm)
mà 1 người 20 tháng xuất kiểu vậy thì thành 21 cột chứ
 
Lần chỉnh sửa cuối:
Cảm ơn bạn đã reply nhanh. Tuy nhiên, nếu sort như bạn hướng dẫn, mình sẽ vẫn list ra 1 danh sách dài, ví dụ anh Nguyễn Văn A sẽ ra 20 dòng cho 20 tháng. Như thế nếu hơn 2000 người thì sẽ rất nhiều dòng.

Cái mình cần là mình chỉ cần đặt thêm 2 column bên cạnh, 1 column là tháng vào, 1 column là tháng out cho từng người, mỗi người là 1 dòng excel thôi.

Bạn có cách nào chỉ mình với. Thanks bạn.

1- tạo ra một cột phụ E
E2=DATE(D2,RIGHT(C2),1)
2- dùng advancer filter để lọc ra danh sach duy nhất
3- tìm ngày In
=MIN(IF(FuLLnAME=A2,OFFSET(FuLLnAME,,3))) kết thúc bằng Ctrl Alt Enter
4- tìm ngày out
=MAX(IF(FuLLnAME=A2,OFFSET(FuLLnAME,,3))) Ctrl Alt Enter

do là cthức mảng, mà data của bạn tới 2000 dòng nên nó chạy hơi ì ạch.............--=0
 

File đính kèm

1- tạo ra một cột phụ E
E2=DATE(D2,RIGHT(C2),1)
2- dùng advancer filter để lọc ra danh sach duy nhất
3- tìm ngày In
=MIN(IF(FuLLnAME=A2,OFFSET(FuLLnAME,,3))) kết thúc bằng Ctrl Alt Enter
4- tìm ngày out
=MAX(IF(FuLLnAME=A2,OFFSET(FuLLnAME,,3))) Ctrl Alt Enter

do là cthức mảng, mà data của bạn tới 2000 dòng nên nó chạy hơi ì ạch.............--=0

Sau khi đã tạo cột phụ xong ta dùng PivotTable để tổng hợp là "bá chấy" nhất
Dữ liệu 1000 dòng cho tốc độ nhanh như chớp
 
Sau khi đã tạo cột phụ xong ta dùng PivotTable để tổng hợp là "bá chấy" nhất
Dữ liệu 1000 dòng cho tốc độ nhanh như chớp

Thầy quả là văn võ song toàn, Giờ em mới nghe thầy nói về PivotTable
Sức mạnh của PivotTable đáng để em học thêm phần này
 
Bạn mô tả mà mình không hiểu
Đâu là tháng vào, đâu là tháng ra
Bạn gửi 1 File kết quả mong muốn cho một người, mình xem (nhập kết quả thủ công không cần hàm)
mà 1 người 20 tháng xuất kiểu vậy thì thành 21 cột chứ

Cảm ơn bác, nhưng bác nhapmon hiểu đúng ý em rồi ạ :)
 
1- tạo ra một cột phụ E
E2=DATE(D2,RIGHT(C2),1)
2- dùng advancer filter để lọc ra danh sach duy nhất
3- tìm ngày In
=MIN(IF(FuLLnAME=A2,OFFSET(FuLLnAME,,3))) kết thúc bằng Ctrl Alt Enter
4- tìm ngày out
=MAX(IF(FuLLnAME=A2,OFFSET(FuLLnAME,,3))) Ctrl Alt Enter

do là cthức mảng, mà data của bạn tới 2000 dòng nên nó chạy hơi ì ạch.............--=0

Bác cho hỏi là tại sao cái công thức Date của bác thỉnh thoảng dòng lại bị chạy ra sai thế ạ? Ví dụ như line: 469,532, 592... Thỉnh thoảng lại có line bị sai, không hiểu tại sao nữa. Mới check đến đoạn đó mà chưa hiểu lý do nên chưa check được tiếp.

Rất cảm ơn bác đã hiểu ý em, để em xem tiếp công thức của bác, lần đầu nhìn thấy nên hơi bị confuse :D.
 
1- tạo ra một cột phụ E
E2=DATE(D2,RIGHT(C2),1)
2- dùng advancer filter để lọc ra danh sach duy nhất
3- tìm ngày In
=MIN(IF(FuLLnAME=A2,OFFSET(FuLLnAME,,3))) kết thúc bằng Ctrl Alt Enter
4- tìm ngày out
=MAX(IF(FuLLnAME=A2,OFFSET(FuLLnAME,,3))) Ctrl Alt Enter

do là cthức mảng, mà data của bạn tới 2000 dòng nên nó chạy hơi ì ạch.............--=0

Bác ơi, tại sao em ko nhấn được ctrl Alt Enter nhỉ, hic, nó toàn ra lỗi #Name? thôi
 
Bác ơi, tại sao em ko nhấn được ctrl Alt Enter nhỉ, hic, nó toàn ra lỗi #Name? thôi

nó là công thức mảng, nên bạn phẩi kết thúc bằng Ctrl Alt Enter (3 phím cùng lúc, ko chỉ enter một mình được)

có một số dòng sai, chắc là do cthức ghép tháng-năm sai
E2=DATE(D2,RIGHT(C2),1)
thêm số 2 vào hàm right
=DATE(D2,RIGHT(C2,2),1).

Về vấn đề tốc độ tính toán, theo anh Ndu hướng dẫn tôi thử làm bằng pivot, nhưng ko thể sử dụng 2 hàm Max & min trong cùng một pivot nên tôi fải tạo ra 2 cái..............--=0
 

File đính kèm

Web KT

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

Back
Top Bottom