Giúp lọc dữ liệu gần giống nhau (2 người xem)

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

angelfire1512

Thành viên mới
Tham gia
26/8/14
Bài viết
5
Được thích
0
em có đề bài như này, cột với các dãy số cho sẵn như trong file đính kèm
yêu cầu là lọc các giá trị sao cho chỉ giữ lại các giá trị mà có số cuối cùng lớn nhất (giá trị lớn nhất có lặp thì vẫn lấy).
ví dụ
có nhiều số
[TABLE="width: 92"]
[TR]
[TD="class: xl63, width: 92, align: right"][TABLE="width: 92"]
[TR]
[TD="class: xl65, width: 92"]300019802260,300019802261,300019802262
thì chỉ lấy 300019802262 còn 2 số kia thì bỏ
lưu ý là không phải lọc các giá trị trùng nhau nhé[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]
nhờ mọi người giúp em với ạ. chứ nghĩ mãi đau đầu mà em vẫn không nghĩ ra được cách giải quyết
nào
em sửa lại để mọi người hiểu rõ hơn chút
 

File đính kèm

Lần chỉnh sửa cuối:
em có đề bài như này, cột với các dãy số cho sẵn như trong file đính kèm
yêu cầu là lọc các giá trị sao cho chỉ giữ lại các giá trị mà có số cuối cùng lớn nhất.
ví dụ
có nhiều số
[TABLE="width: 92"]
[TR]
[TD="class: xl63, width: 92, align: right"][TABLE="width: 92"]
[TR]
[TD="class: xl65, width: 92"]300019802260,300019802261,300019802262
thì chỉ lấy 300019802262 còn 2 số kia thì bỏ
lưu ý là không phải lọc các giá trị trùng nhau nhé[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]
nhờ mọi người giúp em với ạ. chứ nghĩ mãi đau đầu mà em vẫn không nghĩ ra được cách giải quyết nào
Bài này đơn giản.
1. Sort dữ liệu cột A từ lớn tới nhỏ
2. Chạy vòng lặp duyệt qua vùng này, so sánh nếu em dưới bằng em trên hoặc nhỏ hơn 1 không lấy
 
Upvote 0
em có đề bài như này, cột với các dãy số cho sẵn như trong file đính kèm
yêu cầu là lọc các giá trị sao cho chỉ giữ lại các giá trị mà có số cuối cùng lớn nhất.
ví dụ
có nhiều số
[TABLE="width: 92"]
[TR]
[TD="class: xl63, width: 92, align: right"][TABLE="width: 92"]
[TR]
[TD="class: xl65, width: 92"]300019802260,300019802261,300019802262
thì chỉ lấy 300019802262 còn 2 số kia thì bỏ
lưu ý là không phải lọc các giá trị trùng nhau nhé[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]
nhờ mọi người giúp em với ạ. chứ nghĩ mãi đau đầu mà em vẫn không nghĩ ra được cách giải quyết nào

Có thể dùng hàm right(a1,1) để lấy giá trị cuối rồi sort hay filter. Dùng tính năng sẵn có, chưa cần phải coding.

ĐÚng ý bạn ko?
 
Upvote 0
Bài này dùng Advance Filter vẫn được.
 

File đính kèm

Upvote 0
cảm ơn bác, ý e là lấy nhiều giá trị có số cuối lớn nhất ấy, chứ không phải là lấy 1 giá trị duy nhất bác ạ. như là 300019802262 lớn nhất thì vẫn lấy tất cả các giá trị 300019802262 chứ không phải một ạ
Bài này đơn giản.
1. Sort dữ liệu cột A từ lớn tới nhỏ
2. Chạy vòng lặp duyệt qua vùng này, so sánh nếu em dưới bằng em trên hoặc nhỏ hơn 1 không lấy
 
Lần chỉnh sửa cuối:
Upvote 0
em có đề bài như này, cột với các dãy số cho sẵn như trong file đính kèm
yêu cầu là lọc các giá trị sao cho chỉ giữ lại các giá trị mà có số cuối cùng lớn nhất (giá trị lớn nhất có lặp thì vẫn lấy).
Ví dụ
có nhiều số
[TABLE="width: 92"]
[TR]
[TD="class: Xl63, width: 92, align: right"][TABLE="width: 92"]
[TR]
[TD="class: Xl65, width: 92"]300019802260,300019802261,300019802262
thì chỉ lấy 300019802262 còn 2 số kia thì bỏ
lưu ý là không phải lọc các giá trị trùng nhau nhé
[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]
nhờ mọi người giúp em với ạ. Chứ nghĩ mãi đau đầu mà em vẫn không nghĩ ra được cách giải quyết
nào
em sửa lại để mọi người hiểu rõ hơn chút

Mã:
=index($a:$a,small(if((--right($a$1:$a$82)=max(--right($a$1:$a$82))),row($a$1:$a$82)),row(1:1)))
ctrl+shift+enter
 
Upvote 0
Upvote 0

File đính kèm

Upvote 0
em có đề bài như này, cột với các dãy số cho sẵn như trong file đính kèm
yêu cầu là lọc các giá trị sao cho chỉ giữ lại các giá trị mà có số cuối cùng lớn nhất (giá trị lớn nhất có lặp thì vẫn lấy).
ví dụ
có nhiều số
[TABLE="width: 92"]
[TR]
[TD="class: xl63, width: 92, align: right"][TABLE="width: 92"]
[TR]
[TD="class: xl65, width: 92"]300019802260,300019802261,300019802262
thì chỉ lấy 300019802262 còn 2 số kia thì bỏ
lưu ý là không phải lọc các giá trị trùng nhau nhé[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]
nhờ mọi người giúp em với ạ. chứ nghĩ mãi đau đầu mà em vẫn không nghĩ ra được cách giải quyết
nào
em sửa lại để mọi người hiểu rõ hơn chút
Muốn code thì thử với code này coi sao
PHP:
Sub QH()
Dim Sarr(), Res(1 To 65536, 1 To 1), i, k
Range([a1], [A65536].End(3)).Sort [a1], 2
Sarr = Range([a1], [A65536].End(3)).Value
k = 1
Res(k, 1) = Sarr(1, 1)
For i = 2 To UBound(Sarr)
   If Sarr(i, 1) <> Sarr(i - 1, 1) Then
      If Sarr(i, 1) + 1 <> Sarr(i - 1, 1) Then
         k = k + 1
         Res(k, 1) = Sarr(i, 1)
      End If
   Else
      If Sarr(i, 1) = Res(k, 1) Then
         k = k + 1
         Res(k, 1) = Sarr(i, 1)
      End If
   End If
Next
[C1].Resize(k) = Res
End Sub
 
Upvote 0

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

Back
Top Bottom