Xác định dử liệu trùng

Liên hệ QC

anhtuan1066

Thành viên gạo cội
Tham gia
10/3/07
Bài viết
5,802
Được thích
6,912
Theo như tôi biết thì INTERSECT dùng đễ xác định vùng chung cũa 2 vùng nào đó... Ko biết nó có thể xác định dc giá trị chung ko nhỉ ???
Ví dụ mãng {1,2,3,4,5,6} và mãng {1,2,3} là có dử liệu chung {1,2,3}
Hoặc nếu INTERSECT ko dùng dc cho trường hợp này thì ta sẽ dùng cái gì đễ xác định 2 vùng có dử liệu trùng.. Đại khái ko cần trích ra, chỉ cần biết 2 vùng dử liệu ấy có dử liệu chung hay ko mà thôi (Có tồn tại phần tử i trong mãng Ai hay ko... hao hao giống hàm COUNTIF trong Excel ấy)
Mong các cao thủ hướng dẩn thêm về vụ này
ANH TUẤN
 
anhtuan1066 đã viết:
Theo như tôi biết thì INTERSECT dùng đễ xác định vùng chung cũa 2 vùng nào đó... Ko biết nó có thể xác định dc giá trị chung ko nhỉ ???
Ví dụ mãng {1,2,3,4,5,6} và mãng {1,2,3} là có dử liệu chung {1,2,3}
Hoặc nếu INTERSECT ko dùng dc cho trường hợp này thì ta sẽ dùng cái gì đễ xác định 2 vùng có dử liệu trùng.. Đại khái ko cần trích ra, chỉ cần biết 2 vùng dử liệu ấy có dử liệu chung hay ko mà thôi (Có tồn tại phần tử i trong mãng Ai hay ko... hao hao giống hàm COUNTIF trong Excel ấy)
Mong các cao thủ hướng dẩn thêm về vụ này
ANH TUẤN

Dùng công thức mảng bác ạ :
{=SUM(COUNTIF($C$2:$C$10;$D$2:$D$5))}

Vùng 1 : $C$2:$C$10
Vùng 2 :$D$2:$D$5
KQ : Số phàn tử trùng nhau.
Thân!
 
Upvote 0
Ko phải Bắp ơi... ý tôi đang hỏi về code mà... Công thức Excel thì tất nhiên tôi biết rồi...
Đại khái muốn xác định xem dử liệu trong cells(i,j) có tồn tại trong Range(...) nào đó hay ko?
ANH TUẤN
 
Upvote 0
anhtuan1066 đã viết:
Theo như tôi biết thì INTERSECT dùng đễ xác định vùng chung cũa 2 vùng nào đó... Ko biết nó có thể xác định dc giá trị chung ko nhỉ ???
Ví dụ mãng {1,2,3,4,5,6} và mãng {1,2,3} là có dử liệu chung {1,2,3}
Hoặc nếu INTERSECT ko dùng dc cho trường hợp này thì ta sẽ dùng cái gì đễ xác định 2 vùng có dử liệu trùng.. Đại khái ko cần trích ra, chỉ cần biết 2 vùng dử liệu ấy có dử liệu chung hay ko mà thôi (Có tồn tại phần tử i trong mãng Ai hay ko... hao hao giống hàm COUNTIF trong Excel ấy)
Mong các cao thủ hướng dẩn thêm về vụ này
ANH TUẤN
Đây cũng là BT for ...next
for i = 1 to Rng1.count
for j = 1 to Rng2.count
if Rng1(i)=Rng2(j) then
....
end if
next j
next i
 
Upvote 0
Thế thì cay thật... Tưởng đâu trong VBA có hàm gì đó...
Vi dụ của ThuNghi thấy giống COUNTIF($A$1:A1,A1) quá
 
Upvote 0
Tôi lấy ví dụ về bài toán trích lọc danh sách duy nhất.. Bài toán này nếu chỉ xét 1 cột dử liệu thì ko có vấn đề... dùng Advanced Filter cũng ra.. Nhưng giã sử tác giả yêu cầu: Trùng cả 2 cột dử liệu mới dc xem là trùng ... thậm chí yêu cầu: Trùng cả 4 cột dử liệu mới dc xem là trùng ... Hic... Bài này mà dùng FOR chắc đói luôn...
Trong khi với công thức Excel thì lại dễ ở chổ này... ta có thể tạo 1 cột phụ và nối dử liệu các cột lại với nhau: (A1&A2&A3&A4....)... Bây giờ sẽ xem xét vụ trùng trong cột phụ này.. rất đơn giản...
Tôi cảm thấy thật sự lúng túng với bài toán này... Vì chỉ với việc xem xét điều kiện trùng thôi mà đã phải chơi cả 1 đoạn code thật dài rồi.. Vậy đễ đi đến mục đích cuối cùng là trích ra 1 bãng dử liệu ko trùng thì chắc.. đau tim luôn...
 
