Tìm số bị thiếu từ giá trị (nguyên dương) min đến giá trị max.

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Trong vùng n đến dd phải có số chạy từ giá trị (nguyên dương) từ min đến giá trị max, nếu không như vây là bị thiếu, ví dụ hàng 11 thiếu số 33. Làm sao để tìm được số 33 trên ạ? Em cảm ơn ạ!

Sub TimCacSoThieu()
Dim SoCot As Integer, J As Long, Dm As Integer, Max_ As Integer, Min_ As Integer
Dim Rng As Range, sRng As Range, WF As Object

SoCot = Sheets("A4").UsedRange.Columns.Count
Set WF = Application.WorksheetFunction
For J = 3 To .End(xlDown).Row 'Duyêt Theo Dòng '
Dim sKQ As String
Set Rng = Range(Cells(J, "N"), Cells(J, SoCot).End(xlToLeft))
Min_ = WF.Min(Rng): Max_ = WF.Max(Rng)
For Dm = Min_ To Max_
Set sRng = Rng.Find(Dm, , xlFormulas, xlWhole)
If sRng Is Nothing Then
sKQ = Str(Dm) & "," & sKQ
End If
If Len(sKQ) Then Cells(J, "I").Value = sKQ
Next Dm
Next J
End Sub

Min_ = WF.Min(Rng): Max_ = WF.Max(Rng)

Min và Max có sẵn ở cột J và K

==========================
Thử xem công thức này xem sao :

H3=IFERROR(SMALL(IF(ISNA(MATCH(ROW(INDIRECT(MIN($N3:$DD3)&":"&MAX($N3:$DD3)));$N3:$DD3;0));ROW(INDIRECT(MIN($N3:$DD3)&":"&MAX($N3:$DD3)));"");COLUMN(A$1));"")

Kéo công thức các ô còn lại

Xem chi tiết file vì bạn không dùng 365 nên không có hàm TEXTJOIN để nối.

Ở đây mình đang lấy min=1, bạn xem thử áp dụng được không nhé.

=IFERROR(SMALL(IF(COUNTIF($N3:$DD3; COLUMN(INDIRECT("r1c1:r1c"&$K3;0)))=0;COLUMN(INDIRECT("r1c1:r1c"&$K3;0));"");COLUMN(A1));"")

www.giaiphapexcel.com/diendan/threads/t%C3%ACm-s%E1%BB%91-b%E1%BB%8B-thi%E1%BA%BFu-t%E1%BB%AB-gi%C3%A1-tr%E1%BB%8B-nguy%C3%AAn-d%C6%B0%C6%A1ng-min-%C4%91%E1%BA%BFn-gi%C3%A1-tr%E1%BB%8B-max.163998/

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 0 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm