Trích lọc danh sách duy nhật từ nguồn có 2 hoặc nhiều cột, liên tiếp hoặc rời rạc (1 người xem)

Người dùng đang xem chủ đề này

bebo021999

Thành viên gạo cội
Tham gia
26/1/11
Bài viết
6,041
Được thích
8,810
Giới tính
Nam
Nghề nghiệp
GPE
Mình đang gặp vấn đề về dùng hàm để trích lọc danh sách duy nhất. Nếu trích lọc từ nguốn bao gồm 1 cột thì mình đã biết, tuy nhiên nguồn ở đây gồm nhiều cột, nằm cạnh nhau hoặc cách xa nhau (Xin mở file đính kèm). Xin các ACE giúp đỡ và cho giải pháp. (Không dùng VBA)
 

File đính kèm

Mình đang gặp vấn đề về dùng hàm để trích lọc danh sách duy nhất. Nếu trích lọc từ nguốn bao gồm 1 cột thì mình đã biết, tuy nhiên nguồn ở đây gồm nhiều cột, nằm cạnh nhau hoặc cách xa nhau (Xin mở file đính kèm). Xin các ACE giúp đỡ và cho giải pháp. (Không dùng VBA)
Mình làm thử file này mà dùng cột phụ, mình nghĩ nếu mà làm sao gom lại thành 1 mảng duy nhất rồi dùng công thức trích lọc duy nhất sẽ ra mà mình không biết làm, công thức trong file mình cũng học trên diễn dàn mình áp dụng vào đây mong giúp được gì bạn không
 

File đính kèm

Lần chỉnh sửa cuối:
Mình làm thử file này mà dùng cột phụ, mình nghĩ nếu mà làm sao gom lại thành 1 mảng duy nhất rồi dùng công thức trích lọc duy nhất sẽ ra mà mình không biết làm, công thức trong file mình cũng học trên diễn dàn mình áp dụng vào đây mong giúp được gì bạn không
Hi, nếu dùng cột phụ để ghép nhiều cột thành 1 cột thì đơn giản rồi.
 
Về mặt số liệu kế toán mà nói, không có tình trạng trên cùng 1 dòng mà đối tượng nợ và đối tượng có là 1.
Do đó, dữ liệu mẫu này là sai
Nếu dữ liệu mẫu đúng theo chuẩn CSDL và đúng hệ thống kế toán, may ra còn có cách.
 
Về mặt số liệu kế toán mà nói, không có tình trạng trên cùng 1 dòng mà đối tượng nợ và đối tượng có là 1.
Do đó, dữ liệu mẫu này là sai
Nếu dữ liệu mẫu đúng theo chuẩn CSDL và đúng hệ thống kế toán, may ra còn có cách.

Anh ơi, có thể có chứ. Ví dụ phiếu bù trừ công nợ chẳng hạn.
 
Anh ơi, có thể có chứ. Ví dụ phiếu bù trừ công nợ chẳng hạn.
Nếu 1 đối tượng pháp nhân vừa là người bán, vừa là người mua, thì theo nguyên tắc, tôi sẽ tạo 2 mã cho 1 đối tượng này. Vậy cùng 1 dòng, cò thể cùng đối tượng pháp nhân, nhưng khác mã. Tôi sẽ làm việc với mã, không làm việc với tên pháp nhân.
 
Nếu 1 đối tượng pháp nhân vừa là người bán, vừa là người mua, thì theo nguyên tắc, tôi sẽ tạo 2 mã cho 1 đối tượng này. Vậy cùng 1 dòng, cò thể cùng đối tượng pháp nhân, nhưng khác mã. Tôi sẽ làm việc với mã, không làm việc với tên pháp nhân.
Em nghĩ là tác giả muốn học cách trích lọc đó thôi, nhưng lười hỏi google.
dạng bài này có đầy trên GPE tại đây
 
Làm vài lon rồi đọc topic theo đường dẫn của "người ở cung trăng" chẳng hiểu chi cả.
Cái bạn Bebo này muốn làm khó đây mà, chứ bài này mà chơi VBA thì cái roẹt
Hihi, mình chẳng biết gì về "nợ có thu chi pháp nhân mua bán" búa xua nên cứ thấy có dữ liệu là "chơi", khỏi thắc mắc như Thầy Ptm & Thầy Sealand. Hihi
Xin gởi một cách làm, tưng tưng rồi nhờ các bạn kiểm tra giúp
 

File đính kèm

