UDF tìm kiếm giữa 2 range ?

  • Thread starter Thread starter vumian
  • Ngày gửi Ngày gửi
Liên hệ QC

vumian

Mỗi bậc thang là mỗi Cell
Tham gia
12/3/07
Bài viết
267
Được thích
186
Nghề nghiệp
employee only, not a boss
Dear all,

Giả sử có 2 range,

MÌnh code nó làm sao đề tìm tuần tự cells.value của range1 so sánh với từng cells.value của range 2,

Vậy thì số lần lặp sẽ là (số dòng của rang1) x (số dòng range2)

function timliem(oSrc as range,oDes as range)
... ?
end function

=Timkiem(range1,range2) ???

Cam on nhieu
 
Kết quả bác muốn trả về là gì?
tìm kiếm thì cho 2 vòng lặp lồng nhau, số phần tử đã được xác định nên ta dùng
for each scell in oSrc
for each dcell in oDes
'so sanh
next
next
 
Lần chỉnh sửa cuối:
Upvote 0
vumian đã viết:
Dear all,

Giả sử có 2 range,

MÌnh code nó làm sao đề tìm tuần tự cells.value của range1 so sánh với từng cells.value của range 2,

Vậy thì số lần lặp sẽ là (số dòng của rang1) x (số dòng range2)

function timliem(oSrc as range,oDes as range)
... ?
end function

=Timkiem(range1,range2) ???

Cam on nhieu
Kết quả trả về là cái gì hả bạn ???
  1. Là số lần lặp?? Số lần lặp : ở những hàng = nhau mà giá trị bằng nhau thì coi như 1 lần lặp ???
  2. Là tổng số lần lặp lại của các phần tử trong Range1 đối với Range2 ??? VD : Range1 = {1;2); Range2 = {1;2;2;2) -->> Số lần lặp là : 1 + 3 = 4 ???
Thân!
 
Upvote 0
Hàm phải trả về một giá trị nào đó. Ở đây bạn không cho biết cụ thể thì làm sao trả lời(vd so sánh giá trị của hai cell thuộc 2 range hay số vòng lặp...). Bạn nên chi tiết hơn một chút nữa
Thân
 
Upvote 0
UDF tìm kiếm giữa 2 range

ngvanho đã viết:
UDF tìm kiếm giữa 2 range
TÔI THẤY DÙNG HÀM CÓ SẲN CỦA EXCEL VẨN NHANH VÀ TỐT HƠN
BẠN DÙNG CÔNG THỨC
=IF(COUNTIF($B$2:$B$1000,$A)>0,"Y","N")
ĐỂ KIỂM TRA XEM TÙNG PHẦN TỬ Ở CỘT A CÓ TRONG B HAY KHÔNG
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Cám on các bác nhiều, giờ mới online duoc, mình kết quả trà về là những cells nào ở oSrc không tồn tại ở range2

cám on nhiều
 
Upvote 0
vumian đã viết:
Cám on các bác nhiều, giờ mới online duoc, mình kết quả trà về là những cells nào ở oSrc không tồn tại ở range2

cám on nhiều

Nếu có nhiều Cells không tồn tại ở Range2 thì sao ???
Dùng mảng hả ???

Thân!
 
Upvote 0
Có thẩ trả ra mảng, hoặc trả dữ liệu liền nhau ở cột nào đó
 
Upvote 0
So Sánh 2 Range

ngvanho đã viết:
TÔI THẤY DÙNG HÀM CÓ SẲN CỦA EXCEL VẨN NHANH VÀ TỐT HƠN
BẠN DÙNG CÔNG THỨC
=IF(COUNTIF($B$2:$B$1000,$A)>0,"Y","N")
ĐỂ KIỂM TRA XEM TÙNG PHẦN TỬ Ở CỘT A CÓ TRONG B HAY KHÔNG

BẠN THỬ DÙNG ĐOẠN CODE NÀY ĐỂ TẠO HÀM XEM

PHP:
Function TIM(DK1 As Range, COT1 As Range) As String
 Dim I, COT, DONG As Integer
 COT = COT1.Column
 DONG = COT1.Rows.Count
 For I = 1 To DONG
         If DK1 = CELLS(I, COT) And Len(DK1) > 0 Then TIM = "Y"
 Next I
End Function
VỚI DK1 LÀ 1 Ô CỦA CỘT CẦN TÌM
COT1 LÀ CỘT DỬ LIỆU

THÍ DỤ = TIM($A2,$B$2:$B$200)
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Web KT

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

Back
Top Bottom