quangba226vn
Thành viên mới

- Tham gia
- 20/9/09
- Bài viết
- 33
- Được thích
- 2




Bạn xem đúng ý bạn không nhéEm có bài tập này nhưng chưa có hướng giải quyết, mong các bac giúp em với.
Thân!

Nếu như bạn làm thì khi hàng bán ra có nhiều code trùng nhau thì không giải quyết được vấn đề. Ví dụ như khi hàng cafe đen(001) bán ra có 3 dòng thì sao?Bạn xem đúng ý bạn không nhé

Option Explicit
Function gpeLookUp(LookUpValue As String, LookUpRange As Range)
On Error GoTo Loi_
With Application.WorksheetFunction
gpeLookUp = .VLookup(LookUpValue, LookUpRange, 3, False)
End With
Err_: Exit Function
Loi_:
gpeLookUp = 0: Resume Err_
End Function

Nếu 1000 định mức cho 1000 món mình phải gán 1000 tên hả huynh, như thế thì đệ thấy không ổn, còn hướng nào không huynh!Khi đó tại [M8] ta nhập cú phápPHP:Option Explicit Function gpeLookUp(LookUpValue As String, LookUpRange As Range) On Error GoTo Loi_ With Application.WorksheetFunction gpeLookUp = .VLookup(LookUpValue, LookUpRange, 3, False) End With Err_: Exit Function Loi_: gpeLookUp = 0: Resume Err_ End Function
=C$3*gpeLookUp(K8,CafeDen)+C$4*gpeLookUp(K8,CafeSua)+C$5*gpeLookUp(K8,SinhTo)+C$6*gpeLookUp(K8,KenChai)
(Trước đó cũng như trong excel, ta gán 4 vùng với 4 cái tên gợi nhớ như trên)
Thật ra dùng tên thay cho vùng tham chiếu là rút cho gọn công thức khi xài đến VLOOKUP() của excel mà thôi;Nếu 1000 định mức cho 1000 món mình phải gán 1000 tên hả huynh, như thế thì đệ thấy không ổn, còn hướng nào không huynh!
Thân!
Nếu 1000 định mức cho 1000 món mình phải gán 1000 tên hả huynh, như thế thì đệ thấy không ổn, còn hướng nào không huynh!
Thân!
Sub GPE_Cofe()
Dim Clls As Range, Rng As Range, sRng As Range, Cls As Range
Dim HgH As String: Dim NgL As Double
Sheets("XuatBan").Select
For Each Cls In Range([K3], [K65500].End(xlUp))
For Each Clls In Range([B3], [b65500].End(xlUp))
HgH = Right(Clls.Value, 3)
Set Rng = Range(Switch(HgH = "den", "Den", HgH = "sua", "Sua", _
HgH = " to", "STo", HgH = "ken", "Ken"))
Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then _
NgL = NgL + Clls.Offset(, 1).Value * sRng.Offset(, 2).Value
Next Clls
Cls.Offset(, 3).Value = NgL: NgL = 0
Next Cls
End Sub



1. Do bạn đưa dữ liệu khiêm tốn quá nên mình dùng hàm VLOOKUP, nếu vậy mình dùng hàm SUMPRODUCT như file đính kèm.Nếu như bạn làm thì khi hàng bán ra có nhiều code trùng nhau thì không giải quyết được vấn đề. Ví dụ như khi hàng cafe đen(001) bán ra có 3 dòng thì sao?
Thân!
Bài này rất hay! nhưng có cách nào không dùng cột phụ được không anh viehoai?1. Do bạn đưa dữ liệu khiêm tốn quá nên mình dùng hàm VLOOKUP, nếu vậy mình dùng hàm SUMPRODUCT như file đính kèm.
2. Để không ảnh hưởng đến bảng số liệu của bạn đề ra,mình đề xuất đưa thêm cột phụ.
Bạn ẩn cột B trong sheet dinh muc đi nhé.
Không có ai giải bài này bằng CT hay hơn sao?Bài này rất hay! nhưng có cách nào không dùng cột phụ được không anh viehoai?
Không có ai giải bài này bằng CT hay hơn sao?