Em nghĩ là tác giả muốn học cách trích lọc đó thôi, nhưng lười hỏi google.
dạng bài này có đầy trên GPE tại đây
Dạ em có xem topic này rồi và suýt ngất khi nhìn name và công thức thuộc hạng "siêu khủng". Với lại topic này của năm 2008, năm nay là 2011 hy vọng có cải thiện hơn chăng?
Về mặt số liệu kế toán mà nói, không có tình trạng trên cùng 1 dòng mà đối tượng nợ và đối tượng có là 1.
Do đó, dữ liệu mẫu này là sai
Nếu dữ liệu mẫu đúng theo chuẩn CSDL và đúng hệ thống kế toán, may ra còn có cách.
Dạ sư phụ ơi, đây không phải là sổ NKC nên không phải là định khoản Nợ-Có trên 1 dòng ạ, em chỉ đưa 2 cột lên để làm ví dụ thôi, chứ thực tế nó nằm xa nhau và lệch hàng.

Làm vài lon rồi đọc topic theo đường dẫn của "người ở cung trăng" chẳng hiểu chi cả.
Cái bạn Bebo này muốn làm khó đây mà, chứ bài này mà chơi VBA thì cái roẹt
Hihi, mình chẳng biết gì về "nợ có thu chi pháp nhân mua bán" búa xua nên cứ thấy có dữ liệu là "chơi", khỏi thắc mắc như Thầy Ptm & Thầy Sealand. Hihi
Xin gởi một cách làm, tưng tưng rồi nhờ các bạn kiểm tra giúp
vâng cám ơn bác Cò, bác cứ ở mặt đất thế này cho em mà lại hay. Công thức của bác tương đối ngắn, em sẽ nghiên cứu áp dụng vào file của em xem sao.
 
Làm vài lon rồi đọc topic theo đường dẫn của "người ở cung trăng" chẳng hiểu chi cả.
Cái bạn Bebo này muốn làm khó đây mà, chứ bài này mà chơi VBA thì cái roẹt
Hihi, mình chẳng biết gì về "nợ có thu chi pháp nhân mua bán" búa xua nên cứ thấy có dữ liệu là "chơi", khỏi thắc mắc như Thầy Ptm & Thầy Sealand. Hihi
Xin gởi một cách làm, tưng tưng rồi nhờ các bạn kiểm tra giúp
Bác Cò chịu khó quay lại bờ ao giúp em nhé:
TH1: Thay "335" vào ô B3
TH2: Thay "335" vào cả hai ô B3 và B7
Lỗi rồi bác Cò ạ
Sáng giờ có lon nào chưa bác?
 
Bác Cò chịu khó quay lại bờ ao giúp em nhé:
TH1: Thay "335" vào ô B3
TH2: Thay "335" vào cả hai ô B3 và B7
Lỗi rồi bác Cò ạ
Sáng giờ có lon nào chưa bác?
Hihi, bạn thấy có name doB (dò cột B) thì phải có doD (dò cột D). Tưng tưng cứ tưởng 2 cột giống nhau nên bỏ một, ai dè.............Híc
Bạn xem lại giúp, có thể rút gọn các name nhưng tới giờ đi làm rôi
Thân
Chiêu mí zô zô zô vài lon Bebo ạ, mình đâu phải bợm. Híc
 

File đính kèm

Hihi, bạn thấy có name doB (dò cột B) thì phải có doD (dò cột D). Tưng tưng cứ tưởng 2 cột giống nhau nên bỏ một, ai dè.............Híc
Bạn xem lại giúp, có thể rút gọn các name nhưng tới giờ đi làm rôi
Thân
Chiêu mí zô zô zô vài lon Bebo ạ, mình đâu phải bợm. Híc
Chưa có đúng Bác Cò ơi. Thử fill B3:C3 xuống hết cột xem.
Bác Cò đúng là dân VIP. 9h30 mới đi làm--=0
 
Thực ra trường hợp này dùng code cho nó khỏe. Tội gì phải ép vào công thức.
Tôi đảm bảo không thể dùng công thức trong trường hợp tổng quát là n cột dữ liệu.
Bên dưới là file tôi làm cho 2 cột. Bạn tham khảo nhé.
 

File đính kèm

Ghép dữ liệu từ 2 cột thành 1 danh sach duy nhất

Mình có 1 bài toán như sau:
cột A : a b c c a a...
Cột B: b a a a a b c...
mình muốn ở cột C sẽ là : a b c....
dùng công thức hoặc dùng code
có mem nào giúp dc việc này không nhỉ
 

File đính kèm

Nếu là VBA mình sẽ làm vầy:

Mình có 1 bài toán như sau:
cột A : a b c c a a...
Cột B: b a a a a b c...
mình muốn ở cột C sẽ là : a b c....
dùng công thức hoặc dùng code
có mem nào giúp dc việc này không nhỉ

(*) Ghi lại dòng cuối có dữ liệu của cột [A]
(*) Copy cột sang fía dưới dữ liệu cột [A];

(*) Lọc duy nhật cột [A] sang [C];

(*) Xóa bớt dữ liệu cột [A] kể từ sau dòng cuối đã biết

