Tự động sắp xếp theo tháng nhập (1 người xem)

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

springrain836

Thành viên mới
Tham gia
2/8/08
Bài viết
38
Được thích
26
Tôi có 1 file dữ liệu theo dạng có 2 cột, 1 cột là ngày tháng, cột 2 là sự kiện. Dữ liệu này không cố định mà có thể nhập thêm. Tôi không biết có cách nào chỉ dùng hàm có sẵn mà có thể tự động lấy các sự kiện ra theo tháng nhập, trong đó ngày trong tháng đó sắp xếp tăng dần (như file đính kèm với kết quả ở phía dưới).
Cảm ơn GPE trước nhé.
 

File đính kèm

Trong ví dụ của bạn, lấy tháng (gồm của nhiều năm khác nhau, 2008, 2009...) điều đó có đúng ý bạn không? hay là chỉ lấy ra tháng nhập trong 1 năm?
 
Tôi có 1 file dữ liệu theo dạng có 2 cột, 1 cột là ngày tháng, cột 2 là sự kiện. Dữ liệu này không cố định mà có thể nhập thêm. Tôi không biết có cách nào chỉ dùng hàm có sẵn mà có thể tự động lấy các sự kiện ra theo tháng nhập, trong đó ngày trong tháng đó sắp xếp tăng dần (như file đính kèm với kết quả ở phía dưới).
Cảm ơn GPE trước nhé.

Bạn xem trong file VD nha. Vào Insert\Name\Define Name để xem các công thức nha
 

File đính kèm

Cảm ơn bạn hoangdanh282vn nhé, bạn sử dụng hàm hay quá. Khi nào có thể bạn giải thích thêm ý nghĩa của công thức demngay nhé.
 
Đâu cần nhiều name thế: 2 name là đủ
PHP:
Ngay =OFFSET(Sheet1!$A$2,,,COUNTA(Sheet1!$A$2:$A$1000),)
PHP:
DK =IF(MONTH(Ngay)=Sheet1!$E$1,Ngay+ROW(INDIRECT("1:"&ROWS(Ngay)))/1000,"")
Và công thức:
PHP:
D2 =IF(ROWS($1:1)>COUNT(DK),"",INDEX(Ngay,MATCH(SMALL(DK,ROWS($1:1)),DK,0)))
PHP:
E2 =IF(ROWS($1:1)>COUNT(DK),"",INDEX(OFFSET(Ngay,,1),MATCH(SMALL(DK,ROWS($1:1)),DK,0)))
Xem file
 

File đính kèm

Lần chỉnh sửa cuối:
Cảm ơn 2 bạn ndu96081631 và hoangdanh282vn, trường hợp chỉ cần trích lọc theo tháng (không quan tâm đến năm) thì tôi không biết làm cách nào để thay đổi điều kiện. Trường hợp 2 bạn làm là sắp xếp quan tâm đến cả năm của sự kiện
 
Cảm ơn 2 bạn ndu96081631 và hoangdanh282vn, trường hợp chỉ cần trích lọc theo tháng (không quan tâm đến năm) thì tôi không biết làm cách nào để thay đổi điều kiện. Trường hợp 2 bạn làm là sắp xếp quan tâm đến cả năm của sự kiện
nếu không quan tâm đến NĂM của sự kiện, tức không cần Sort, chỉ lấy ra phần THÁNG phù hợp yêu cầu thì... quá dể
1> Name Ngay vẩn giữ nguyên
2> Name DK sửa lại
PHP:
DK =IF(MONTH(Ngay)=Sheet1!$E$1,ROW(INDIRECT("1:"&ROWS(Ngay))),"")
3> Công thức sửa lại ngắn hơn:
PHP:
D2 =IF(ROWS($1:1)>COUNT(DK),"",INDEX(Ngay,SMALL(DK,ROWS($1:1))))

PHP:
E2 =IF(ROWS($1:1)>COUNT(DK),"",INDEX(OFFSET(Ngay,,1),SMALL(DK,ROWS($1:1))))
Thêm nữa:
Nếu bạn muốn lấy ra phần THÁNG, còn NGÀY thì tăng dần và không quan tâm đến NĂM thì sửa lại như sau:
Tất cả giữ nguyên, sửa DK lại thành:
PHP:
DK =IF(MONTH(Ngay)=Sheet1!$E$1,DAY(Ngay)+ROW(INDIRECT("1:"&ROWS(Ngay)))/1000,"")
Cách cuối cùng này có vẽ phù hợp với việc trích NGÀY SINH NHẬT thì phải
???
 

File đính kèm

Lần chỉnh sửa cuối:
Cảm ơn bạn ndu96081613, của tôi vẫn làm sort đấy chứ, nghĩa là trích lọc những sự kiện có tháng mong muốn, sau đó sắp xếp theo ngày (mà không quan tâm đến năm của sự kiện). Tôi đã tìm thấy câu trả lời của bạn từ phần dưới rồi. Cảm ơn bạn ndu96081631http://www.giaiphapexcel.com/forum/member.php?u=61139 lần nữa nhé
 
Lần chỉnh sửa cuối:
IF(MONTH(Ngay)=Sheet1!$E$1,Ngay+ROW(INDIRECT("1:"&ROWS(Ngay)))/1000,"")
Anh Ndu ,cái vế phía sau có ý nghỉa gì vậy anh ?
Em bôi đen công thức rồi nhấn F9 Thì nó ra kết quả như thế này
{"";"";"";"";39633.005;"";"";"";"";"";"";"";39636.013;"";"";"";"";"";"";"";"";"";"";"";39636.025;"";"";"";"";"";"
;"";""}
Tại sao phải chia cho 1000 ?+-+-+-+
 
IF(MONTH(Ngay)=Sheet1!$E$1,Ngay+ROW(INDIRECT("1:"&ROWS(Ngay)))/1000,"")
AnhNdu ,cái vế phía sau có ý nghỉa gì vậy anh ?
Em bôi đen công thức rồi nhấn F9 Thì nó ra kết quả như thế này
{"";"";"";"";39633.005;"";"";"";"";"";"";"";39636.013;"";"";"";"";"";"";"";"";"";"";"";39636.025;"";"";"";"";"";"
;"";""}
Tại sao phải chia cho 1000 ?+-+-+-+
Để tránh bị trùng ấy mà ---> Nếu trùng thì sẽ phân biệt Item bằng trị số DÒNG ---> Em nào dòng trên thì ưu tiên trước ---> Xem kỹ lại lần nữa những dòng bị trùng xem nào
 
Cảm ơn anh chị, em mới học Excel nên không hiểu nghĩa của các hàm anh chị dùng và cũng không biết cách áp dụng vào thực tế công việc như thế nào. Em đang làm sales ngân hàng và đang muốn lọc ngày sinh nhật để chăm sóc khách hàng. Anh chị chỉ chi tiết cách áp dụng cho em được không ạ. Em trân thành cảm ơn ạ!
 

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

Back
Top Bottom