Hi bạn. CHo mình hỏi lộc danh sách theo dang abcabc không bạn. Nhờ bạn làm giúp hàm này giup minh. Cam on ban nhieu
Bạn
Hi ai đấy?
Mà bạn muốn hỏi ai, nói chuyện với ai thì bạn phải trích bài của người ấy hoặc bằng cách nào đấy để mọi người biết bạn hỏi ai.
Mà bạn kiệm lời quá. Bạn là người hỏi mới thì bạn phải trình bầy dữ liệu của mình. Có người cứ làm, lạc đề thì làm lại. Nhưng cũng có người không muốn mất công không đáng có.
Bạn nên rút kinh nghiệm.
------------
Tôi cho là a, b, c là các chữ số. Nếu không là vậy, hoặc còn "vài" điều kiện nữa - vd. a, b, c khác nhau từng đôi một - thì tôi cũng không tham gia nữa.
------------
Code có thể viết theo nhiều kiểu. Tôi dùng "kiểu Toán học". Tốc độ nhanh "chóng mặt" luôn. Tôi tin là không còn cách nào nhanh hơn. Còn nếu có cách nhanh hơn thì tôi cũng rất muốn biết.
-------------
[GPECODE=vb]
Function DuoiABCABC(Arr)
Dim tmpArr, tmp, index As Long, r As Long, a As Long
If IsArray(Arr) Then
tmpArr = Arr
Else
ReDim tmpArr(1 To 1, 1 To 1)
tmpArr(1, 1) = Arr
End If
ReDim tmp(1 To UBound(tmpArr) - LBound(tmpArr) + 1, 1 To 1)
For r = LBound(tmp) To UBound(tmp)
tmp(r, 1) = ""
Next r
For r = LBound(tmp) To UBound(tmp)
On Error GoTo end_
a = CLng(tmpArr(r, 1)) Mod 1000000
If (a <> 0) And (a Mod 1001 = 0) Then
index = index + 1
tmp(index, 1) = tmpArr(r, 1)
End If
end_:
Next r
DuoiABCABC = tmp
End Function
[/GPECODE]
Cách dùng: Vd. nếu dữ liệu của bạn từ A1 tới A200000 và kết quả trả trong cột B từ B1 thì:
1. Chọn vùng B1: B200000
2. Công thức là =DuoiABCABC(A1:A200000) và kết thúc bằng Shift + Ctrl + Enter