Hoàng Nhật Phương
Thành viên gắn bó
![](/diendan/data/PhoToDanhHieu/pip.gif)
![](/diendan/data/PhoToDanhHieu/pip.gif)
![](/diendan/data/PhoToDanhHieu/pip.gif)
- Tham gia
- 5/11/15
- Bài viết
- 1,895
- Được thích
- 1,219
Kết quả mẫu tại T5 và T6 có gì nhầm lẫn không bạn?Xin chào các bạn:
Nhờ các bạn giúp đỡ cho Oanh Thơ trường hợp trong tập tin gửi kèm với ạ.
Tôi hỏi ô T5 và T6 đó bạn. Cả T9 nữa.Xin chào huuthang_bd,
Cảm ơn anh đã quan tâm đến đề tài.
Ý anh hỏi là kết quả Tuần 4 và Tuần 5 với mã MH 006 đó ạ
Không nhầm anh ạ: vì số lượng tồn của mã này theo yêu cầu xuất ở Bảng 1 có cả tuần 4 và tuần 5. số lượng tồn ở các tuần này không tuần nào âm anh ạ.
Dạ vâng đúng ạ, ô T5 và T6 bị ngược anh nhìn nhanh thật.Tôi hỏi ô T5 và T6 đó bạn. Cả T9 nữa.
Dạ vâng đúng ạ, ô T5 và T6 bị ngược anh nhìn nhanh thật.
Oanh Thơ đã sửa và gửi lại file ở bài 1 ạ.
Function SanXuat(Thang As Long, MaHang As Variant, XuatTon As Variant) As Variant
Dim KetQua As Variant, i As Long, k As Long
MaHang = MaHang
XuatTon = XuatTon
ReDim KetQua(1 To UBound(MaHang, 1) * 2, 1 To 2)
For i = 1 To UBound(MaHang, 1)
If XuatTon(i, 1) > 0 Then
If XuatTon(i, 1) + XuatTon(i, 2) > 0 Then
k = k + 1
KetQua(k, 1) = CStr(Thang - 1) & "-" & MaHang(i, 1)
KetQua(k, 2) = XuatTon(i, 1) + Application.Min(XuatTon(i, 2), 0)
End If
If XuatTon(i, 2) < 0 Then
k = k + 1
KetQua(k, 1) = CStr(Thang) & "-" & MaHang(i, 1)
KetQua(k, 2) = IIf(XuatTon(i, 1) + XuatTon(i, 2) > 0, -XuatTon(i, 2), XuatTon(i, 1))
End If
End If
Next
SanXuat = KetQua
End Function
Q5:R15=SanXuat(MONTH($D$3),$B$5:$B$10,E5:F10)
Dùng dạng công thức mảng với cú pháp như sau:Mã:Function SanXuat(Thang As Long, MaHang As Variant, XuatTon As Variant) As Variant Dim KetQua As Variant, i As Long, k As Long MaHang = MaHang XuatTon = XuatTon ReDim KetQua(1 To UBound(MaHang, 1) * 2, 1 To 2) For i = 1 To UBound(MaHang, 1) If XuatTon(i, 1) > 0 Then If XuatTon(i, 1) + XuatTon(i, 2) > 0 Then k = k + 1 KetQua(k, 1) = CStr(Thang - 1) & "-" & MaHang(i, 1) KetQua(k, 2) = XuatTon(i, 1) + Application.Min(XuatTon(i, 2), 0) End If If XuatTon(i, 2) < 0 Then k = k + 1 KetQua(k, 1) = CStr(Thang) & "-" & MaHang(i, 1) KetQua(k, 2) = IIf(XuatTon(i, 1) + XuatTon(i, 2) > 0, -XuatTon(i, 2), XuatTon(i, 1)) End If End If Next SanXuat = KetQua End Function
Mã:Q5:R15=SanXuat(MONTH($D$3),$B$5:$B$10,E5:F10)
Bạn sửaĐúng rồi anh huuthang_bd ơi, em cảm ơn anh huuthang_bd nhiều nhé.
Anh cho em hỏi thêm nếu em muốn thay đổi định dạng như sau:
định dạng: mmyy-Mã Hàng
Ví dụ: 0708-MH 002
Thì code sẽ thay đổi thế nào ạ?
CStr(...)
Format(...,"00")
Bạn sửa
ThànhMã:CStr(...)
Mã:Format(...,"00")
Lẽ ra bạn phải ghi là 0718-MH 002 chứAnh huuthang_bd ơi, em sửa theo kết quả là 07-MH 002, còn thiếu 2 số định dạng năm nữa.
Kết quả mong muốn 0708-MH 002 , nhờ anh xem giúp ạ
Function SanXuat(Thang As Long, MaHang As Variant, XuatTon As Variant) As Variant
Dim KetQua As Variant, i As Long, k As Long
MaHang = MaHang
XuatTon = XuatTon
ReDim KetQua(1 To UBound(MaHang, 1) * 2, 1 To 2)
For i = 1 To UBound(MaHang, 1)
If XuatTon(i, 1) > 0 Then
If XuatTon(i, 1) + XuatTon(i, 2) > 0 Then
k = k + 1
KetQua(k, 1) = Format(DateAdd("m", -1, Thang),"mmyy") & "-" & MaHang(i, 1)
KetQua(k, 2) = XuatTon(i, 1) + Application.Min(XuatTon(i, 2), 0)
End If
If XuatTon(i, 2) < 0 Then
k = k + 1
KetQua(k, 1) = Format(Thang, "mmyy") & "-" & MaHang(i, 1)
KetQua(k, 2) = IIf(XuatTon(i, 1) + XuatTon(i, 2) > 0, -XuatTon(i, 2), XuatTon(i, 1))
End If
End If
Next
SanXuat = KetQua
End Function
Q5:R15=SanXuat($D$3,$B$5:$B$10,E5:F10)
Lẽ ra bạn phải ghi là 0718-MH 002 chứ
Dùng dạng công thức mảng với cú pháp như sau:Mã:Function SanXuat(Thang As Long, MaHang As Variant, XuatTon As Variant) As Variant Dim KetQua As Variant, i As Long, k As Long MaHang = MaHang XuatTon = XuatTon ReDim KetQua(1 To UBound(MaHang, 1) * 2, 1 To 2) For i = 1 To UBound(MaHang, 1) If XuatTon(i, 1) > 0 Then If XuatTon(i, 1) + XuatTon(i, 2) > 0 Then k = k + 1 KetQua(k, 1) = Format(DateAdd("m", -1, Thang),"mmyy") & "-" & MaHang(i, 1) KetQua(k, 2) = XuatTon(i, 1) + Application.Min(XuatTon(i, 2), 0) End If If XuatTon(i, 2) < 0 Then k = k + 1 KetQua(k, 1) = Format(Thang, "mmyy") & "-" & MaHang(i, 1) KetQua(k, 2) = IIf(XuatTon(i, 1) + XuatTon(i, 2) > 0, -XuatTon(i, 2), XuatTon(i, 1)) End If End If Next SanXuat = KetQua End Function
Tôi sửa bằng điện thoại không biết có sót chỗ nào không. Bạn kiểm tra lại.Mã:Q5:R15=SanXuat($D$3,$B$5:$B$10,E5:F10)