Công thức fill theo điều kiện (1 người xem)

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

FPT_online

Thành viên hoạt động
Tham gia
27/10/13
Bài viết
133
Được thích
16
Mình có bảng tính như trong file đính kèm. Nhờ mọi người dùng công thức để fill theo điều kiện. Thank mọi người đã giúp
 

File đính kèm

Mình có bảng tính như trong file đính kèm. Nhờ mọi người dùng công thức để fill theo điều kiện. Thank mọi người đã giúp
PHP:
Sub Lap_Lai()
    Dim DongHT As Long
    Dim SM As Long
    DongSM = 1


    For DongHT = 2 To 1000
    Dim SL_lap_lai As Integer
    SL_lap_lai = CInt(Worksheets("Sheet1").Range("B" & DongHT).Value)
    Dim i As Integer
        For i = 1 To SL_lap_lai
            Sheets("Sheet2").Range("A" & DongSM).Value = Sheets("Sheet1").Range("A" & DongHT).Value
        
           DongSM = DongSM + 1
        Next i
    Next DongHT
End Sub
Bạn thử xem có được ko nhé
 
Lần chỉnh sửa cuối:
mình có bảng tính như trong file đính kèm. Nhờ mọi người dùng công thức để fill theo điều kiện. Thank mọi người đã giúp

Mã:
a9=index($a$2:$a$5,if(count(a8),if(countif($a$8:a8,a8)<vlookup(a8,$a$2:$b$5,2,0),a8,match(a8,$a$2:$a$5,0)+1),1))
 
Lần chỉnh sửa cuối:
Sheets("Sheet2").Range("A" & DongSM).Value = Sheets("Sheet1").Range("A" & DongHT).Value
Sao lại có "Sheet2" ở đây?

Thử với 1 vòng lặp:
PHP:
Sub ketqua()
Dim i&, j&, arr1(), arr2()
arr1 = Sheet1.Range("A2:A5").Value
arr2 = Sheet1.Range("B2:B5").Value
j = 0
For i = 1 To UBound(arr1)
   Sheet1.Range("A9").Offset(j, 0).Resize(arr2(i, 1) * 1, 1) = arr1(i, 1)
   j = j + arr2(i, 1)
Next
End Sub
 
Sao lại có "Sheet2" ở đây?

Thử với 1 vòng lặp:
PHP:
Sub ketqua()
Dim i&, j&, arr1(), arr2()
arr1 = Sheet1.Range("A2:A5").Value
arr2 = Sheet1.Range("B2:B5").Value
j = 0
For i = 1 To UBound(arr1)
   Sheet1.Range("A9").Offset(j, 0).Resize(arr2(i, 1) * 1, 1) = arr1(i, 1)
   j = j + arr2(i, 1)
Next
End Sub
Lúc đầu em định để kết quả ở sheet 2
Mã:
DongSM = 9
Sheets("Sheet1").Range("A" & DongSM).Value = Sheets("Sheet1").Range("A" & DongHT).Value
Để thế này phù hợp với yêu cầu của chủ topic hơn. Cảm ơn anh nhé
 
nữa thế kỉ mới đi viết công thức 1 lần . hí hí
d9==INDEX($A$2:$A$5,IFERROR(MATCH(D8,$A$2:$A$5,0)+(VLOOKUP(D8,$A$2:$B$5,2,0)-1<COUNTIF($D$8:D8,D8)),1))
 
Lần chỉnh sửa cuối:

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

Back
Top Bottom