Giúp lọc data có nhiều điều kiện phức tạp trong excel (3 người xem)

Liên hệ QC

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

I_am_sorry

Thành viên mới
Tham gia
31/7/08
Bài viết
37
Được thích
50
Chào các anh chị!
Mình có 1 file data mà muốn lấy dữ liệu từ data này theo 1 số điều kiện như sau (không sử dụng VBA), không biết là excel bình thường có thể đáp ứng được không, mong các anh chị giúp đỡ, cả 3 điều kiện cùng thỏa mãn thì mới lọc dữ liệu.
- Điều kiện 1: Cột L ( Earnings per share...) phải có sự tăng trưởng qua các năm, ví dụ Công ty 1004 (Cột A) là không đáp ứng tăng trưởng qua các năm -> không chọn
- Điều kiện 2: Cột L phải có dữ liệu, trường hợp có 1 năm không có dữ liệu thì cũng không lọc, ví dụ Công ty 1414 (cột A) có 4 dòng dữ liệu từ năm 2009, 2010, 2011, 2012, tuy nhiên năm 2009 cột L bị rỗng (không có dữ liệu) -> không chọn công ty 1414
- Điều kiện 3: Chọn các công ty có hơn 1 dòng dữ liệu

Mong nhận được sự giúp đỡ từ các anh chị và các bạn sớm

Xin cảm ơn rất nhiều
 

File đính kèm

Lần chỉnh sửa cuối:
Chào các anh chị!
Mình có 1 file data mà muốn lấy dữ liệu từ data này theo 1 số điều kiện như sau (không sử dụng VBA), không biết là excel bình thường có thể đáp ứng được không, mong các anh chị giúp đỡ, cả 3 điều kiện cùng thỏa mãn thì mới lọc dữ liệu.
- Điều kiện 1: Cột L ( Earnings per share...) phải có sự tăng trưởng qua các năm, ví dụ Công ty 1004 (Cột A) là không đáp ứng tăng trưởng qua các năm -> không chọn
- Điều kiện 2: Cột L phải có dữ liệu, trường hợp có 1 năm không có dữ liệu thì cũng không lọc, ví dụ Công ty 1414 (cột A) có 4 dòng dữ liệu từ năm 2009, 2010, 2011, 2012, tuy nhiên năm 2009 cột L bị rỗng (không có dữ liệu) -> không chọn công ty 1414
- Điều kiện 3: Chọn các công ty có hơn 1 dòng dữ liệu

Mong nhận được sự giúp đỡ từ các anh chị và các bạn sớm

Xin cảm ơn rất nhiều
Không dùng VBA thì không nghĩ ra được cách nào.
Thấy chuyện này cũng "động não" được nên viết thử bằng VBA
Không xài được thì thôi vậy.
 

File đính kèm

Chào các anh chị!
Mình có 1 file data mà muốn lấy dữ liệu từ data này theo 1 số điều kiện như sau (không sử dụng VBA), không biết là excel bình thường có thể đáp ứng được không, mong các anh chị giúp đỡ, cả 3 điều kiện cùng thỏa mãn thì mới lọc dữ liệu.
- Điều kiện 1: Cột L ( Earnings per share...) phải có sự tăng trưởng qua các năm, ví dụ Công ty 1004 (Cột A) là không đáp ứng tăng trưởng qua các năm -> không chọn
- Điều kiện 2: Cột L phải có dữ liệu, trường hợp có 1 năm không có dữ liệu thì cũng không lọc, ví dụ Công ty 1414 (cột A) có 4 dòng dữ liệu từ năm 2009, 2010, 2011, 2012, tuy nhiên năm 2009 cột L bị rỗng (không có dữ liệu) -> không chọn công ty 1414
- Điều kiện 3: Chọn các công ty có hơn 1 dòng dữ liệu

Mong nhận được sự giúp đỡ từ các anh chị và các bạn sớm

Xin cảm ơn rất nhiều
company key được sỏrt theo thứ tự nha bạn
sort theo 3 cột O,P,Q với điều kiện là true,
cthức mảng, nên số liệu lớn quá, ko biết là có chạy nổi ko nữa
 

File đính kèm

Lần chỉnh sửa cuối:
Chào các anh chị!
Mình có 1 file data mà muốn lấy dữ liệu từ data này theo 1 số điều kiện như sau (không sử dụng VBA), không biết là excel bình thường có thể đáp ứng được không, mong các anh chị giúp đỡ, cả 3 điều kiện cùng thỏa mãn thì mới lọc dữ liệu.
- Điều kiện 1: Cột L ( Earnings per share...) phải có sự tăng trưởng qua các năm, ví dụ Công ty 1004 (Cột A) là không đáp ứng tăng trưởng qua các năm -> không chọn
- Điều kiện 2: Cột L phải có dữ liệu, trường hợp có 1 năm không có dữ liệu thì cũng không lọc, ví dụ Công ty 1414 (cột A) có 4 dòng dữ liệu từ năm 2009, 2010, 2011, 2012, tuy nhiên năm 2009 cột L bị rỗng (không có dữ liệu) -> không chọn công ty 1414
- Điều kiện 3: Chọn các công ty có hơn 1 dòng dữ liệu

