huuthang_bd
Chuyên gia GPE

Sếp bạn không làm được chưa chắc GPE không làm được.dữ liệu của mình phức tạp lắm.Sếp cũng ko làm j được nên....
Không có gì là không thể!
Sếp bạn không làm được chưa chắc GPE không làm được.dữ liệu của mình phức tạp lắm.Sếp cũng ko làm j được nên....
Xem file đính kèm nha.Mình muốn lọc những dữ liệu chỉ trùng giữa 2 cột 1 và 2.Ko tính những dữ liệu trùng nhau trong 1 cột.Mình đã thử lọc bỏ những dữ liệu trùng nhau trong cột 1 và 2,rồi lọc những dữ liệu trùng giữa 2 cột mà sao ko đc.
CÁc bạn chỉ giúp mình với!!!
Mình kém excel lắm.CÁc bạn chỉ giúp mình từng bc với.
Cám ơn lắm lắm!!!
Vậy thì bạn xem lại đi chứ sao nữa. Rõ ràng trên file bạn upload tôi làm được đây thôi. Nếu không được thì nén file gốc lại upload lên tôi làm cho.Hờ hờ,chả hiểu sao mình đánh code y hệt bạn mà nó lại ko ra
Option Explicit
Sub TimTrung()
Dim Rng As Range, Clls As Range, sRng As Range
Columns("A:A").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1
Set Rng = Range([B1], [B1].End(xlDown))
For Each Clls In Range([a1], [a1].End(xlDown))
If Clls.Offset(1) <> Clls Then
Set sRng = Rng.Find(Clls.Value, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then _
[e65500].End(xlUp).Offset(1).Value = Clls.Value
End If
Next Clls
End Sub
lọc giùm mình dữ liệu 2 cột C và D , xem có cột nào trùng thì viết ra 1 cột riêng giùm mình![]()
Chưa thật sự hiểu hết ý bạn;Hic ... thì dữ liệu 2 cột C và D đó , nhìn vào , cái nào trùng thì giúp em lọc ra 1 cột khác , đó gọi là "Tiếng Việt" đó bạn .
Mình viết Tiếng Việt chứ . . .
Bạn xem file này có phải ý của bạn muốn làm không nhé rồi tính tiếpMình mới vào 4rum lần đầu, có chuyện thắc mắc muốn hỏi
, pác nào rành Excel thì giúp mình nhé . Thanks a lot ^^!
Mình up file Excel lên , các pác lọc giùm mình dữ liệu 2 cột C và D , xem có cột nào trùng thì viết ra 1 cột riêng giùm mình![]()
Sub unique()
Dim i As Long, K As Long
Dim Vung1 As Range, Vung2 As Range, vung as range
Set Vung1 = Sheets(1).Range("A2:A" & [A1000].End(xlUp).Row)
Set Vung2 = Sheets(1).Range("B2:B" & [A1000].End(xlUp).Row)
Vung = Union(Vung1, Vung2)
For Each Cells In Vung
If Cells <> "" Then
K = K + 1
If i = Application.WorksheetFunction.Match(Cells, Vung, 0) Then
i = i + 1
End If
If K = i Then Sheets(2).Range("B:" & K) = Cells: Exit For
End If
End If
Next
End Sub
Option Explicit
Sub Macro1()
Dim eR As Long, lR As Long
Dim Sh As Worksheet
Application.ScreenUpdating = False: Sheets("Data").Select
Columns("A:B").Select: Selection.Insert Shift:=xlToRight
eR = [C65500].End(xlUp).Row
Range("B1:B" & eR - 1).Value = Range([c2], Cells(eR, "C")).Value
lR = [d65500].End(xlUp).Row
Range(Cells(eR, "B"), Cells(eR + lR - 2, "B")).Value = Range([d2], Cells(lR, "D")).Value
Range("B1:B" & eR + lR).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[a1], Unique:=True
eR = [a65500].End(xlUp).Row
Set Sh = Sheets("KetQua"): Sh.Range(Sh.[a2], Sh.[a2].End(xlDown)).Clear
Sh.Range(Sh.[a2], Sh.Cells(eR, "A")).Value = Range([a1], [a1].End(xlDown)).Value
Columns("A:B").Delete
End Sub
Bạn ChanhTQ ơi!Bạn tải file đính kèm của mình về rồi bạn gắn macro này test thử dùm mình với, nếu đúng như kết quả thì bạn up cho mình ha. Tại vì mình chạy macro này nó bị báo lỗi. cám ơn sự nhiệt tình của bạn rất nhiều.PHP:Option Explicit Sub Macro1() Dim eR As Long, lR As Long Dim Sh As Worksheet Application.ScreenUpdating = False: Sheets("Data").Select Columns("A:B").Select: Selection.Insert Shift:=xlToRight eR = [C65500].End(xlUp).Row Range("B1:B" & eR - 1).Value = Range([c2], Cells(eR, "C")).Value lR = [d65500].End(xlUp).Row Range(Cells(eR, "B"), Cells(eR + lR - 2, "B")).Value = Range([d2], Cells(lR, "D")).Value Range("B1:B" & eR + lR).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[a1], Unique:=True eR = [a65500].End(xlUp).Row Set Sh = Sheets("KetQua"): Sh.Range(Sh.[a2], Sh.[a2].End(xlDown)).Clear Sh.Range(Sh.[a2], Sh.Cells(eR, "A")).Value = Range([a1], [a1].End(xlDown)).Value Columns("A:B").Delete End Sub
Đó là lỗi gì vậy, đừng bí mật nữa có được không?Bạn tải file đính kèm của mình , nếu macro cho đúng như kết quả thì bạn up cho mình ha. Tại vì mình chạy macro này nó bị báo lỗi.
Sai nhiều lắm bạn ơi!Thưa các AnhPHP:Sub unique() Dim i As Long, K As Long Dim Vung1 As Range, Vung2 As Range, vung as range Set Vung1 = Sheets(1).Range("A2:A" & [A1000].End(xlUp).Row) Set Vung2 = Sheets(1).Range("B2:B" & [A1000].End(xlUp).Row) Vung = Union(Vung1, Vung2) For Each Cells In Vung If Cells <> "" Then K = K + 1 If i = Application.WorksheetFunction.Match(Cells, Vung, 0) Then i = i + 1 End If If K = i Then Sheets(2).Range("B:" & K) = Cells: Exit For End If End If Next End Sub
Em thử nghịch một đoạn code nhưng không chạy được, vào tool/macro phần Run cứ bị mờ nên chẳng biết code trên sai hay đúng?
Chỉ dạy thêm cho em với
Cám ơn
Bạn thử dùng code của anh ndu96081631 thử xem sao nhéHiện mình có một bảng gồm nhiều danh mục khác nhau nằm ở nhiều sheet,những danh mục đó gồm nhiều dữ liệu trùng và không trùng mình muốn lấy một danh mục chung sang một sheet khác để tạo danh mục chung vào ko trùng.
Xin hãy hướng dẫn mình dùm hàm gì?
Sub Test()
Sheet3.Range("A1:C1000").Clear
With Sheet1.Range("A28").CurrentRegion.Offset(1)
.Copy
With Sheet2.Range("A1").CurrentRegion
.Offset(.Rows.Count)(1, 1).PasteSpecial
With Sheet2.Range("A1").CurrentRegion
.AdvancedFilter 2, , Sheet3.Range("A1"), True
End With
With .Offset(.Rows.Count)
Range(.Cells, .End(xlDown)).Clear
End With
End With
End With
End Sub
Vì cột C không có 10 mà bác,các giá trị trùng là có cả ở cột B và C (cả giá trị và số lượng) hai cột A và D chỉ lấy theo C và D tương ứng thôi,cám ơn bác đã quan tâmBà con làng xóm xem đây: Trang tính đầu bài như vầy:
(Cớ sao dòng cuối không được đem sang trang 'Trùng'?)A|B|C|D|
1A|1|2|2b|=> Trùng
2A|2|4|4b|
3A|3|4|4b|
4A|4|6|6b|
5A|5|6|6b|
6A|6|7|7b|=> Trùng
7A|7|8|8b|=> Trùng
8A|8|10|10b| >> không đem
||||
Vì cột C không có 10 mà bác,các giá trị trùng là có cả ở cột B và C (cả giá trị và số lượng) hai cột A và D chỉ lấy theo C và D tương ứng thôi,cám ơn bác đã quan tâm
Còn lệch thì chưa hiểu thế nào hichic=AND(có xuất hiện ở 2 cột, có số lượng trên mỗi cột bằng nhau)
CẦN SO SÁNH GIỮA CỘT C VÀ CỘT D NẾU CÓ GIÁ TRỊ BẰNG NHAU (SỐ LƯỢNG CŨNG BẰNG NHAU) CHÌ CHUYỂN SANG SHEET TRÙNG NHAU
Xem cái lệch này có được không nhéTHANKS BÁC viendo nhiều nhiều nhé,bác giúp em được cái lệch nữa thì hay quá (em dốt văn thật)
Bạn dùng Advance filter rồi chọn lấy dữ liệu duy nhất, recorde lại macro đó mà dùng thôiHi mấy bác, mấy bác giúp em có hàm nào lọc ra dữ liệu mà ko bị trùng ko? Máy bác xem file đính kèm của em.
xem thử có đúng không?Bác domfootwear có cách nào khác ngoài Advance filter không. Có hàm nào làm được điều đó ko? Dùng hàm nhé bác.
Mình cũng biết là dùng Advance rồi chọn copy to another location và chọn unique ... Ở mục copy to chọn ô để parst dữ liệu đã copy ( ko trùng).
Vậy bạn tham khảo file đính kèm nhé.Bác domfootwear có cách nào khác ngoài Advance filter không. Có hàm nào làm được điều đó ko? Dùng hàm nhé bác.
Mình cũng biết là dùng Advance rồi chọn copy to another location và chọn unique ... Ở mục copy to chọn ô để parst dữ liệu đã copy ( ko trùng).
Hi mấy bác, mấy bác giúp em có hàm nào lọc ra dữ liệu mà ko bị trùng ko? Máy bác xem file đính kèm của em.
Chào cả nhà!
Trong file đính kèm tại sheet DATA, căn cứ vào cột bộ phận, cột chức danh, tôi dùng code lọc danh mục duy nhất sang sheet "Tổng hợp nguồn nhân lực" để tính toán tổng hợp số liệu, các chỉ tiêu (theo như bảng biểu trong sheet "Tổng hợp nguồn nhân lực".
Phát sinh vấn đề sai lỗi, mình tìm mãi chẳng ra, như thế này:
- Cột Bộ phận tại sheet DATA, nếu lọc ra danh mục duy nhất thì phải là 38 bộ phận. Không hiểu tại sao, code này chỉ lọc ra được 33 bộ phận (thiếu mất 5 bộ phận), nhưng khi ta gõ thêm những ký tự bất kỳ vào những dòng trống dưới cùng của cột bộ phận tại sheet DATA thì lúc này nó lại lọc đủ ra 38 bộ phận.
- Tương tự trường hợp trên: Cột Chức danh tại sheet DATA, nếu lọc ra danh mục duy nhất thì phải là 19 chức danh. Không hiểu tại sao, code này chỉ lọc ra được 14 bộ phận (thiếu mất 5 chức danh)...
Nhờ các bác nghiên cứu, xem xét (file gửi kèm)!
Cảm ơn các bác nhiều!
Sub TaoBoPhan()
Dim BoPhan As Range
S01.Select
On Error Resume Next
S01.ShowAllData
Range("HH3:HH1000").Clear
eR = Range("D10000").End(xlUp).Row
Set BoPhan = S01.Range("D3:D" & eR)
With S01
With BoPhan
.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=S01.Range( _
"HH3"), Unique:=True
End With
.Names("Extract").Delete
eR1 = .Range("HH1000").End(xlUp).Row
S17.Range("A7:B55").ClearContents
S17.Range("B7:B" & eR1 + 4).Value = .Range("HH3:HH" & eR1).Value
S17.Range("A7:A" & eR1 + 4).FormulaR1C1 = "=ROW()-6"
S17.Range("A7:A" & eR1 + 4).Value = S17.Range("A7:A" & eR1 + 4).Value
.Range("HH3:HH" & eR1).Clear
End With
Set BoPhan = Nothing
End Sub
Bạn trừ mất 5 dòng thì hỏi làm sao ra 38 được? Sửa lại như sau :
PHP:Sub TaoBoPhan() Dim BoPhan As Range S01.Select On Error Resume Next S01.ShowAllData Range("HH3:HH1000").Clear eR = Range("D10000").End(xlUp).Row Set BoPhan = S01.Range("D3:D" & eR) With S01 With BoPhan .AdvancedFilter Action:=xlFilterCopy, CopyToRange:=S01.Range( _ "HH3"), Unique:=True End With .Names("Extract").Delete eR1 = .Range("HH1000").End(xlUp).Row S17.Range("A7:B55").ClearContents S17.Range("B7:B" & eR1 + 4).Value = .Range("HH3:HH" & eR1).Value S17.Range("A7:A" & eR1 + 4).FormulaR1C1 = "=ROW()-6" S17.Range("A7:A" & eR1 + 4).Value = S17.Range("A7:A" & eR1 + 4).Value .Range("HH3:HH" & eR1).Clear End With Set BoPhan = Nothing End Sub
Nói cho rõ thêm : Cột HH của S01 bạn tính từ hàng thứ 3, cột A và B của S17 bạn tính bắt đầu từ hàng thứ 7, vì thế phải lấy eR1+4 là vì thế
Thân
Cảnh báo:
- Bạn Tony Jaa dùng Advanced Filter như thế chưa đúng đâu nha
- Dử liệu cần lọc tại sheet Data, tính từ cell D3 trở xuống ---> Như vậy bạn đã bỏ mất tiêu đề
- Cũng may là trong cột này chỉ có duy nhất 1 Record mang tên "Ban Tổng giám đốc"... nếu không bạn sẽ nhận được 2 Record trùng nhau sau khi lọc ---> Vì Advanced Filter luôn luôn tính cell đầu tiên là TIÊU ĐỀ
Bạn cẩn thận nha ---> Không phải lần nào cũng may mắn như lần này đâu
Thì bạn chuyển sang lấy từ D2 thử là được. Bạn không nên đặt tên sheet tiếng Việt có dấuVậy phải sửa chỗ nào cho đúng tuyệt đối, bác chỉ cho em luôn đi?
Cảm ơn bác!
Đúng như bạn yeudoi nói ấy... khi xác định vùng dử liệu sẽ lọc bằng Advanced Filter, bạn phải lấy luôn tiêu đề (cụ thể với file của bạn phải lấy từ cell D2 trở xuống) ---> Sau khi lọc ra vùng phụ, bạn xóa tiêu đề đi rồi muốn làm gì tiếp tùy thíchVậy phải sửa chỗ nào cho đúng tuyệt đối, bác chỉ cho em luôn đi?
Cảm ơn bác!
Cảnh báo:
- Bạn Tony Jaa dùng Advanced Filter như thế chưa đúng đâu nha
- Dử liệu cần lọc tại sheet Data, tính từ cell D3 trở xuống ---> Như vậy bạn đã bỏ mất tiêu đề
- Cũng may là trong cột này chỉ có duy nhất 1 Record mang tên "Ban Tổng giám đốc"... nếu không bạn sẽ nhận được 2 Record trùng nhau sau khi lọc ---> Vì Advanced Filter luôn luôn tính cell đầu tiên là TIÊU ĐỀ
Bạn cẩn thận nha ---> Không phải lần nào cũng may mắn như lần này đâu
Vậy bạn tham khảo file đính kèm nhé.
Thân
H4=COUNTIF(Data!$B$1:$B$21,kq!G4)
Cám ơn anh đã coa một lời giải rất hay, nhưng nếu đặt trong vấn đề của tôi, thì nó đã giải quyết được 50% rồi, tức là anh đã tạo một cột mới, có các giá trị không trùng.
Tiếp theo, tôi muốn nhờ anh tao ra một cột nữa tương ứng mà nội dung là số lần một đối tượng trùng lặp như file tôi đính kèm.
Xin cám ơn!
Tại bạn làm chưa quen nên mới bị thế, chứ đây là cách nhanh nhất trong các cách đấy ---> Quy trình như sau:Em đã làm cách của bác nhưng nó copy y nguyên sang chứ không lọc các số trùng nhau được
Thứ nhất: Bài của bạn phạm quy vì chen ngang vô topic có chủ đề hoàn toàn khác. (Sao bạn không qua BOX 'Giáo dục' hỏi vấn đề của bạn; Ở đó đề cập rất nhiều về thời khóa biểu)Giúp Tôi Lọc thời khóa biểu của các giáo viên! để kê khai giờ giảng dạy trong tuần! Tôi sắp chết vì nó rồi không cách nào làm được. Xin cao chỉ giáo!
Giúp tôi lọc dữ liệu là thời khóa biểu của các giáo viên! đê kê khai giờ giảng trong tuần! tôi sắp vỡ đầu vì nó rồi
làm ơn chỉ giáo!![]()
Giúp tôi lọc dữ liệu là thời khóa biểu của các giáo viên! đê kê khai giờ giảng trong tuần! tôi sắp vỡ đầu vì nó rồi
làm ơn chỉ giáo!![]()
Option Explicit: Option Base 1
Sub AutoFilter()
Dim Rng As Range, Clls As Range, sRng As Range, dRng As Range
Dim MyAdd As String, Lop As String
Dim Dong As Long
Dim VTr As Byte, Tiet As Byte, Cot As Byte
Set Rng = Selection: Set dRng = Rng.Cells(1, 1)
Dong = dRng.Row: Cot = dRng.Column
ReDim MDL(Dong To Dong + Rng.Rows.Count, Cot To Cot + Columns.Count) As Boolean
Set dRng = Rng.Cells(1, 1).Offset(, 8)
With dRng
.Resize(2, 30).ClearContents
.Value = "Lop": .Offset(1).Value = "So Tiet"
End With
For Each Clls In Rng
If MDL(Clls.Row, Clls.Column) = False Then
VTr = InStr(Clls.Value, "(")
If VTr > 0 Then Lop = Left(Clls.Value, VTr - 1)
Set sRng = Rng.Find(Lop, , xlFormulas, xlPart)
If Not sRng Is Nothing Then
Tiet = 0
If MDL(sRng.Row, sRng.Column) = False Then
MyAdd = sRng.Address
Do
Tiet = Tiet + 1
MDL(sRng.Row, sRng.Column) = True
Set sRng = Rng.FindNext(sRng)
Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
End If
If Tiet > 0 Then
With Cells(dRng.Row, "IV").End(xlToLeft).Offset(, 1)
.Value = Lop: .Offset(1).Value = Tiet
End With
End If
End If
End If
Next Clls
End Sub
Thêm cách dùng hàm countif()Giúp tôi lọc dữ liệu là thời khóa biểu của các giáo viên! đê kê khai giờ giảng trong tuần! tôi sắp vỡ đầu vì nó rồi
làm ơn chỉ giáo!![]()
Tại cell K7 bạn gõ vào công thức này xem:Giúp tôi lọc dữ liệu là thời khóa biểu của các giáo viên! đê kê khai giờ giảng trong tuần! tôi sắp vỡ đầu vì nó rồi
làm ơn chỉ giáo!![]()
=COUNTIF($B$6:$G$11,K$6&"*")*2
Bác chuyên Macro thanh Ham tự định nghĩa giúp em chứ. Bac Thuong thi thuong cho chot, en cam on nhiều
̣
Option Explicit: Option Base 1
Function TKTietHoc(LookUpRange As Range)
Dim Clls As Range: ReDim KQua(2, 6)
Dim SoLop As Byte, VTr As Byte, STt As Byte, vT2 As Byte
Dim Lop As String, SLop As String
KQua(1, 1) = "Lop": KQua(2, 1) = "So Tiet"
SLop = "GPE"
For Each Clls In LookUpRange
If Clls.Value <> "" Then
VTr = InStr(Clls.Value, "(")
Lop = IIf(VTr > 0, Left(Clls.Value, VTr - 1), Clls.Value)
If InStr(SLop, Lop) < 3 Then _
SLop = SLop & Left(Lop & " ", 4)
vT2 = InStr(SLop, Lop)
STt = Switch(vT2 = 4, 2, vT2 = 8, 3, vT2 = 12, 4, vT2 = 16, 5, vT2 = 20, 6)
If STt > 1 Then
KQua(1, STt) = Lop
KQua(2, STt) = 1 + KQua(2, STt)
End If
End If
Next Clls
TKTietHoc = KQua
End Function
- Quét chọn cột dử liệuTôi có một cột chứa danh sách mail (hàng chục nghìn mail, mỗi dòng là một địa chỉ mail), có quá nhiều mail giống nhau, bây giờ tôi muốn xóa các dòng có chứa những mail giống nhau đó đi
Làm ơn chỉ giùm tôi với !
Thanks !
Option Explicit
Sub GPE_Macro()
Dim StrC As String, eRs As Long, Dem As Byte
Dim Clls As Range
eRs = [A65500].End(xlUp).Row
Columns("A:E").Insert Shift:=xlToRight
Range("G1:I" & eRs).Sort Key1:=[H2], Order1:=xlDescending, Header:=xlGuess
[A1].Resize(, 2).Value = [f1].Resize(, 2).Value: [c1].Value = [I1].Value
[A1].Resize(, 3).Font.Bold = True
For Each Clls In [H2].Resize(eRs - 1)
If StrC <> Clls.Value Then
StrC = Clls.Value: Dem = 1
With [b65500].End(xlUp).Offset(1)
.Value = Clls.Value: .Font.Bold = True
.Offset(1, 1) = Clls.Offset(, 1).Value
.Offset(1).Value = Clls.Offset(, -1).Value: .Offset(1, -1) = Dem
End With
Else
Dem = Dem + 1
With [b65500].End(xlUp).Offset(1)
.Offset(, 1) = Clls.Offset(, 1).Value
.Value = Clls.Offset(, -1).Value: .Offset(, -1) = Dem
End With
End If
Next Clls
End Sub
Option Explicit
Sub GPE_Macro()
Dim StrC As String, eRs As Long, Dem As Byte
Dim Clls As Range, Sh As Worksheet '<='
Sheet2.Select: eRs = [A65500].End(xlUp).Row
Range("b1:d" & eRs).Sort Key1:=[c2], Order1:=xlDescending, Header:=xlGuess
Set Sh = Sheet1
Sh.[A1].Resize(, 2).Value = [A1].Resize(, 2).Value: Sh.[c1].Value = [D1].Value
Sh.[A1].Resize(, 3).Font.Bold = True
For Each Clls In [c2].Resize(eRs - 1)
If StrC <> Clls.Value Then
StrC = Clls.Value: Dem = 1
With Sh.[b65500].End(xlUp).Offset(1)
.Value = Clls.Value: .Font.Bold = True
.Offset(1, 1) = Clls.Offset(, 1).Value
.Offset(1).Value = Clls.Offset(, -1).Value: .Offset(1, -1) = Dem
End With
Else
Dem = Dem + 1
With Sh.[b65500].End(xlUp).Offset(1)
.Offset(, 1) = Clls.Offset(, 1).Value
.Value = Clls.Offset(, -1).Value: .Offset(, -1) = Dem
End With
End If
Next Clls
End Sub
Nếu trùng mà không cùng nằm 1 dòng thì có cách nào lấy ra được không?Bạn xem file này có phải ý của bạn muốn làm không nhé rồi tính tiếp
Cho mình hỏi thêm là chuổi trên là trong cùng 1 cột hay là gồm có 3 cột khác nhauEm có 1 cái danh sách khoảng 300 dòng, cấu trúc như sau:
Họ và tên / loại tài liệu mượn
1- Nguyễn Văn A / Sách 1
2- Trần Văn B / Sách 2
3- Nguyễn Văn C / Sách 3
4. Nguyễn Văn A / Sách 4
5- Trần Văn B / Sách 10
6- Nguyễn Văn C / Sách 11
.............
Nghĩa là 1 người có thể mượn nhiều loại sách
Bây giờ em muốn thống kê xem có bao nhiêu người mượn sách
Các bác giúp em cái nhé
Em có 1 cái danh sách khoảng 300 dòng, cấu trúc như sau:
Họ và tên / loại tài liệu mượn
1- Nguyễn Văn A / Sách 1
2- Trần Văn B / Sách 2
3- Nguyễn Văn C / Sách 3
4. Nguyễn Văn A / Sách 4
5- Trần Văn B / Sách 10
6- Nguyễn Văn C / Sách 11
.............
Nghĩa là 1 người có thể mượn nhiều loại sách
Bây giờ em muốn thống kê xem có bao nhiêu người mượn sách
Các bác giúp em cái nhé
=SUMPRODUCT(1/COUNTIF(A2:A300,A2:A300))
Bạn đưa ra bài ý tưởng của Bạn đi, Mình không hiểu ý bạn nói bài nào?Nếu trùng mà không cùng nằm 1 dòng thì có cách nào lấy ra được không?
Em có 1 cái danh sách khoảng 300 dòng, cấu trúc như sau:
Họ và tên / loại tài liệu mượn
1- Nguyễn Văn A / Sách 1
2- Trần Văn B / Sách 2
3- Nguyễn Văn C / Sách 3
4. Nguyễn Văn A / Sách 4
5- Trần Văn B / Sách 10
6- Nguyễn Văn C / Sách 11
.............
Nghĩa là 1 người có thể mượn nhiều loại sách
Bây giờ em muốn thống kê xem có bao nhiêu người mượn sách
Các bác giúp em cái nhé
Mình gửi file kèm, bạn giúp mình nhéBạn đưa ra bài ý tưởng của Bạn đi, Mình không hiểu ý bạn nói bài nào?
Tôi có bảng dữ liệu. Cần lọc sao cho chỉ xuất hiện dữ liệu một lần ở cột "kết quả trả về"
Mình nhận được câu hỏi này từ bạn duyennt 6888 :
Nhờ mọi người xem giúp bạn ấy.
Sub UniqueFilter()
Dim Cll As Range, i As Long, Ar()
With CreateObject("Scripting.Dictionary")
For Each Cll In Selection
If .Exists(Cll.Value) = False And Cll <> "" _
Then .Add Cll.Value, 1
Next Cll
Ar = .Keys
For i = 0 To .Count - 1
[F:F].Cells(i + 2) = Ar(i)
Next i
End With
Range("F2", [F65000].End(xlUp)).Sort [F1], xlAscending
End Sub
Cái Function của bạn nhìn nó... kỳ kỳ thế nào ấyBạn xem file đính kèm
Function UniqueList(Rng As Range)
Dim Clls As Range
On Error Resume Next
With CreateObject("Scripting.Dictionary")
For Each Clls In Rng
.Add Clls.Value, ""
Next
UniqueList = .Keys
End With
End Function
Sub GetUnique()
Dim Src As Range, Des As Range
Set Src = Application.InputBox("Chon vung du lieu", Type:=8)
Set Des = Application.InputBox("Chon 1 cell de xuat du lieu", Type:=8)
With Des.Resize(UBound(UniqueList(Src)) + 1)
.Value = WorksheetFunction.Transpose(UniqueList(Src))
.Sort .Cells(1, 1), 1, Header:=xlNo
End With
End Sub
Bạn dùng Dictionary Object là đúng rồi.. có điều, đã ra được đến .Keys thì tại sao lại phải For tiếp nữa nhỉ? ---> 2 vòng lập à?Thêm 1 cách khác, bạn xem File, nhớ Enable Macro --> Chọn vùng dữ liệu (không chọn dòng tiêu đề) --> Nhấn nút.
PHP:Sub UniqueFilter() Dim Cll As Range, i As Long, Ar() With CreateObject("Scripting.Dictionary") For Each Cll In Selection If .Exists(Cll.Value) = False And Cll <> "" _ Then .Add Cll.Value, 1 Next Cll Ar = .Keys For i = 0 To .Count - 1 [F:F].Cells(i + 2) = Ar(i) Next i End With Range("F2", [F65000].End(xlUp)).Sort [F1], xlAscending End Sub
Ar = .Keys
For i = 0 To .Count - 1
[F:F].Cells(i + 2) = Ar(i)
Next i
Range("...gì gì đó...").Resize(....).Value = WorksheetFunction.Transpose(.Keys)
Sub UniqueFilter()
Dim Cll As Range, i As Long, Ar()
On Error Resume Next
With CreateObject("Scripting.Dictionary")
For Each Cll In Selection
If Not .Exists(Cll.Value) And Cll <> "" Then
.Add Cll.Value, ""
[F65000].End(xlUp)(2) = Cll.Value
End If
Next Cll
End With
Range("F2", [F65000].End(xlUp)).Sort [F1], xlAscending
End Sub
Tại cell B4 bạn gõ công thức này vào nhé:Chào tất cả mọi người.
Tôi có vấn đề về việc sắp xếp ký tự như sau mà không biết làm thế nào.
Rất mong được mọi người giúp.
Trên một ô Excel có các ký tự A,B,C,D...nhưng bị xuống dòng bởi tổ hợp phím "Alt+Enter".
Tôi muốn sắp xếp lại thành một dòng như sau:
(có rất nhiều cell tương tự thế này)
Trướ Sau
A,B,C,D
E,F,G,H
K,L,MA,B,C,D,E,F,G,H,K,L,M
Cảm ơn mọi người !
=SUBSTITUTE(A4,CHAR(10),",")
Em nhìn kết quả và đoán thế này:Rất mong các anh em trên GPE xem và hướng dẫn giúp trong điều kiện so sánh 1 số với dãy số trong trường hợp sau ( Được nêu cụ thể trong File đính kèm)
Xin được cám ơn trước.
Đính kèm File.
=IF(B5-G5+C5<=0,"",B5-G5+C5)
=IF(D5+MIN(B5-G5+C5,0)>0,D5+MIN(B5-G5+C5,0),"")
---Em nhìn kết quả và đoán thế này:
- Cell B6 có công thức:
- Cell C6 có công thức:PHP:=IF(B5-G5+C5<=0,"",B5-G5+C5)
Các cell phía dưới tương tự (copy dòng 6 paste xuống)PHP:=IF(D5+MIN(B5-G5+C5,0)>0,D5+MIN(B5-G5+C5,0),"")
---Tôi không rõ việc chuyển số dư thế nào, nhưng theo mô tả tại ô K5 (từ file mới nhất):
x1=7 Nếu G5<B5
thì nhận kết quả B5=18(10-7+15), C5=20
Xin chỉ rõ: x1 = 7 là kết quả cần tìm có phải không? Nếu vậy thì có phải sửa B5 thành 18(10 - 7 + 15) tức là 18 bình phương (hay chỉ 18), và C5 được sửa thành 20
Hay x1 = 7 là đã có (tức là ô G5 đã có) thì sửa lại B5.
Nói chung tôi cảm thấy cần mô tả rõ hơn. nếu không, tính toán sẽ bị luẩn quẩn (lấy G5 so sánh với B5 để sửa B5).
Sub SoSanh()
n = InputBox("Du lieu bat dau tu dong thu", "So Sanh", 5)
m = InputBox("Du lieu ket thuc tu dong thu", "So Sanh", 15)
For i = n To m
DK1 = Range("B" & i).Value
DK2 = Range("G" & i).Value
GT2 = Range("C" & i).Value
GT3 = Range("D" & i).Value
If DK1 > DK2 Then
Range("H" & i) = DK1 - DK2 + GT2 'Bi-Gi+Ci
Range("I" & i) = GT3 'Di
ElseIf DK1 = DK2 Then
Range("H" & i) = GT2 'Ci
Range("I" & i) = GT3 'Di
ElseIf DK1 < DK2 And DK2 < DK1 + GT2 Then
Range("H" & i) = DK1 - DK2 + GT2 'Bi-Gi+Ci
Range("I" & i) = GT3 'Di
ElseIf DK2 > DK1 And DK2 = DK1 + GT2 Then
Range("I" & i) = GT3 'Di
ElseIf DK2 > DK1 And DK2 > DK1 + GT2 Then
Range("I" & i) = DK1 + GT2 - DK2 + GT3 'Bi+Ci-Gi+Di
ElseIf DK2 > GT1 + GT2 + GT3 Then
'
End If
Next
End Sub
Thử tạo 1 macro, khi nhập thêm tên hàng vào cột B thì kiểm tra xem bên Tổng Hợp đã có chưa = hàm countif. Nếu Countif=0 thì cộng thêm vào.HI các bạn.
Mình muốn là khi phần chi tiết đánh thêm một mã hàng mới thì phần tổng hợp sẽ tự động add thêm vào. (Ô B17)
Tks.
Dữ liệu của bạn có lớn không? Nếu không lớn thì dùng phương pháp trích lọc duy nhất thì không phải dùng đến Macro.Ặc...!
Em chẳng biết gì về macro cả...!...Liệu dùng hàm có được không nhỉ...
Vì nếu chuyển sang máy người khác lại ko có macro thì trông chẳng ra sao..Thunghi nhỉ!!!!
Bạn dùng công thức nhé.Dữ liệu của mình không nhiều lắm. Max 20 sản phẩm thôi.
Bạn có thể hướng dẫn qua file được không..! Tks very mục
Bạn xem trong fie đính kèm. Tôi sử dụng công thức trích lọc duy nhất của bác Ndu...Dữ liệu của mình không nhiều lắm. Max 20 sản phẩm thôi.
Bạn có thể hướng dẫn qua file được không..! Tks very mục
cách tạo dấu côgn thức mà khi ấn phím F3 thì hiển thị như thế nào các bác nhỉ!?
Nếu viết cả ra thì dài quá