nguyenđoẩnh
Thành viên mới

- Tham gia
- 19/10/09
- Bài viết
- 3
- Được thích
- 1
Xim cảm ơn trước nhé
Không cần dùng hàm bạn bôi tất cả vùng cần lọc ra dữ liệu. bạn vào Data/Filter/Advanced filter... hiện ra hộp thông báo. kích vào chữ copy to another location. trong mục Copy to: bạn đưa đến vùng cần đưa dữ liệu lọc đến. tích vào mục Unique records only rồi ok.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.
fiilter sandra là cái gì vậy bạn ---> Chưa từng nghe bao giờKhi mình vào Data/Filter/Advanced filter... đúng ra phải co danh sách cho mình lọc nhưng may chỉ báo vỏn vẹn co 2 dong Top và fiilter sandra....ai biết vì sao???chỉ mình với ah
sorry mọi người nha là chữ " FITER STANDARD " có lẽ dốt quá nên cũng chẳng " DIẾT" được đúng con chữ nữa,,,,xin lỗi,,,,nhờ mọi người cho ý kiến về vấn đề của mình ahfiilter sandra là cái gì vậy bạn ---> Chưa từng nghe bao giờ
Tôi chắc đến 99% là bạn dùng Open Office ---> Vì trong Excel chẳng có mục nào là FITER STANDARD cảsorry mọi người nha là chữ " FITER STANDARD " có lẽ dốt quá nên cũng chẳng " DIẾT" được đúng con chữ nữa,,,,xin lỗi,,,,nhờ mọi người cho ý kiến về vấn đề của mình ah
da tạ thiệt là " nhìu " nha pac "ndu" lùm được rùi,,,mừng quáTôi chắc đến 99% là bạn dùng Open Office ---> Vì trong Excel chẳng có mục nào là FITER STANDARD cả
Nếu đúng thế thì xem tại đây:
http://www.giaiphapexcel.com/forum/showthread.php?p=207132
Bạn thử dùng vài cái cơ bản sau:Tôi có bài toán thế này nhờ các bạn giải giùm!
Cột A gồm tên các bút toán như sau:
A 2: Phải trả lương
A 3: Phải trả lương
A 4: Phải trả lương
A 5: Xuất quỹ chi lương
Cột B và C có các bút toán như sau:
B 2: Nợ 661; C 2: Có 334
B 3: Nợ 661; C 3: Có 334
B 4: Nợ 661; C 4: Có 334
B 5: Nợ 334; C 5: Có 111
Cột D số tiền:
D 2: 1000
D 3: 1000
D 4: 1000
D 5: 3000
Bây giờ tôi muốn lấy số liệu sang cột E là:
E 2: Phải trả lương
E 3:
E 4:
E 5: Xuất quỹ chi lương
Số liệu cột F là:
F 2: 3000
F 3:
F 4:
F 5: 3000
Mong các bạn chỉ dùm!
Câu hỏi dạng này đã có quá nhiều người hỏi rồi ---> Nếu bạn "không ngại khó", hãy nghiên cứu Advanced Filter trước xem ---> Chú ý mục check "Unique Records only"... đây là chức năng chuyên dùng để trích lọc duy nhất đấyChào các bạn! mình muốn làm 1 danh sách từ một danh sách có sẵn, danh sách đó chỉ lấy 1 mãu tin nếu có 2 mẫu tin trùng nhau!
Bạn nào biết gíup mình với. mình có post lên một ví dụ mẫu các bãnem giúp nhe!
Anh có cách nào làm cho danh sách sau khi lọc thì nội dung tự cập nhật không, tại vì danh sách gốc lúc nào cũng phát sinh mới, nên mỗi khi bổ sung mẫu tin mới thì danh sách trích lọc không được cập nhật.
Ở trên đã nói rõ rồi, sao còn hỏi nhỉ?Em có bài tập về lọc dữ liệu trong một bảng có nhiều cột, dữ liệu ở các dòng giống nhau thì chỉ lấy lại 1 dòng. Các bác giúp e với.hic
Bạn dùng Advanced Filter nhéEm có bài tập về lọc dữ liệu trong một bảng có nhiều cột, dữ liệu ở các dòng giống nhau thì chỉ lấy lại 1 dòng. Các bác giúp e với.hic
Mình có file công nợ này nhưng không lọc được dữ liệu từ CTCN sang CNKH mà không bị trùng số hoá đơn. Các bạn giúp mình nhé .Cảm ơn nhiều!
Ở cột thành tiền với cột thanh toán mình mãi không làm ra được như file tren của bạn, bạn hướng dẫn mình nhé. Cám ơn
Thì bạn cứ viết ví dụ ra vừa dễ hiểu, vừa nhanh. Nhất cử tam tứ tiện.Chào các bạn.
Mình có một bảng dữ liệu gồm 4 cột: Tên khách hàng, Ngày giao hàng, Số lượng và Hạn thanh toán.
Mình muốn tạo hai báo cao sau:
1. Ngày giao hàng cuối cùng cho tất cả các khách hàng.
2. Các khách hàng đến hạn thanh toán
Rất mong được các bạn giúp đỡ
Cảm ơn bạn. Mình gửi bảng ví dụ, các bạn giúp mình nhéThì bạn cứ viết ví dụ ra vừa dễ hiểu, vừa nhanh. Nhất cử tam tứ tiện.
Ăn ké theo sealand một chút cho vui.Cảm ơn bạn. Mình gửi bảng ví dụ, các bạn giúp mình nhé
=IF(ROW(2:2)>MAX($G$2:$G$13);"";INDEX($A$2:$A$13;MATCH(ROW(2:2);$G$2:$G$13;0)))
đúng ra phải là:
=IF(ROW(1:1)>MAX($G$2:$G$13);"";INDEX($A$2:$A$13;MATCH(ROW(1:1);$G$2:$G$13;0)))
Cảm ơn bạn. Mình gửi bảng ví dụ, các bạn giúp mình nhé
Sử dụng Pivot mình cũng làm thử nhưng hình như dữ liệu mỗi lần cập nhật thêm lại phải update lại nguồn cho Pivot. Có thể do mình chưa biết sử dụng tính năng này.Với dữ liệu & yêu cầu của bạn (giả sử công nợ khách hàng lớn mà dùng công thức thì máy chạy đến bao giờ)
=> Một giải pháp cho bạn - đó là dùng Pivot
Cám ơn bạn sealand rất nhiều, Đúng là mình đang muốn giải quyết theo cách của bạn, Nhân tiện Bạn cho mình hỏi hôm trước mình cũng đã sử dụng thêm 1 cột với hàm{=IF(J3<>"",MAX(IF($A$2:$A$13=$J3,B2:B13,0)),"")}
Bạn lưu ý cái công thức mảng trên nó làm đủ các yêu cầu của bạn rồi, ta chẻ nó ra 1 chút nhé:
1/=IF(J3<>"",…………..) Đoạn này chỉ nhằm nếu không có mã thì trả về chuỗi rỗng chứ đừng trả về 0, vì 0 trong định dạng ngày nó lại có kết quả khác.
2/IF($A$2:$A$13=$J3,B2:B13,0) Tạo 1 mảng trung gian có kích thước là 12 phần tử tương ứng với 12 dòng dữ liệu của bạn.
3/ Max trong mảng này, tức là ngày giao hàng muộn nhất của mã.
Sử dụng Pivot mình cũng làm thử nhưng hình như dữ liệu mỗi lần cập nhật thêm lại phải update lại nguồn cho Pivot. Có thể do mình chưa biết sử dụng tính năng này.
Cảm ơn các bạn đã giúp đỡ.
Sử dụng Pivot mình cũng làm thử nhưng hình như dữ liệu mỗi lần cập nhật thêm lại phải update lại nguồn cho Pivot. Có thể do mình chưa biết sử dụng tính năng này.
Cám ơn bạn sealand rất nhiều, Đúng là mình đang muốn giải quyết theo cách của bạn, Nhân tiện Bạn cho mình hỏi hôm trước mình cũng đã sử dụng thêm 1 cột với hàm
{=MAX(IF($C$2:$C$13=$C$2:$C$13,$D$2:$D$13,""))}
Nhưng kết quả chỉ trả về một giá trị ngày lớn cho tất cả các khách hàng (file gửi kèm). Không biết vì sao, Bạn có thể hướng dẫn giúp mình được không.
giúp em loại bỏ dữ diệu trùng nhau , chỉ chừa lại 1 liệu
VD :
A B
music nhac
music nhac
music nhac
loại thành
music nhac
anh em giúp em file này
Công thức cho ô B2 trên Sheet1 chỉ cần như vầy là đủ (sau đó copy ô này và dán cho các ô còn lại trong cột B):Chào các anh, em mới ra trường và tập tọe đi làm, sếp giao cho công việc nhập dữ liệu xe máy hàng ngày, em dùng Data Validation và hàm OFFSET, mà không hiểu lỗi ở đâu, ban đầu rất tốt nhưng sau đó ễcl báo lỗi, mong các bác giải quyết giúp em nhé!
Chân thành cám ơn các anh!View attachment 53903
Bạn lưu ý: Khi dùng các hàm OFFSET, MATCH, VLOOKUP, HLOOKUP, COUNTIF, SUMIF,..., bạn cần sử dụng linh hoạt các loại địa chỉ (tuyệt đối, tương đối, hỗn hợp) tại tham số vùng tham chiếu nhé. Bạn thử xem các tham số tương ứng tại B2 và B3 trong file của bạn sẽ thấy điều này.=VLOOKUP(A2,Sheet2!$A$2:$B$14,2,0)
Ô B4 sheet S2: =SUMPRODUCT(('2'!$A$4:$A$15='S2'!A4)*('2'!$B$4:$B$14='S2'!B3)*('2'!F4:F14)); số dòng không đồng nhất + địa chỉ: ('2'!F4:F14) khi copy xuống sẽ "trớt quớt", + các ô A10:F14 không có dữ liệu ...mình bị lỗi tìm chỗ này nhờ các ac giúp mình với,cám ơn nhiều
Thử làm với dữ liệu đến dòng thứ 60 sheet GPE nhé.vậy các ac giúp mình đối với bài đó làm cách nào được không ạh vì mình làm hoại không được,cám ơn nhiều nhiều lắm
vậy các ac giúp mình đối với bài đó làm cách nào được không ạh vì mình làm hoại không được,cám ơn nhiều nhiều lắm
Unhide dòng cột trước khi paste còn không thì lập trình VBA thôi ---> Tùy bạn quyết địnhCác Bác chỉ giúp em cách dán dữ liệu xuyên qua những ô bị ẩn
VD: ở Sheet 1 em có dữ liệu nằm ở ô: A1,B1,C1,D1,E1
em copy dữ liệu này sang sheet 2 mà ở sheet 2 cột B1, C1 bị ẩn.
Em muốn khi dán dữ liệu vào sheet 2 thì dữ liệu sẽ nằm ở các ô A1, D1,E1,F1,G1
-Cho e hỏi tý.E cũng định dùng Advanced Filter nhưng không biết điều kiện là gì để lọc ra các bạn sinh cùng tháng?
chỉ có excel 2007 trở lên mới có số dòng này thôi bác volga àbạn thử tìm hiểu về advanced filter đi .
100000 dòng ,thật là kinh khủng ,công thức chắc à ì ạch ...
Em sử dụng Office 2010 bác ạ....chỉ có excel 2007 trở lên mới có số dòng này thôi bác volga à
Trong Office 2007 và 2010 có chức năng loại bỏ dòng trùng, còn nếu như không muốn dùng bạn có thể dùng PivotTable để thực hiện điều bạn muốn.Em sử dụng Office 2010 bác ạ....
Bài lọc dữ liệu trùng thường dùng Advanced Filter, Consolidate....để lọc. Nếu dữ liệu lớn mà dùng công thức thì e rằng file sẽ nặng và chạy không nỗi.em có file dữ liệu cần nhập rất nhiều nên hơi nặng mọi người giúp em thêm hàm trong file. cám ơn mọi người.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Range("[COLOR=red]B2[/COLOR]:C" & [[COLOR=red]B65536[/COLOR]].End(xlUp).Row)
Range("[COLOR=red]F2[/COLOR]").Consolidate .Address(, , 2), Function:=xlSum, LeftColumn:=True
End With
End Sub
Bài lọc dữ liệu trùng thường dùng Advanced Filter, Consolidate....để lọc. Nếu dữ liệu lớn mà dùng công thức thì e rằng file sẽ nặng và chạy không nỗi.
Thêm cho Bạn 1 cách dùng Consolidate để lọc.
Mã:Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Range("[COLOR=red]B2[/COLOR]:C" & [[COLOR=red]B65536[/COLOR]].End(xlUp).Row) Range("[COLOR=red]F2[/COLOR]").Consolidate .Address(, , 2), Function:=xlSum, LeftColumn:=True End With End Sub
Bạn cứ thử sửa lại như vầy xem sao:Theo bài này thì dữ liệu bảng tính không hiểu khi có thêm loại giày mới bác ạ?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("[COLOR=red]F2:G65536[/COLOR]").Clear
With Range("[COLOR=red]B2:C[/COLOR]" & [[COLOR=red]B65536[/COLOR]].End(xlUp).Row)
Range("[COLOR=red]F2[/COLOR]").Consolidate .Address(, , 2), Function:=xlSum, LeftColumn:=True
End With
End Sub
nếu 2010 thì thử cái recode này xem 150000 dòng đấyEm áp dụng công thức trong file này cho file công việc rất tốt. chỉ là không hiểu về nó lắm.. cái này hơi chuyên sâu nhỉ?
Có thể giải thích cho em hàm indirect dùng như thế nào và trong trường hợp như thế nào mới dùng. kèm ví dụ đơn giản được không ạ? Em đọc nhiều về hàm này nhưng vẫn cảm thấy lơ tơ mơ....
Em sử dụng Office 2010 bác ạ....
Private Sub CommandButton1_Click()
With Application
.ScreenUpdating = False
ActiveSheet.Range("e:f").Clear
Range("B2:C" & [B150000].End(xlUp).Row + 1).Copy
[e2].PasteSpecial Paste:=xlPasteValuesAndNumberFormats: [f3].FormulaR1C1 = "=SUMIF(C[-4],RC[-1],C[-3])"
: [f3].AutoFill Destination:=Range("F3:F" & [f150000].End(xlUp)): Range("$E1:$f150000").RemoveDuplicates Columns:=1
selection.Copy
selection.PasteSpecial Paste:=xlPasteValues
.CutCopyMode = False
.ScreenUpdating = True
End With
End Sub
Nâng lên 65000 dòng và # 1000 mã thì dùng Dictionary nhanh nhiều hơn đó. Nhanh hơn cả AdFi. Còn kg biết Ex 2010 thì thế nào.Bạn cứ thử sửa lại như vầy xem sao:
Mã:Private Sub Worksheet_SelectionChange(ByVal Target As Range) Range("[COLOR=red]F2:G65536[/COLOR]").Clear With Range("[COLOR=red]B2:C[/COLOR]" & [[COLOR=red]B65536[/COLOR]].End(xlUp).Row) Range("[COLOR=red]F2[/COLOR]").Consolidate .Address(, , 2), Function:=xlSum, LeftColumn:=True End With End Sub
Sub thuDic()
Dim t, i As Long, s As Long, Dic As Object, Arr, ArrKQ(1 To 65000, 1 To 2)
Set Dic = CreateObject("Scripting.Dictionary")
t = Timer
Range("I2:J65536").Clear
Arr = Range("B2:C" & [B65536].End(xlUp).Row)
s = 0
For i = 1 To UBound(Arr, 1)
If Not Dic.Exists(Arr(i, 1)) Then
s = s + 1
ArrKQ(s, 1) = Arr(i, 1)
Dic.Add Arr(i, 1), s
End If
ArrKQ(Dic.Item(Arr(i, 1)), 2) = ArrKQ(Dic.Item(Arr(i, 1)), 2) + Arr(i, 2)
Next i
Range("I2").Resize(s, 2) = ArrKQ
Erase Arr, ArrKQ: Set Dic = Nothing
MsgBox Timer - t
End Sub
Anh ThuNghi có thể giải thích từng dòng lệnh để Anh em học hỏi được không (sao thấy giống như đưa vào mảng quá) nhưng không hiểu nhiều dòng lệnh? Thấy cái CreateObject("Scripting.Dictionary")anh NDU và Anh hay dùng để lọc hay quá.
Chắc chắn Dictionary luôn nhanh hơn luôn, cho dù Excel 2007 hoặc Excel 2010 có dùng Advanced Filter hay RemoveDuplicate cũng vẫn chậmNâng lên 65000 dòng và # 1000 mã thì dùng Dictionary nhanh nhiều hơn đó. Nhanh hơn cả AdFi. Còn kg biết Ex 2010 thì thế nào.
Anh ThuNghi có thể giải thích từng dòng lệnh để Anh em học hỏi được không (sao thấy giống như đưa vào mảng quá) nhưng không hiểu nhiều dòng lệnh? Thấy cái CreateObject("Scripting.Dictionary")anh NDU và Anh hay dùng để lọc hay quá.
Dictionary Object đã được nói rất nhiều lần rồi (kê cả diễn giải chi tiết)... giờ xin đưa 1 code đơn giản nhất cho các bạn tham khảo nhằm hiểu thêmđúng rồi Bác thu nghi hưỡng dẫn từng dòng lệnh cho anh em học với
cái code cua bác chạy có 0.203125 giây à kể cả khi em sửa range lên đến 165536 . phải nói là cực nhanh.
còn code của Minh công hết 65.58594 giây , le duythương hết -72716.66.
=CHAR(INT(RAND()*5)+65)
Sub TestDic()
Dim Clls As Range, Dic, i As Long
Set Dic = CreateObject("Scripting.Dictionary")
For Each Clls In Range("A1:A30")
Clls.Select
If Not Dic.Exists(Clls.Value) Then ''<--- kiem tra xem Clls.Value có ton tại trong Dictionary hay khong?
MsgBox "Gia tri '" & Clls.Value & "' chua ton tai trong Dictionary"
Dic.Add Clls.Value, "" ''<--- Add giá tri Clls.Value vào Dictionary (vì nó chua ton tai)
i = i + 1
Cells(i, "C") = Clls.Value
Else
MsgBox "Gia tri '" & Clls.Value & "' da ton tai trong Dictionary"
End If
Next
End Sub
Hình như bài này Thu Nghi chỉ sử dụng "đít to" làm điều kiện để gán dữ liệu từ mảng Arr sang mảng ArrKQ _dùng "đít to" kiểm tra xem dữ liệu nào là duy nhất ở mảng Arr thì "xơi" nó đem gán qua "thằng" ArrKQ _Anh ThuNghi có thể giải thích từng dòng lệnh để Anh em học hỏi được không (sao thấy giống như đưa vào mảng quá) nhưng không hiểu nhiều dòng lệnh? Thấy cái CreateObject("Scripting.Dictionary")anh NDU và Anh hay dùng để lọc hay quá.
Sub thuDic2()
Dim t, i As Long, s As Long, Dic As Object, Arr, ArrKQ(1 To 65000, 1 To 2)
Set Dic = CreateObject("Scripting.Dictionary")
t = Timer
Range("I2:J65536").Clear
Arr = Range("B2:C" & [B65536].End(xlUp).Row)
For i = 1 To UBound(Arr, 1)
If Not Dic.Exists(Arr(i, 1)) Then
s = s + 1
ArrKQ(s, 1) = Arr(i, 1)
ArrKQ(s, 2) = Arr(i, 2)
Dic.Add Arr(i, 1), s
Else
ArrKQ(s, 2) = ArrKQ(s, 2) + Arr(i, 2)
End If
Next i
Range("I2").Resize(s, 2) = ArrKQ
Erase Arr, ArrKQ: Set Dic = Nothing
[i1] = Timer - t
End Sub
Code này sai nha anh!Hình như bài này Thu Nghi chỉ sử dụng "đít to" làm điều kiện để gán dữ liệu từ mảng Arr sang mảng ArrKQ _dùng "đít to" kiểm tra xem dữ liệu nào là duy nhất ở mảng Arr thì "xơi" nó đem gán qua "thằng" ArrKQ _
Lấy kết quả ở mảng ArrKQ chứ không lấy ở "đit to"
Xin phép Thu Nghi sửa lại code đó một tí tẹo cho Minh Công & Duy Thương dễ nhìn, dễ hiểu ( hình như tốc độ cũng được cải thiện)
Mã:Sub thuDic2() Dim t, i As Long, s As Long, Dic As Object, Arr, ArrKQ(1 To 65000, 1 To 2) Set Dic = CreateObject("Scripting.Dictionary") t = Timer Range("I2:J65536").Clear Arr = Range("B2:C" & [B65536].End(xlUp).Row) For i = 1 To UBound(Arr, 1) If Not Dic.Exists(Arr(i, 1)) Then s = s + 1 ArrKQ(s, 1) = Arr(i, 1) ArrKQ(s, 2) = Arr(i, 2) Dic.Add Arr(i, 1), s Else ArrKQ(s, 2) = ArrKQ(s, 2) + Arr(i, 2) End If Next i Range("I2").Resize(s, 2) = ArrKQ Erase Arr, ArrKQ: Set Dic = Nothing [i1] = Timer - t End Sub
Hình như dữ liệu trong bài của chủ topic đã được sắp xếp . Code này vẫn chạy đúng mà Thầy, nó cộng dồn "thằng" nào không duy nhất thôi, S luôn đúng vì không đổi cho tới khi "đít to" tìm ra "thằng" duy nhất tiếp theo chứ không phải chỉ cộng dồn em cuối cùng đâuCode này sai nha anh!
Sai ở chổ này:
ArrKQ(s, 2) = ArrKQ(s, 2) + Arr(i, 2)
Định vị như thế vô tình chỉ có "em cuối cùng" được cộng dồn mà thôi
Phải như ThuNghi:
ArrKQ(Dic.Item(Arr(i, 1)), 2) = ArrKQ(Dic.Item(Arr(i, 1)), 2) + Arr(i, 2)
thì mới chính xác
Đâu có được anh!Hình như dữ liệu trong bài của chủ topic đã được sắp xếp . Code này vẫn chạy đúng mà Thầy, nó cộng dồn "thằng" nào không duy nhất thôi, S luôn đúng vì không đổi cho tới khi "đít to" tìm ra "thằng" duy nhất tiếp theo chứ không phải chỉ cộng dồn em cuối cùng đâu
Híc
Tôi cũng đã thử, nếu sort trước thì kg cầnĐâu có được anh!
Khi anh viết code, anh phải tính đến trường hợp dữ liệu lộn xộn chứ (mà chuyện này là rất thường xuyên xảy ra) ---> Hên nó sort trước nên đúng thôi mà!
Còn không thì ít nhất anh cũng phải cho code sỏrt dữ liệu trước chứ
Ẹc... Ẹc..
và kg cần Dic làm gì.ArrKQ(Dic.Item(Arr(i, 1)), 2) = ArrKQ(Dic.Item(Arr(i, 1)), 2) + Arr(i, 2)
1/ Đổi ct tại D4 thành =COUNTIF($B$4:$B4,$B4) và copy xuốngChào các Anh/Chị !!!
Em có một danh sách khách hàng trên 5 ngàn người, nhưng khi xem lại trong danh sách đó quá nhiều Code khách hàng bị trùng nhau. Cho nên em muốn lọc ra 1 Sheet riêng biệt những khách hàng thực sự hiện có. Chỉ duy nhất 1 khách hàng = 1 code mà thôi. Nhưng làm hoài không được, chỉ bằng cách Delete bằng tay cho những khách hàng bị trùng như vậy thì lâu quá. Nên gởi lên đây, nhờ các anh chị giúp xem nên sử dụng Hàm gì ???
nếu bạn dùng excel 2007-2010 thì chỉ cần chọn côt b và c sau đó làm theo hình là chưa đến 10s sẽ ra kết quảchào các anh/chị !!!
Em có một danh sách khách hàng trên 5 ngàn người, nhưng khi xem lại trong danh sách đó quá nhiều code khách hàng bị trùng nhau. Cho nên em muốn lọc ra 1 sheet riêng biệt những khách hàng thực sự hiện có. Chỉ duy nhất 1 khách hàng = 1 code mà thôi. Nhưng làm hoài không được, chỉ bằng cách delete bằng tay cho những khách hàng bị trùng như vậy thì lâu quá. Nên gởi lên đây, nhờ các anh chị giúp xem nên sử dụng hàm gì ???
Cảm ơn rất nhiều !!!
Kèm theo file thí dụ nhé...
muốn giúp thì cần có file mẫuMình có 1 cột gồm 500 dòng. có 50 tên hàng hiển thị trong 500 dòng đó một cách hỗn độn.
Có cách nào dùng các hàm mà tạo ra một cột mới gồm 50 dòng liên tục hiển thị 50 tên hàng đó. Bình thường thì mình dùng Pivort là đưoọc ngay. Nhưng nay muốn dùng hàm để tạo ra 1 cột mới. C này sẽ là nguồn cho các cột khác tham chiếu tính toán. Mong các cao thủ chỉ giáo
Bài này đã được làm rất nhiều lần trên diễn đàn rồi... giờ làm lại nhé:Bạn có thể xem file này nhé
Data =OFFSET($B$2,,,MATCH(REPT("Z",255),$B$2:$B$10000),)
Pos =IF(Data="","",IF(MATCH(Data,Data,0)=ROW(INDIRECT("1:"&ROWS(Data))),MATCH(Data,Data,0),""))
=IF(ROWS($1:1)>COUNT(Pos),"",INDEX(Data,SMALL(Pos,ROWS($1:1))))
bạn duy thuong và bạn ndu có thể dịch công thức giúp mình được không cả cột chính và cột phụ
Rept("z",255) = 255 chữ zTrong công thức PHP thì z và 255 là gì nhỉ. Mong bác chỉ giáo
Ví dụ cột chứa dữ liệu của bạn là cột A.
Cột cần lọc ra danh sách xuất hiện duy nhất là cột B
Ở ô B1 bạn gõ công thức: =if(countif($A$1:A1;A1)>1;"";A1)
Sau đó kéo fill down đến hết dòng cuối cùng.
Ở cột B bạn chọn lọc non blank là ra danh sách giá trị duy nhất của cột A như bạn muốn
Ví dụ cột chứa dữ liệu của bạn là cột A.
Cột cần lọc ra danh sách xuất hiện duy nhất là cột B
Ở ô B1 bạn gõ công thức: =if(countif($A$1:A1;A1)>1;"";A1)
Sau đó kéo fill down đến hết dòng cuối cùng.
Ở cột B bạn chọn lọc non blank là ra danh sách giá trị duy nhất của cột A như bạn muốn
Bạn xem công thức cột bên cạnh (cột H) nhéNhờ các anh chị em trên diễn đàn giải hộ bài này
Dùng công thức để lọc dữ liệu trùng nhau > 2 ĐK trên 1 bảng tính