Lọc dữ liệu mã trùng và lấy dữ liệu có số tuổi cao nhất (2 người xem)

Liên hệ QC

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

thesaintzero

Thành viên hoạt động
Tham gia
16/3/09
Bài viết
158
Được thích
8
Theo như tiêu đề, em muốn lọc dữ liệu trùng trong cột "mã", nếu trong cột "mã" có dữ liệu trùng thì lấy người có năm sinh cao nhất đưa ra kết quả, còn nếu không có trùng thì lấy kết quả của hàng đó. Em kiếm hoài không ra, các Bác có cao kiến giúp đỡ em với ah! em xin cám ơn các Bác.
 

File đính kèm

Cao kiến vói kiên cáo.
1729173882634.png
1729173941713.png
Hai cái này ngược nhau nhé.
 
Theo như tiêu đề, em muốn lọc dữ liệu trùng trong cột "mã", nếu trong cột "mã" có dữ liệu trùng thì lấy người có năm sinh cao nhất đưa ra kết quả, còn nếu không có trùng thì lấy kết quả của hàng đó. Em kiếm hoài không ra, các Bác có cao kiến giúp đỡ em với ah! em xin cám ơn các Bác.

Bạn thử công thức tại I3 nhé

I3=INDEX(A$2:A$34,AGGREGATE(15,6,ROW($1:$100)/(MMULT(($E$2:$E$34=TRANSPOSE($E$2:$E$34))*($C$2:$C$34+ROW($C$2:$C$34)/10<=TRANSPOSE($C$2:$C$34+ROW($C$2:$C$34)/10)),ROW(1:33)^0)=COUNTIF($E$2:$E$34,$E$2:$E$34)),ROW(1:1)))

Bạn kéo công thức xuống và sang ngang.

Bạn tham khảo file đính kèm.

Trân trọng
 

File đính kèm

M Code cho các bạn mới tìm hiểu về Power Query
Mã:
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Grouped Rows" = Table.Group(Source, {"Mã"}, {{"NgaySinh", each List.Max([Số tuổi]), type nullable number}})
in
    #"Grouped Rows"
 
Lần chỉnh sửa cuối:
Cao kiến vói kiên cáo.
View attachment 304858
View attachment 304859
Hai cái này ngược nhau nhé.
Em cám ơn Bác. Do lấy năm sẽ phải lọc lại và tách năm sinh cao nhất và trừ ra để lấy số tuổi, nên em làm thêm 1 cột số tuổi để dễ hơn đó Bác, mà theo yêu cầu lấy tuổi cao nhất thì nó phải là năm có số nhỏ hơn, không phải năm sinh cao nhất Bác
Bài đã được tự động gộp:

Bạn thử công thức tại I3 nhé

I3=INDEX(A$2:A$34,AGGREGATE(15,6,ROW($1:$100)/(MMULT(($E$2:$E$34=TRANSPOSE($E$2:$E$34))*($C$2:$C$34+ROW($C$2:$C$34)/10<=TRANSPOSE($C$2:$C$34+ROW($C$2:$C$34)/10)),ROW(1:33)^0)=COUNTIF($E$2:$E$34,$E$2:$E$34)),ROW(1:1)))

Bạn kéo công thức xuống và sang ngang.

Bạn tham khảo file đính kèm.

Trân trọng
Hay quá Bác ơi! em cám ơn Bác nhiều nha! quá nhiều hàm em chưa biết.
 
Tại ô I2, copy sang phải và xuống dưới

Mã:
=IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW($E$2:$E$34)/(COUNTIFS($E$2:$E$34,$E$2:$E$34,$D$2:$D$34,
">=" & $D$2:$D$34)=1),ROWS($1:1))),"")
 
Bạn thử làm như sau:
1/Sort cột D, sau đó là cột E từ bé=> lớn.
2/Coppy cột E rồi sang cột T sử dụng Remove Duplicates.
3/Dùng công thức cho các cột còn lại:
=INDEX(A$2:A$34,MATCH($T5,$E$2:$E$34,0))=> kéo sang, kéo xuống.
1729226689127.png
 
Web KT

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

Back
Top Bottom