tranhuuphuoc
Thành viên mới
- Tham gia
- 24/4/09
- Bài viết
- 8
- Được thích
- 1
Bạn nên chuyển sang đuôi .xls
Xem trong file nhé. Dạng này có nhiều rồi.GPE giúp tôi với bài tập này với yêu cầu tôi đã gửi theo File đính kèm. (Xin nói thêm tôi mù tịt về lập trình nếu có thể mọi người làm giúp tôi bằng công thức Excel.
Xin cám ơn trước!
Tạo thêm cột phụ cho đơn giản.GPE giúp tôi với bài tập này với yêu cầu tôi đã gửi theo File đính kèm. (Xin nói thêm tôi mù tịt về lập trình nếu có thể mọi người làm giúp tôi bằng công thức Excel.
Xin cám ơn trước!
Cái gì cũng làm được tuốt... Có điều vừa trích lọc lại vừa sắp xếp mà dùng công thức thì hơi oảiCác bác làm hay lắm nhưng cho em hỏi
Tự động thêm mã hàng, xong có thể sắp xếp theo một điều kiện nào đó không?
Ví dụ sắp xếp từ nhỏ đến lớn chẳng hạn.
Mong các bác chỉ dùm.
Nếu bạn muốn dùng code thì phải đưa dữ liệu thật lên. Vài dòng thôi cũng được nhưng phải có đủ các cột. Trách trường hợp nhờ sửa đi sửa lại do các bạn không biết sửa code cho phù hợp với dữ liệu thật.Các bác ơi với công thức trên em giải quyết được công việc rồi tuy nhiên cực chậm luôn (máy em chạy tương đối nhanh) vì file cel của em tầm 50.000 dòng cơ. Không biết có công thức nào hay hơn ko các bác giúp em với. Mà consolidate tự động update như thế nào nhỉ. Mong các bác chỉ giáo.
Cám ơn các bác trước!
Dử liệu nhiều như thế mà bạn đòi dùng công thức, nó không "nặng" mới lạ đấyBạn Nguyễn Hữu Thắng à mình ko muốn dùng code mà chỉ muốn dùng công thức hoặc là consolidate mà tự update thôi (chứ thực sự mình ko biết một tí gì về code nên khi ứng dụng rất khó). Mong mọi người giúp đỡ.
Cám ơn!
Sub TongHop()
Range("D:E").ClearContents
Range("D1:E1") = Range("A1:B1").Value
With Range("A1").CurrentRegion
Range("D1").Consolidate .Address(, , 2), 9, 1, 1
End With
End Sub
DS =OFFSET(Sheet1!$A$3,,,MATCH(REPT("z",255),Sheet1!$A$2:$A$1000))
tim=IF(MATCH(DS,DS,0)=ROW(INDIRECT("1:"&ROWS(DS))),ROW(INDIRECT("1:"&ROWS(DS))),"")
DK = =IF(ISNA(tim),"",tim)
=IF(ROWS($1:1)>COUNT(DK),"",INDEX(DS,SMALL(DK,ROWS($1:1))))
=IF(E3="","",SUMIF($A$3:$A$1000,E3,$B$3:$B$1000))
Sub Thunghiem()
Dim Rng(), Arr(), i As Long, j As Long
Rng = Range([A3], [B65536].End(xlUp)).Value
Set Dic = CreateObject("Scripting.Dictionary")
ReDim Arr(1 To UBound(Rng, 1), 1 To 2)
For i = 1 To UBound(Rng, 1)
If Rng(i, 1) <> "" Then
If Not Dic.Exists(Rng(i, 1)) Then
j = j + 1
tmp = CStr(Rng(i, 1))
Dic.Add tmp, j
Arr(j, 1) = Rng(i, 1)
Arr(Dic.Item(tmp), 2) = Rng(i, 2)
Else
Arr(Dic.Item(tmp), 2) = Arr(Dic.Item(tmp), 2) + Rng(i, 2)
End If
End If
Next
If j Then Sheet1.[E3].Resize(j, 2).Value = Arr
End Sub
Code này sai 2 chỗ:Hic..lâu không ôn lại Dic, em viết xong chạy nhưng không biết nó nhầm ở đâu tìm mãi không ra
PHP:Sub Thunghiem() Dim Rng(), Arr(), i As Long, j As Long Rng = Range([A3], [B65536].End(xlUp)).Value Set Dic = CreateObject("Scripting.Dictionary") ReDim Arr(1 To UBound(Rng, 1), 1 To 2) For i = 1 To UBound(Rng, 1) If Rng(i, 1) <> "" Then If Not Dic.Exists(Rng(i, 1)) Then j = j + 1 tmp = CStr(Rng(i, 1)) Dic.Add tmp, j Arr(j, 1) = Rng(i, 1) Arr(Dic.Item(tmp), 2) = Rng(i, 2) Else Arr(Dic.Item(tmp), 2) = Arr(Dic.Item(tmp), 2) + Rng(i, 2) End If End If Next If j Then Sheet1.[E3].Resize(j, 2).Value = Arr End Sub
Kính nhờ các thày chỉ dùm em
Sub Thunghiem()
Dim Rng(), Arr(), i As Long, j As Long
Rng = Range([A3], [B65536].End(xlUp)).Value
Set Dic = CreateObject("Scripting.Dictionary")
ReDim Arr(1 To UBound(Rng, 1), 1 To 2)
For i = 1 To UBound(Rng, 1)
If Rng(i, 1) <> "" Then
If Not Dic.Exists(Rng(i, 1)) Then
j = j + 1
tmp = CStr(Rng(i, 1))
Dic.Add tmp, j
Arr(j, 1) = Rng(i, 1)
Arr(j, 2) = Rng(i, 2)
Else
tmp = CStr(Rng(i, 1))
Arr(Dic.Item(tmp), 2) = Arr(Dic.Item(tmp), 2) + Rng(i, 2)
End If
End If
Next
If j Then Sheet1.[E3].Resize(j, 2).Value = Arr
End Sub