Mỗi tuần một chuyên đề

Lọc dữ liệu

  • Thread starter ptdzung
  • Ngày gửi
P

ptdzung

Guest
26/3/05
56
0
0
Hà Nội
Tôi đã dùng được công thức mảng. Cám ơn chị handung107, nếu có thời gian chị giải thích hộ công thức của chị được không? Tôi muốn hiểu công thức đó để có thể áp dụng cho các bài toán khác.
 
Khóa học Quản trị dòng tiền
P

ptdzung

Guest
26/3/05
56
0
0
Hà Nội
Vẫn bài toán đó nhưng tôi lại bị vướng : khi cột dữ liệu của tôi không phải là text mà là công thức VLOOKUP ở sheet khác về thì advanced Filter không lọc được. Các bạn cho ý kiến với. Xin cám ơn
 
H

handung107

Cao cấp
28/8/04
576
15
0
VN
www.giaiphapexcel.com
Dĩ nhiên là bạn không thể sử dụng chức năng Data / Advanced Filter cũng như một số lệnh khác trong menu Data cho những mảng, dãy chứa công thức mà không chứa dữ liệu được. Nếu bạn muốn có những giải pháp thích hợp, bạn phải có cách thiết kế File để có thể sử dụng những chức năng sẵn có, những công thức, những hàm..., nói chung là bạn nên có những Sheet nguồn, và cách làm việc của bạn là dựa trên cơ sở của nguồn dữ liệu, hạn chế rút, lọc dữ liệu từ những Sheet không phải Sheet nguồn
 
F

ForestC

Guest
11/1/05
377
1
0
44
E'rywhere
ptdzung nói:
Gửi bạn Maika: nếu dùng hàm countif thì kết quả ra số lần loại vật tư đó xuất hiện, các loại vật có số lần xuất hiện bằng nhau sẽ có số giống nhau. Không làm tiếp được bạn à.

Gửi bạn tfs: tôi thử consolidate thì bị báo "Cannot create links to consolidation sheet", thế là lỗi gì bạn nhỉ?
Số lần loại vật tư đó xuất hiện: tất nhiên, nhưng bạn biết không, ta dùng countif trong trường hợp này như thế này: Có nghĩa ta phải cố định dòng đầu tiên của mảng địa chỉ tìm kiếm, còn sau đó sẽ là địa chỉ động, công thức của bạn kéo đến đâu thì sẽ countif đến dòng đó, chứ không phải là cố định vùng địa chỉ ngay từ đầu. đấy nhé: nói thế chắc là bạn sẽ hiểu phải không: lần thứ 1 vật tư A xuất hiện có countif là 1, lần 2 sẽ là 2 ... ect,... đấy, bạn phải linh hoạt trong việc sử dụng các hàm, vấn đề mà bạn gặp phải ở đây là địa chỉ tương đối và tuyệt đối.
 
H

handung107

Cao cấp
28/8/04
576
15
0
VN
www.giaiphapexcel.com
Maika giỏi lắm, đây cũng là ý tướng rất hay, nghĩa là công thức của Maika sẽ như sau :
=COUNTIF($A$1:A1,A1) và lần lượt kéo xuống bên dưới, bạn sẽ có kết quả là mẩu tin nào của cột A xuất hiên lần đầu tiên có số 1, xuất hiện lần thứ 2 sẽ có số 2...Và cuối cùng ta sẽ lọc những Cell chứa số 1 nơi cột phụ. Các bạn hiểu ý Maika chưa ?
 
P

ptdzung

Guest
26/3/05
56
0
0
Hà Nội
Cám ơn bạn Maika, công thức countif của bạn rất hay
 
F

ForestC

Guest
11/1/05
377
1
0
44
E'rywhere
Mình gửi file lên đây vậy nhé? Cho nó trực quan sinh động, thực ra mình rất muốn trả lời những vấn đề như thế này nhưng mà , hic, giá không phải bận gì thì tốt,

Trong file có sử dụng các hàm : countif; match; index; offset.
Hii, cảm ơn chị Hân Dung đã khen tặng. :p WhoamI :p
 

Đính kèm

  • DanhMuc_DuyNhat.zip
    3.2 KB · Lượt xem: 223
P

ptdzung

