giúp e hàm phận biệt các đoạn liên tục ạ !

Liên hệ QC
Mã:
Sub Tomeo()
Dim chk As String, z As Long, tmp As Variant, r As Long, rr As Long, T As Long, TT As Long
Dim KQ() As Variant, k As Long
chk = "Mau 1"
With Sheet1
    z = .Range("A" & .Rows.Count).End(xlUp).Row
    tmp = .Range("A2:A" & z)
    z = UBound(tmp, 1)
    ReDim KQ(1 To z, 0)
    KQ(1, 0) = chk
    For r = 1 To z
    If r < rr Then GoTo 1
    For rr = r To z
        If rr < z Then
            T = CLng(Right(tmp(rr, 1), 9))
            TT = CLng(Right(tmp(rr + 1, 1), 9))
            If TT = T + 1 Then
                KQ(rr + 1, 0) = KQ(rr, 0)
            Else
                k = k + 1
                If k Mod 2 = 1 Then chk = "Mau 2" Else chk = "Mau 1"
                KQ(rr + 1, 0) = chk
            End If
        End If
    Next rr
1:
    Next r
.Range("C2").Resize(z, 1) = KQ
End With
End Sub
 
Mã:
Sub Tomeo()
Dim chk As String, z As Long, tmp As Variant, r As Long, rr As Long, T As Long, TT As Long
Dim KQ() As Variant, k As Long
chk = "Mau 1"
With Sheet1
    z = .Range("A" & .Rows.Count).End(xlUp).Row
    tmp = .Range("A2:A" & z)
    z = UBound(tmp, 1)
    ReDim KQ(1 To z, 0)
    KQ(1, 0) = chk
    For r = 1 To z
    If r < rr Then GoTo 1
    For rr = r To z
        If rr < z Then
            T = CLng(Right(tmp(rr, 1), 9))
            TT = CLng(Right(tmp(rr + 1, 1), 9))
            If TT = T + 1 Then
                KQ(rr + 1, 0) = KQ(rr, 0)
            Else
                k = k + 1
                If k Mod 2 = 1 Then chk = "Mau 2" Else chk = "Mau 1"
                KQ(rr + 1, 0) = chk
            End If
        End If
    Next rr
1:
    Next r
.Range("C2").Resize(z, 1) = KQ
End With
End Sub
dạ e cảm ơn a ạ, có thể tạo dùm e hàm ko a !
 
e muốn dùng hàm để tiện sử dụng , nhờ a/c viết dùm e hàm với ạ, cảm ơn a/c nhiều ạ !
 

File đính kèm

  • CF01.xlsx
    12.7 KB · Đọc: 16
Đâu có hàm nào tô màu được, nếu muốn thì viết hàm trong cột phụ rồi tô màu bằng CF thôi.
dạ cảm ơn a, e thấy trong file có dùng cột phụ đánh số 1,2,3,4..... vậy nhờ a chỉ đánh số 1 và 2 , rùi e tự tô màu lại a nhé , cảm ơn a !
 
Lần chỉnh sửa cuối:
tạo cho bạn 2 công thức cột phụ cho bạn tùy chọn
 

File đính kèm

  • CF.xlsb
    17.1 KB · Đọc: 9
tạo cho bạn 2 công thức cột phụ cho bạn tùy chọn
Góp vui với bạn hiền bằng một CF chứa công thức mảng (không dùng cột phụ):

Đứng tại A2, vào CF dán công thức:
Mã:
=MATCH(RIGHT($A2,15)*1,SMALL(IF(SMALL(IFERROR(--RIGHT($A$1:$A$27,15),0),ROW($2:$26))-SMALL(IFERROR(--RIGHT($A$1:$A$27,15),0),ROW($1:$25))>1,SMALL(IFERROR(--RIGHT($A$1:$A$27,15),0),ROW($2:$26))),ROW($1:$26)),0)
Chọn Fill màu vàng, chữ màu đỏ, Applies To: $A$2:$A$27

Tức đánh dấu những số hạng đầu tiên bị đứt khúc so với các số dù có liền kề trên hay không, các ô không màu tức liên tục.

Chúc bạn hiền ngày thiệt vui. }}}}}}}}}}}}}}}
 

File đính kèm

  • CF.xlsb
    19.4 KB · Đọc: 8
Lần chỉnh sửa cuối:
Góp vui với bạn hiền bằng một CF chứa công thức mảng (không dùng cột phụ):
Đứng tại A2, vào CF dán công thức:
Mã:
=MATCH(RIGHT($A2,15)*1,SMALL(IF(SMALL(IFERROR(--RIGHT($A$1:$A$27,15),0),ROW($2:$26))-SMALL(IFERROR(--RIGHT($A$1:$A$27,15),0),ROW($1:$25))>1,SMALL(IFERROR(--RIGHT($A$1:$A$27,15),0),ROW($2:$26))),ROW($1:$26)),0)
Chọn Fill màu vàng, chữ màu đỏ, Applies To: $A$2:$A$27
Tức đánh dấu những số hạng đầu tiên bị đứt khúc so với các số dù có liền kề trên hay không, các ô không màu tức liên tục.
Chúc bạn hiền ngày thiệt vui. }}}}}}}}}}}}}}}
là cách hay để nhận dạng liên tục, dùng công thức thuận lợi hơn
yêu cầu nhận diện liên tục của chủ thớt rất khó dùng công thức trực tiếp, nghĩ hoài mà không có hướng xử lý nào, phải dùng cột phụ hoặc code VBA, hoặc phải niệm thần chú úmbala làlalá gọi Leoheocon lên xử thôi --=0--=0--=0
chúc bạn một ngày vui }}}}}}}}}}}}}}}
 
Góp vui với bạn hiền bằng một CF chứa công thức mảng (không dùng cột phụ):

Đứng tại A2, vào CF dán công thức:
Mã:
=MATCH(RIGHT($A2,15)*1,SMALL(IF(SMALL(IFERROR(--RIGHT($A$1:$A$27,15),0),ROW($2:$26))-SMALL(IFERROR(--RIGHT($A$1:$A$27,15),0),ROW($1:$25))>1,SMALL(IFERROR(--RIGHT($A$1:$A$27,15),0),ROW($2:$26))),ROW($1:$26)),0)
Chọn Fill màu vàng, chữ màu đỏ, Applies To: $A$2:$A$27

Tức đánh dấu những số hạng đầu tiên bị đứt khúc so với các số dù có liền kề trên hay không, các ô không màu tức liên tục.

Chúc bạn hiền ngày thiệt vui. }}}}}}}}}}}}}}}
dạ cảm ơn a, e thích cách của a Hiếu dùng 1 hàm chạy ra luôn ạ
 
tạo cho bạn 2 công thức cột phụ cho bạn tùy chọn
e mới update lại VD 1 , trong đó e cần 2 KQ 1 và KQ 2, KQ 1 e thấy a dùng hàm này ok rùi a
=IF(B1="",TRUE,IF(AND(LEFT(A1,LEN(A1)-14)=LEFT(A2,LEN(A2)-14),RIGHT(A1,14)+1=RIGHT(A2,14)+0),B1,NOT(B1)))
nhờ a giúp KQ 2 tính tổng số các đoạn liền nhau của mỗi đoạn, lấy dữ liệu cột A để ra kết quả ạ , e cảm ơn ạ !
 
dạ cảm ơn a, e thích cách của a Hiếu dùng 1 hàm chạy ra luôn ạ
Không có chi đâu bạn,

Chỉ muốn trao đổi và chia sẻ góp vui thêm với bạn hiền (HieuCD) của tôi về sự liên tục thôi. Chứ công thức - CF của tôi không giải bài như yêu cầu của bạn, bạn đừng hiều lầm mà áp dụng theo. --=0

Chúc bạn ngày vui.
 
e mới update lại VD 1 , trong đó e cần 2 KQ 1 và KQ 2, KQ 1 e thấy a dùng hàm này ok rùi a

nhờ a giúp KQ 2 tính tổng số các đoạn liền nhau của mỗi đoạn, lấy dữ liệu cột A để ra kết quả ạ , e cảm ơn ạ !
Mã:
B2 =IF(B1=$B$1,1,IF(AND(LEFT(A1,LEN(A1)-14)=LEFT(A2,LEN(A2)-14),RIGHT(A1,14)+1=RIGHT(A2,14)+0),B1,MOD(B1,2)+1))
C2 =IF(B2<>B1,COUNT(OFFSET(B2,,,IFERROR(MATCH(MOD(B2,2)+1,B2:$B$27,0),COUNT(B2:$B$27)+1)-1,)),C1)
copy xuống
 
Mã:
B2 =IF(B1=$B$1,1,IF(AND(LEFT(A1,LEN(A1)-14)=LEFT(A2,LEN(A2)-14),RIGHT(A1,14)+1=RIGHT(A2,14)+0),B1,MOD(B1,2)+1))
C2 =IF(B2<>B1,COUNT(OFFSET(B2,,,IFERROR(MATCH(MOD(B2,2)+1,B2:$B$27,0),COUNT(B2:$B$27)+1)-1,)),C1)
copy xuống
hàm ở C2 e thử vẫn chưa chạy dc a, với lại C2 lấy dữ liệu ở A2 làm a nhé
e cảm ơn anh !
 
chào a/c !
e có file này ạ
https://www.dropbox.com/s/ksdrlxvvvz77eiv/vd1.xlsx?dl=0
nhờ a/c giúp dùm e hàm phân biệt các đoạn liên tục như trong kết quả cột B ạ
cảm ơn a/c nhiều ạ !
Cách khác dùng CT, chọn vùng A2:A27 bạn dùng 2 Ct này trong CF:
Mã:
=ISODD(SUM((--RIGHT($A$2:$A$27,10)-1<>IFERROR(--RIGHT($A$1:$A$26,10),))*(ROW($1:$26)<=ROW(A1)))+1) chọn màu xanh
=ISEVEN(SUM((--RIGHT($A$2:$A$27,10)-1<>IFERROR(--RIGHT($A$1:$A$26,10),))*(ROW($1:$26)<=ROW(A1)))+1) chọn màu đỏ
 

File đính kèm

  • Book1.xlsx
    8.5 KB · Đọc: 2
Lần chỉnh sửa cuối:
Cách khác dùng CT, chọn vùng A2:A27 bạn dùng 2 Ct này trong CF:
Mã:
=ISODD(SUM((--RIGHT($A$2:$A$27,10)-1<>IFERROR(--RIGHT($A$1:$A$26,10),))*(ROW($1:$26)<=ROW(A1)))+1) chọn màu xanh
=ISEVEN(SUM((--RIGHT($A$2:$A$27,10)-1<>IFERROR(--RIGHT($A$1:$A$26,10),))*(ROW($1:$26)<=ROW(A1)))+1) chọn màu đỏ
câu thần chú thật linh nghiệm, lần sau sẽ niệm tiếp, Khà khà }}}}}}}}}}}}}}}
cám ơn bạn, làm dùm luôn tính số dòng liên tiếp ở bài #16
chúc bạn một ngày vui
 
Web KT
Back
Top Bottom