Chuyện này bạn có thể ghi bằng bộ thu & chỉnh sửa cho mượt theo thẩm mĩ mà!

Chúc thành công!
 
(*) Ghi lại dòng cuối có dữ liệu của cột [A]
(*) Copy cột sang fía dưới dữ liệu cột [A];

(*) Lọc duy nhật cột [A] sang [C];

(*) Xóa bớt dữ liệu cột [A] kể từ sau dòng cuối đã biết

Chuyện này bạn có thể ghi bằng bộ thu & chỉnh sửa cho mượt theo thẩm mĩ mà!

Chúc thành công!

ẹc ẹc bạn còn dấu (...) nữa mà bạn nghĩa là dữ liệu sẽ tiếp tục tăng. nếu cứ mỗi lần tăng dữ liệu lại phải coppy, pate thì không ổn bạn ah.
 
Mỗi lần tăng hay giảm dữ liệu ta ấn tổ hợp fím nóng cho chạy macro sau

[ThongBao]ẹc ẹc bạn còn dấu (...) nữa mà bạn nghĩa là dữ liệu sẽ tiếp tục tăng. nếu cứ mỗi lần tăng dữ liệu lại phải coppy, pate thì không ổn bạn ah.[/ThongBao]

PHP:
Option Explicit
Sub Macro1()
 Dim Rws As Long
 
 Rws = [A1].End(xlDown).Row + 1
 Range([B1], [B1].End(xlDown)).Copy Destination:=Cells(Rws, "A")
 Range([A1], [A1].End(xlDown)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
        "C1"), Unique:=True
 Range(Cells(Rws, "A"), [A65500].End(xlUp)).Value = ""
End Sub
 
Mình có 1 bài toán như sau:
cột A : a b c c a a...
Cột B: b a a a a b c...
mình muốn ở cột C sẽ là : a b c....
dùng công thức hoặc dùng code
có mem nào giúp dc việc này không nhỉ

Bạn không nói rõ nhưng nhìn kết quả thì tôi đoán là bạn cần lọc duy nhất từ 2 cột.

-------------
1. Bạn đặt 1 name arr
Mã:
=Sheet1!$A$1:$B$8

Nếu trong tương lai vùng dữ liệu được mở rộng hay dịch chuyển thì sửa tham chiếu cho phù hợp

2. Code cho ô C2. Nếu trong tương lai ... thì sửa ...

Mã:
=INDEX(arr;MIN(IF((arr="")+COUNTIF($C$1:$C1;arr)=0;ROW(arr)-MIN(ROW(arr))+1));MATCH(TRUE;COUNTIF
($C$1:$C1;INDEX(arr;MIN(IF((arr="")+COUNTIF($C$1:$C1;arr)=0;ROW(arr)-MIN(ROW(arr))+1));;1)&"")=0;0))

3. Kéo công thức xuống dưới tới khi gặp #N/A, hoặc tới khi gặp #N/A rồi kéo lên ô ở ngay trên.

4. Code "chạy" cả khi vùng dữ liệu có những ô trống.
------------
Tôi chỉ làm 1 lần. Nếu bây giờ bạn sửa yêu cầu hoặc mới nói chi tiết của yêu cầu - vd. lọc rồi sắp xếp - thì tôi cũng không
làm nữa.
 

File đính kèm

Bạn không nói rõ nhưng nhìn kết quả thì tôi đoán là bạn cần lọc duy nhất từ 2 cột.

-------------
1. Bạn đặt 1 name arr
Mã:
=Sheet1!$A$1:$B$8

Nếu trong tương lai vùng dữ liệu được mở rộng hay dịch chuyển thì sửa tham chiếu cho phù hợp

2. Code cho ô C2. Nếu trong tương lai ... thì sửa ...

Mã:
=INDEX(arr;MIN(IF((arr="")+COUNTIF($C$1:$C1;arr)=0;ROW(arr)-MIN(ROW(arr))+1));MATCH(TRUE;COUNTIF
($C$1:$C1;INDEX(arr;MIN(IF((arr="")+COUNTIF($C$1:$C1;arr)=0;ROW(arr)-MIN(ROW(arr))+1));;1)&"")=0;0))

3. Kéo công thức xuống dưới tới khi gặp #N/A, hoặc tới khi gặp #N/A rồi kéo lên ô ở ngay trên.

4. Code "chạy" cả khi vùng dữ liệu có những ô trống.
------------
Tôi chỉ làm 1 lần. Nếu bây giờ bạn sửa yêu cầu hoặc mới nói chi tiết của yêu cầu - vd. lọc rồi sắp xếp - thì tôi cũng không
làm nữa.
tks Ban. Dù không ứng dụng dc( vì cthuc quá nặng khi dữ liệu lớn > 1000), nhưng mình cũng có thêm được 1 kiến thức mới.
 

Bài viết mới nhất

Back
Top Bottom