Thử công thức này:Chào anh/chị
Nhờ anh/chị giúp em công thức tìm số hóa đơn bị lủng (như file đính kèm).
Ví dụ như: số hóa đơn ở cột C: từ số 159950->159957 sẽ bị lủng từ số: 159951 đến 159956
Em cám ơn ạ!
=IFERROR(AGGREGATE(15,6,ROW(INDIRECT(MIN($C$2:$C$9)&":"&MAX($C$2:$C$9)))
/(COUNTIF($C$2:$C$9,ROW(INDIRECT(MIN($C$2:$C$9)&":"&MAX($C$2:$C$9))))=0),ROW(A1)),"")
Bạn tham khảo thêm.Chào anh/chị
Nhờ anh/chị giúp em công thức tìm số hóa đơn bị lủng (như file đính kèm).
Ví dụ như: số hóa đơn ở cột C: từ số 159950->159957 sẽ bị lủng từ số: 159951 đến 159956
Em cám ơn ạ!
em ráp dữ liệu nhiều vào thì công thức chạy không nổi luôn. Có cách nào nữa không ạ?Thử công thức này:
Mã:=IFERROR(AGGREGATE(15,6,ROW(INDIRECT(MIN($C$2:$C$9)&":"&MAX($C$2:$C$9))) /(COUNTIF($C$2:$C$9,ROW(INDIRECT(MIN($C$2:$C$9)&":"&MAX($C$2:$C$9))))=0),ROW(A1)),"")
em ráp dữ liệu nhiều vào thì công thức chạy không nổi luôn. Có cách nào nữa không ạ?Bạn tham khảo thêm.
Dữ liệu quá lớn dùng công thức không khả thiem ráp dữ liệu nhiều vào thì công thức chạy không nổi luôn. Có cách nào nữa không ạ?
Bài đã được tự động gộp:
em ráp dữ liệu nhiều vào thì công thức chạy không nổi luôn. Có cách nào nữa không ạ?
Sub ABC()
Dim sArr(), Arr(), Res()
Dim sRow&, sCol&, i&, k&, r&
Const dRow& = 1000
With Sheets("Data")
sArr = .Range("C2", .Range("C" & Rows.Count).End(xlUp)).Value
i = .Range("G" & Rows.Count).End(xlUp).Row
If i > 1 Then .Range("G2:G" & i).ClearContents
End With
sRow = UBound(sArr)
k = dRow
ReDim Arr(1 To dRow, 1 To 1)
For i = 2 To sRow
For r = sArr(i - 1, 1) + 1 To sArr(i, 1) - 1
If k = dRow Then
k = 1
sCol = sCol + 1
ReDim Preserve Res(1 To sCol)
Res(sCol) = Arr
Else
k = k + 1
End If
Res(sCol)(k, 1) = r
Next r
Next i
If sCol > 0 Then
i = 2
For k = 1 To sCol
Sheets("Data").Range("G" & i).Resize(dRow) = Res(k)
i = i + dRow
Next k
End If
End Sub
Dạ, nhờ thầy gán thêm lệnh nút RUN thêm được không ạ, để mỗi khi em copy dữ liệu vào các cột ABC thì chỉ cần click nút lệnh RUN là dữ liệu chạy ạDữ liệu quá lớn dùng công thức không khả thi
Chạy code
Mã:Sub ABC() Dim sArr(), Arr(), Res() Dim sRow&, sCol&, i&, k&, r& Const dRow& = 1000 With Sheets("Data") sArr = .Range("C2", .Range("C" & Rows.Count).End(xlUp)).Value i = .Range("G" & Rows.Count).End(xlUp).Row If i > 1 Then .Range("G2:G" & i).ClearContents End With sRow = UBound(sArr) k = dRow ReDim Arr(1 To dRow, 1 To 1) For i = 2 To sRow For r = sArr(i - 1, 1) + 1 To sArr(i, 1) - 1 If k = dRow Then k = 1 sCol = sCol + 1 ReDim Preserve Res(1 To sCol) Res(sCol) = Arr Else k = k + 1 End If Res(sCol)(k, 1) = r Next r Next i If sCol > 0 Then i = 2 For k = 1 To sCol Sheets("Data").Range("G" & i).Resize(dRow) = Res(k) i = i + dRow Next k End If End Sub
nhấp chuột phải vào biểu tượng Run ....Dạ, nhờ thầy gán thêm lệnh nút RUN thêm được không ạ, để mỗi khi em copy dữ liệu vào các cột ABC thì chỉ cần click nút lệnh RUN là dữ liệu chạy ạ
Con đường quen thuộc trên GPE:nhấp chuột phải vào biểu tượng Run ....
Số hóa đơn phải xếp thứ tự từ thấp đến cao
em cám ơn thầy nhiều ạ!nhấp chuột phải vào biểu tượng Run ....
Số hóa đơn phải xếp thứ tự từ thấp đến cao