Exel hàm tìm cặp số thỏa mãn điều kiện cho trước (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

vuasutu102tp1

Thành viên mới
Tham gia
7/4/21
Bài viết
16
Được thích
0
Em có bảng số 100 ô ở cột A và 100 ô ở cột B (tất cả đều là số nguyên)
Các bác giúp e: Lấy 1 ô của cột A trừ đi 1 ô ở cột B sao cho hiệu <19 (1 ô chỉ được dùng 1 lần) sao cho số cặp thỏa mãn là lớn nhất
 

File đính kèm

Em có bảng số 100 ô ở cột A và 100 ô ở cột B (tất cả đều là số nguyên)
Các bác giúp e: Lấy 1 ô của cột A trừ đi 1 ô ở cột B sao cho hiệu <19 (1 ô chỉ được dùng 1 lần) sao cho số cặp thỏa mãn là lớn nhất
Chạy code
Mã:
Sub ABC()
  Dim sArr(), Res(), i&, r&
 
  Res = Range("A1:B100").Value
  Range("A1:A100").Sort [A1], 2
  Range("B1:B100").Sort [B1], 2
  sArr = Range("A1:B100").Value
  Range("A1:B100").Value = Res
  ReDim Res(1 To 100, 1 To 2)
  r = 1
  Do While i < 100 And r <= 100
    i = i + 1
    If sArr(i, 1) - sArr(r, 2) < 19 Then
      k = k + 1
      Res(k, 1) = sArr(i, 1)
      Res(k, 2) = sArr(r, 2)
      r = r + 1
    End If
  Loop
  Range("D1").Resize(100, 2) = Res
End Sub
 
Chạy code
Mã:
Sub ABC()
  Dim sArr(), Res(), i&, r&

  Res = Range("A1:B100").Value
  Range("A1:A100").Sort [A1], 2
  Range("B1:B100").Sort [B1], 2
  sArr = Range("A1:B100").Value
  Range("A1:B100").Value = Res
  ReDim Res(1 To 100, 1 To 2)
  r = 1
  Do While i < 100 And r <= 100
    i = i + 1
    If sArr(i, 1) - sArr(r, 2) < 19 Then
      k = k + 1
      Res(k, 1) = sArr(i, 1)
      Res(k, 2) = sArr(r, 2)
      r = r + 1
    End If
  Loop
  Range("D1").Resize(100, 2) = Res
End Sub
Em làm được rồi ạ. Em cảm ơn bác nhé
 
Web KT

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

Back
Top Bottom