Mong nhận được sự giúp đỡ từ các anh chị và các bạn sớm

Xin cảm ơn rất nhiều

1- Đây là forum học thuật, bạn nên cô đọng hay mô phỏng số liệu gọn nhẹ, mọi người dễ xem.
2- Bạn có thể trình bày rõ hơn tí nữa, không nên để mọi người đoán ý.
VD ĐK1: sự tăng trưởng phải định nghĩa: là số >0? >1? hay năm sau> năm trước? và cũng nên nói chữ dữ liệu mà bạn đề cậplà cột L.
 
Cảm ơn Bác Ba Tê, em đã down file của bác, em sẽ nghiên cứu code arr của bác để áp dụng cho file khác, dù sao cũng cảm ơn bác nhiệt tình giúp đỡ em.
 
Cảm ơn bạn Let'sGâuGâu, mình đang chạy thử trên data thực tế, sẽ báo kết quả cho bạn, cảm ơn bạn đã nhiệt tình giúp đỡ
 
Lần chỉnh sửa cuối:
Cảm ơn bạn olegtran đã góp ý
Mình cũng biết nên vậy, nhưng do mình không biết lấy data vài dòng thì có đủ các trường hợp đáp ứng điều kiện lọc hay không, nên file này là mình đã cắt dữ liệu nhẹ hơn, file gốc dữ liệu gấp 4 lần cái này.
Còn sự tăng trưởng mình đề cập ở đây là không phân biệt <0 hay >0, tất nhiên là tăng trưởng năm sau > năm trước, ví dụ năm 2009 là - 0,5; năm 2010 là 0,5, năm 2011 là 1, năm 2012 là 0,7
Ví dụ trên thấy được công ty này tăng trưởng 3 năm liên tiếp nhưng đến 2012 lại thấp hơn 2011 -> không thỏa điều kiện -> không chọn
Cảm ơn bạn rất nhiều.
 
company key được sỏrt theo thứ tự nha bạn
sort theo 3 cột O,P,Q với điều kiện là true,
cthức mảng, nên số liệu lớn quá, ko biết là có chạy nổi ko nữa

Mình chạy thử trên file thực tế rồi, đúng là khá chậm bạn à, dữ liệu 42000 dòng, chạy 15p
Cho mình hỏi thêm công thức ở cột điều kiện 1 được không? Mình không rành về offset nên xem chưa hiểu được
 
Lần chỉnh sửa cuối:
Mình chạy thử trên file thực tế rồi, đúng là khá chậm bạn à, dữ liệu 42000 dòng, chạy 15p
Cho mình hỏi thêm công thức ở cột điều kiện 1 được không? Mình không rành về offset nên xem chưa hiểu được

sao bạn không xài vba? với dữ liệu như vậy thì ngay cả những hàm cơ bản nó còn chạy ì ạch nó chi cthức mảng.
tức nhiên là xài cái gì thì cũng fải biết chút ít, nhưng để chữa cháy thì bạn cứ xài của các cao thủ rồi từ từ tìm hiểu sau.
khi bạn biết vba, bạn sẻ nghiền nó luôn đó.....hhihhihi
=================
Đây là cthức kết hợp của 3 cột lại
Mã:
P5=IF(COUNTBLANK(Item)*COUNTIF(key,A2),FALSE,SUMPRODUCT(((ROW(key)-hag)>=RANK(Item,Item,1))*1)=COUNT(key))
 
Lần chỉnh sửa cuối:
Chào các anh chị!
Mình có 1 file data mà muốn lấy dữ liệu từ data này theo 1 số điều kiện như sau (không sử dụng VBA), không biết là excel bình thường có thể đáp ứng được không, mong các anh chị giúp đỡ, cả 3 điều kiện cùng thỏa mãn thì mới lọc dữ liệu.
- Điều kiện 1: Cột L ( Earnings per share...) phải có sự tăng trưởng qua các năm, ví dụ Công ty 1004 (Cột A) là không đáp ứng tăng trưởng qua các năm -> không chọn
- Điều kiện 2: Cột L phải có dữ liệu, trường hợp có 1 năm không có dữ liệu thì cũng không lọc, ví dụ Công ty 1414 (cột A) có 4 dòng dữ liệu từ năm 2009, 2010, 2011, 2012, tuy nhiên năm 2009 cột L bị rỗng (không có dữ liệu) -> không chọn công ty 1414
- Điều kiện 3: Chọn các công ty có hơn 1 dòng dữ liệu

Mong nhận được sự giúp đỡ từ các anh chị và các bạn sớm

Xin cảm ơn rất nhiều

Công thức tốc độ cao
Mã:
N2=IF(A2=A1,"",IF(COUNTIF(A2:A5,A2)=1,"",IF(COUNTBLANK(OFFSET(L2,,,COUNTIF(A2:A5,A2))),"",IF(SUMPRODUCT(--(OFFSET(L2,,,COUNTIF(A2:A5,A2)-1)>=OFFSET(L2,1,,COUNTIF(A2:A5,A2)-1))),"",A2))))
 
Web KT

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

Back
Top Bottom