Guest
26/3/05
56
0
0
Hà Nội
To: Bạn Maika. Tôi đã xem DanhMuc_DuyNhat của bạn, nếu trong cột danh mục là số thì ta có thể sắp xếp theo thứ tự tăng dần hoặc giảm dần được, nhưng nếu là chữ thì dùng hàm gì để sắp xếp theo thứ tự được bạn nhỉ?
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
To: Maika,
Nếu bên cột B, Danh mục tài khỏan, lỡ Anh đưa vào không liên tục thì điều gì sẽ xãy ra?
Thân,
Lê Văn Duyệt
 
F

ForestC

Guest
11/1/05
377
1
0
44
E'rywhere
hey, cảm ơn anh LVD bụng béo, vậy thì bên cột phụ của sheet NhatKy (cột mà ta dùng hàm countif để đánh dấu), ta sẽ bẫy 1 lỗi mà anh Lê Văn Duyệt (bb) phát hiện ra như sau:

=if(a1="";"";countif(a$1:a1;a1)
Nếu không liên tục thì bác cho em xin 1 cái trống, còn không thì em mới đếm. Hì nhiều khi ta cứ quên đi những lỗi nhỏ, nhưng mà nó cũng quan trọng đấy chứ, anh LVD (BB) đúng là lão làng có khác, kinh nghiệm thật.
 
H

handung107

Cao cấp
28/8/04
576
15
0
VN
www.giaiphapexcel.com
Tôi giới thiệu với các bạn thêm một công thức khác ngoài cách của Maika để rút các mẩu tin duy nhất trong mảng dữ liệu.
Mảng dữ liệu của chúng ta là B2:B30. Tại cột A, chúng ta sẽ đặt công thức từ Cell A2 như sau :
A2 = IF(COUNTIF($B$1:B2,B2)=1,MAX(A$1:$A1)+1,"")
Kéo rê công thức đến A30. Giả sử bạn muốn rút các mẩu tin tại cột C, ta có công thức sau tại Cell C2
C2 =IF(MAX($A$2:$A$16)<ROW(1:1),"",VLOOKUP(ROW(1:1),$A$2:$B$30,2,0))
Kéo rê công thức đến C30. Bạn sẽ có kết quả như ý muốn. Còn giải thích các công thức này sẽ không khó, vì chỉ là công thức đơn giản, mời các bạn tự khám phá
 
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
569
100
43
66
HCM city
Tiếng Việt cũng xếp được!

Nếu trong cột danh mục là số thì ta sắp xếp theo thứ tự tăng dần hoặc giảm dần được, nhưng nếu là chữ thì dùng hàm gì để sắp xếp theo thứ tự được bạn nhỉ?[/QUOTE] :banana:
Khi đó bạn phải làm phiên dịch để dịch các chữ cái VNam ra số/mã số theo trật tự nào đó để mà xếp được thì thôi, còn tiếng Anh thì nó đã làm được!
VD Trong trường học có các lớp 6A1, 6A2, 8B5, 9A9, 10A12, 10B11, 12A1, 12A12 . . . Có lệnh của Sếp cần xếp trật tự thì cũng phải làm mà thôi!
:atom:
 
Sửa lần cuối:
adam_tran

adam_tran

Guitar inspiration
17/5/05
1,374
36
48
46
Goooogle
Cho tớ góp 1 tí

Có nhiều cách để rút 1 danh mục duy nhất ra mà, có thế công thức, vùng đệm, sort, filter... mình xin góp 1 chút vào nhé.
Cách 1:
- Copy cái danh mục qua 1 sheet mới, thí dụ từ ô A2:A50
- Sort cái danh mục này lại.
- Ở ô B2 nhập công thức =EXACT(A2;A3)
- Copy ô B2 này xuống hết ô B50
- Cột B, dùng Autofilter lọc lấy những giá trị FALSE
- Cột A bây giờ là DM duy nhất.
Cách 2:
- Copy cái danh mục qua 1 sheet mới, thí dụ từ ô A1:A24
- Sort cái danh mục này lại.
- Ô B1 nhập công thức = A1
- Ô B2 nhập công thức =INDEX($A$1:$A$24;MATCH(B1;$A$1:$A$24;0)+COUNTIF($A$1:$A$24;B1))
- Copy công thức này xuống chừng nào thấy [HASHTAG]#REF[/HASHTAG] thì thôi.

Cách 2 này tớ suy ra từ cách trích lọc những dòng dữ liệu thỏa mãn điều kiện mà không dùng Advanced Filter của chị handung107 đấy!
 

Xem nhiều

Webketoan Zalo OA