Upvote 0
Dùng cày chìa vôi này xem ưng í không?!?

Mảnh ruộng to gồm số ô không hạn chế trong trang tính;
Mảng nhỏ gồm 4 mét vuông thôi, nha!
PHP:
Option Explicit

Sub Resize()
 Dim lRng As Range, Clls As Range, sRng As Range, Rng0 As Range
  
 Set lRng = Sheets("S1").Range("A1:W9")
 Set sRng = lRng.Resize(lRng.Rows.Count - 1, lRng.Columns.Count - 1)
 Set Rng0 = Range("i14")
 For Each Clls In sRng
    With Clls
        If Clls = Rng0 Then
            If .Offset(, 1) = Rng0.Offset(, 1) And _
               .Offset(1) = Rng0.Offset(1) And _
               .Offset(1, 1) = Rng0.Offset(1, 1) Then _
               MsgBox .Resize(2, 2).Address
        End If
    End With
 Next Clls

End Sub
 
Upvote 0
anhtuan1066 đã viết:
Tôi lấy ví dụ về bài toán trích lọc danh sách duy nhất.. Bài toán này nếu chỉ xét 1 cột dử liệu thì ko có vấn đề... dùng Advanced Filter cũng ra.. Nhưng giã sử tác giả yêu cầu: Trùng cả 2 cột dử liệu mới dc xem là trùng ... thậm chí yêu cầu: Trùng cả 4 cột dử liệu mới dc xem là trùng ... Hic... Bài này mà dùng FOR chắc đói luôn...
Trong khi với công thức Excel thì lại dễ ở chổ này... ta có thể tạo 1 cột phụ và nối dử liệu các cột lại với nhau: (A1&A2&A3&A4....)... Bây giờ sẽ xem xét vụ trùng trong cột phụ này.. rất đơn giản...
Tôi cảm thấy thật sự lúng túng với bài toán này... Vì chỉ với việc xem xét điều kiện trùng thôi mà đã phải chơi cả 1 đoạn code thật dài rồi.. Vậy đễ đi đến mục đích cuối cùng là trích ra 1 bãng dử liệu ko trùng thì chắc.. đau tim luôn...
Tôi thấy mình vẫn có thể dùng Ad Filter cho 4-5 cột mà. Còn VBA, For thì bác nvs đã có 1 đoạn code rất hay về vụ nầy, dùng For.. And...And thì phải
 
Upvote 0
kelvin đã viết:
Tôi thấy mình vẫn có thể dùng Ad Filter cho 4-5 cột mà. Còn VBA, For thì bác nvs đã có 1 đoạn code rất hay về vụ nầy, dùng For.. And...And thì phải
Uh nhỉ? Lúc trước tôi cũng nghĩ AF có thể cho phép chọn nhiều cột, nhưng khi thử nghiệm thì tôi đã thao tác nhầm... Giờ dc bạn nhắc nhở, tôi làm lại thì thấy đúng là như vậy... Thế thì đơn giản nhiều rồi... ha.. ha...
Cảm ơn bạn!
ANH TUẤN
 
Upvote 0
anhtuan1066 đã viết:
. . .thì INTERSECT dùng đễ xác định vùng chung cũa 2 vùng nào đó... Ko biết nó có thể xác định dc giá trị chung ko nhỉ ???
Ví dụ mãng {1,2,3,4,5,6} và mãng {1,2,3} là có dử liệu chung {1,2,3}
Hoặc nếu INTERSECT ko dùng dc cho trường hợp này thì ta sẽ dùng cái gì đễ xác định 2 vùng có dử liệu trùng.. Đại khái ko cần trích ra, chỉ cần biết 2 vùng dử liệu ấy có dử liệu chung hay ko mà thôi (Có tồn tại phần tử i trong mãng Ai hay ko... hao hao giống hàm COUNTIF trong Excel ấy) ANH TUẤN
Code của mình nêu trên lại theo hướng này;
Vì đây là trung tâm giải thích Code, nên mình giải thích sơ qua đoạn macro trên của mình như sau;

Mảnh ruộng 3 Ha của nhà ông B Kiệm đã thống kê dữ liệu số rầy nâu trên từng ô (mỗi ô cho là 1 mét vuông); Chúng ta tìm xem trên mảnh đó có bao nhiêu khoảnh 4 mét vuông có số rầy nâu giống với 4 mét vuông của chuẩn do Bộ Nông nghiệp & Phát triển NT đề ra í mà!!
Tất nhiên, trong Code mình làm mảng chuẩn là hình vuông;
Nếu muốn sửa theo hình chử nhật dài ngoãng cũng xong luôn!
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom