Bài này mà có dùng hàm thì cũng phải sử dụng name cho nó gọnEm muốn tìm các mặt hàng giống nhau cùng đơn giá và cộng lại thành 1 dòng.
Chi tiết như mô tả trong att xin các anh chị giúp đỡ
Dùng hàm càng tốt vì em hông biết làm Macro
Function Dsach(Rng1 As Range, Rng2 As Range, Gia As Integer, Id As Integer)
Dim Uni As New Collection
Dim i As Integer, tam
On Error Resume Next
For i = 1 To Rng1.Count
Uni.Add Rng1(i).Value & ";" & Rng2(i).Value, _
CStr(Rng1(i).Value & ";" & Rng2(i).Value)
Next i
tam = Split(Uni(Id), ";")
Dsach = tam(Gia)
If Gia = 1 Then Dsach = Val(Dsach)
End Function
Bồ tèo ơi, xem lại coi:Bài này mà có dùng hàm thì cũng phải sử dụng name cho nó gọn
Gộp bằng tay nên bạn gộp thiếu "thằng" WA1-7660
Option Explicit
Sub DeleteDublicate()
Dim Rng As Range, sRng As Range, Cls As Range, dRng As Range
Dim MyAdd As String
Dim eRw As Long, jJ As Long
Set Cls = [B1].CurrentRegion: [A23].Resize(Cls.Rows.Count, 9).Clear
Cls.Copy Destination:=[A23]
eRw = [B65500].End(xlUp).Row: Set dRng = Cells(eRw + 2, "B")
For jJ = 24 To eRw
Set Cls = Cells(jJ, 2): Set Rng = Range(Cls.Offset(1), Cells(eRw, 2))
Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
MyAdd = sRng.Address
Do
If sRng.Offset(, 4).Value = Cls.Offset(, 4).Value Then
Set dRng = Union(dRng, sRng)
End If
Set sRng = Rng.FindNext(sRng)
Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
End If
Next jJ
9 ' dRng.Interior.ColorIndex = 38'
dRng.EntireRow.Delete '
End Sub
Em muốn tìm các mặt hàng giống nhau cùng đơn giá và cộng lại thành 1 dòng.
Chi tiết như mô tả trong att xin các anh chị giúp đỡ
Dùng hàm càng tốt vì em hông biết làm Macro
Hihi, tối qua mắt nhắm mắt mở "hổng" coi kỹBồ tèo ơi, xem lại coi:
B5: WA1-7660 có đơn giá là 0.029
B14: WA1-7660 có đơn giá là 0.049
Hihi, tối qua mắt nhắm mắt mở "hổng" coi kỹ
Cám ơn TTT
Trật thì làm lại, tại tác giả muốn công thức nên hơi "zắc zối" tí tẹo
Híc
Cái này nói bao nhiêu lần rồi nhưng chẳng mấy người nghe lọt tai!=IF(ROW(A1)>COUNT(cot);"";INDEX($B$2:$F$17;SMALL(cot;ROW(A1));1)) - KQ khi nhấn F9 là ={"VV1-9163"}
=IF(ROWS($A$1:A1)>COUNT(cot);"";INDEX($B$2:$F$17;SMALL(cot;ROWS($A$1:A1));1)) - KQ khi nhấn F9 là VV1-9163
2 cái này lợi, hại như thế nào xin chỉ giáo luôn đi "Bồ tèo".
Hihi, cái "zụ" này cao thủ Ndu đã phân tích nhiều, nhưng tùy biến vào từng bài ta vẫn sử dụng Ok . Hàm Row là hàm mảng, nhưng ROW(A1) trả về kết quả là một mảng có chứa ....1 giá trị nên phù hợp với mục đích của bài ( trong bài ta muốn trả về giá trị là 1)=IF(ROW(A1)>COUNT(cot);"";INDEX($B$2:$F$17;SMALL(cot;ROW(A1));1)) - KQ khi nhấn F9 là ={"VV1-9163"}
=IF(ROWS($A$1:A1)>COUNT(cot);"";INDEX($B$2:$F$17;SMALL(cot;ROWS($A$1:A1));1)) - KQ khi nhấn F9 là VV1-9163
2 cái này lợi, hại như thế nào xin chỉ giáo luôn đi "Bồ tèo".
Bài này mà có dùng hàm thì cũng phải sử dụng name cho nó gọn
Gộp bằng tay nên bạn gộp thiếu "thằng" WA1-7660
Hi!!!Không riêng bài này, mình thấy có rất nhiều bài khác cũng rơi vào tình trạng này: Anh em vốn sẵn nhiệt thành cùng mọi người nên mỗi khi có ai yêu cầu điều gì đều chung tay giải quyết tuỳ món, tuỳ chiêu. Ấy vậy mà chẳng thấy chủ Topic đâu cả, đúng sai ra sao chẳng thấy hồi âm. Quay đi, quay lại toàn thấy "quân xanh" cả. Có lúc mình nghĩ hay là ai đó ghé qua thả vài câu rồi cũng chẳng cần biết kết quả nữa. Nếu vậy thì phí công anh em quá.
Muốn dùng hàm thì tạm thêm 2 cột phụ để tính, chưa nghĩ ra cách khác.
Nếu Bạn chọn cách thêm 2 cột phụ thì bài sau chắc ổn nhất.Chào và cảm ơn anh 3T nhiều
Dựa trên công thức anh làm giúp tôi sửa thành ý của mình và đơn giản bớt công thức 1 chút, kết quả thì thấy giống nhau nhờ anh kiểm tra giúp và giải thích giúp các vấn đề sau nhé:
Chuyển 2 cột anh htêm vào lên đầu tiên
1. Thành tiền =IF(C24="","",SUMPRODUCT(($D$2:$D$17=D24)*($H$2:$H$17=H24)*$I$2:$I$17)) thay bằng F24*H24 có ảnh hưởng gì không
2. Đơn giá =IF(C24="","",INDEX($H$2:$H$17,MATCH(C24,$B$2:$B$17,0))) thay bằng =IF(C24="","",VLOOKUP(C24,$B$2:$F$17,7,0)) có ảnh hưởng gì không
3. DVT =IF(C24="","",VLOOKUP(D24,$D$2:$G$17,4,0)) thay bằng =IF(C24="","",VLOOKUP(C24,$B$2:$F$17,4,0)) có ảnh hưởng gì không
4. Mã =IF(C24="","",INDEX($D$2:$D$17,MATCH(C24,$B$2:$B$17,0))) cũng thay bằng Vlookup .C24.. giống như trường hợp 2,3 có khác biệt gì không?