Dò tìm theo nhiều điều kiện ghi trong 1 ô (điều kiện kiểu chuỗi)

Liên hệ QC

tomcathp

Thành viên mới
Tham gia
13/4/10
Bài viết
8
Được thích
0
Mình là thành viên mới. Có vấn đề này về tìm kiếm chuỗi-lọc dữ liệu nhừ các bạn chỉ giúp.

Mình có 1 sheet NXT chứa dữ liệu nhập - xuất - tồn hàng hoá. Mình muốn tạo 1 bản thống kê (sheet Thongke) 1 nhóm hàng tương đối giống nhau, gồm những loại hàng hoá trong sheet NXT mà tên của chúng có chuỗi ghi trong 1 ô. Ô này có vài điều kiện đặt trong dấu "". Khi số liệu bên sheet NXT thay đổi thì bên Thongke cũng thay đổi theo.

Ví dụ tìm theo 3 điều kiện, tên phải có chứ "TI" , "Arteche" và "NT". Sẽ tìm ra 1 list hàng mà tên có chứa 3 chuỗi kia. Công thức cho phép tự động tìm và đặt xuống các row bên dưới ô chứa điều kiện.

Chi tiết đề nghị mọi người xem file ví dụ.
Mình cảm ơn nhiều.

Vấn đề này không biết nên post vào box "Xử lý chuỗi ký tự" hay "Tìm kiếm, dò tìm và tham chiếu" nữa, liều post vào đây nếu mod thấy không hợp thì di chuyển giúp mình nhé.
 

File đính kèm

  • vidulocdata.xls
    46.5 KB · Đọc: 22
Tìm 1 trong 3 chữ hả bạn? Sao bạn không dùng AutoFilter cho lẹ?
 
Xem file đính kèm nhé. Dùng cột H để lọc. H1:H4 để nhập tối đa 4 điều kiện. Nếu nhiều hơn thì insert thêm hàng và thêm SUBSTITUTE vào công thức. Dùng Auto filter cột H cho giá trị 1.
Làm thì làm vậy, nhưng trích lọc kiểu này thấy sao sao ấy.
 

File đính kèm

  • Book1.xls
    40 KB · Đọc: 12
không phải tìm 1 trong 3 chữ đâu bạn ơi, tìm tên mà có cả 3 chuỗi kia cơ. Khó ở chỗ là 3 chuỗi cần tìm này xuất hiện ngẫu nhiên trong tên, mình không biết xử lý thế nào.

Có 2 cách:

Dùng công thức: Tại I4 của sheet NXT:
=IF(ISERROR(AND(SEARCH("TI",B4)>=1,SEARCH("NT",B4)>=1,SEARCH("ARTECHE",B4)>=1)),"",B4)

Dùng Autofilter:
Tại cột Tên, Quy cách hàng, chọn vào mũi tên chĩa xuống, chọn vào custom chọn tiếp là Equals và gõ vào *TI*NT*ARTECHE*
 

File đính kèm

  • Copy of vidulocdata.xls
    58 KB · Đọc: 20
Lần chỉnh sửa cuối:
Xem file đính kèm nhé. Dùng cột H để lọc. H1:H4 để nhập tối đa 4 điều kiện. Nếu nhiều hơn thì insert thêm hàng và thêm SUBSTITUTE vào công thức. Dùng Auto filter cột H cho giá trị 1.
Làm thì làm vậy, nhưng trích lọc kiểu này thấy sao sao ấy.

Làm gì mà lắm công thức thế? Lại thêm mấy ô phụ nữa à? Đơn giản thôi mà!

Nói thêm là, nếu dùng công thức:

=IF(ISERROR(AND(SEARCH("TI",B4)>=1,SEARCH("NT",B4) >=1,SEARCH("ARTECHE",B4)>=1)),"",B4)

thì dù 3 chữ đó có hoán vị với nhau thì kết quả vẫn luôn luôn đúng.

Còn dùng Autofilter nó chỉ hiểu theo một trật tự nhất định trước sau, nếu đổi cấu trúc, xem như bị loại.
(công thức của bebo021999 cũng bị lỗi giống AutoFilter này).
 
Lần chỉnh sửa cuối:
Sao không dùng COUNIF nhỉ
Điều kiện lọc là công thức mảng sau:
PHP:
=AND(COUNTIF($B6,"*"&{"TI","ARTECHE","NT"}&"*"))
Cái nào cho kết quả =TRUE thì lấy
Cũng có thể dùng Advanced filer để lọc theo công thức điều kiện:
PHP:
=SUMPRODUCT(COUNTIF($B6,"*"&{"TI","ARTECHE","NT"}&"*"))=3
vân vân
 
Mình là thành viên mới. Có vấn đề này về tìm kiếm chuỗi-lọc dữ liệu nhừ các bạn chỉ giúp.

Mình có 1 sheet NXT chứa dữ liệu nhập - xuất - tồn hàng hoá. Mình muốn tạo 1 bản thống kê (sheet Thongke) 1 nhóm hàng tương đối giống nhau, gồm những loại hàng hoá trong sheet NXT mà tên của chúng có chuỗi ghi trong 1 ô. Ô này có vài điều kiện đặt trong dấu "". Khi số liệu bên sheet NXT thay đổi thì bên Thongke cũng thay đổi theo.

Ví dụ tìm theo 3 điều kiện, tên phải có chứ "TI" , "Arteche" và "NT". Sẽ tìm ra 1 list hàng mà tên có chứa 3 chuỗi kia. Công thức cho phép tự động tìm và đặt xuống các row bên dưới ô chứa điều kiện.

Chi tiết đề nghị mọi người xem file ví dụ.
Mình cảm ơn nhiều.

Vấn đề này không biết nên post vào box "Xử lý chuỗi ký tự" hay "Tìm kiếm, dò tìm và tham chiếu" nữa, liều post vào đây nếu mod thấy không hợp thì di chuyển giúp mình nhé.

1 cột phụ ở sheet XNT (Cột H)
3 ô điều kiện trong sheet THONGKE (I1:K1)
Dùng công thức để lọc theo các điều kiện vùng I1:K1
 

File đính kèm

  • vidulocdata1.rar
    9.9 KB · Đọc: 14
1 cột phụ ở sheet XNT (Cột H)
3 ô điều kiện trong sheet THONGKE (I1:K1)
Dùng công thức để lọc theo các điều kiện vùng I1:K1
Dùng FIND coi chừng có phân biệt hoa thường à nghen
Thêm nữa, FIND và SEARCH mất công phải bẫy lỗi ---> COUNTIF tốt và ngắn gọn hơn rất nhiều
 
Mình cảm ơn tất cả các bạn đã quan tâm giúp đỡ. Nhưng có vẻ mọi người hiểu sai ý mình. Mình muốn :
1, trả kết quả lọc về sheet Thongke chứ không phải làm luôn trong sheet NXT. kết quả này bao gồm cả số liệu các cột ĐVT, số lượng.
2, tìm với điều kiện CHỈ TRONG 1 Ô thôi, chứ không phải đưa riêng ra mấy ô khác.
3, Kết quả phải giống như trong sheet Thongke của file ví dụ đưa lên ấy (số liệu này là mình làm thủ công, tức là chỉ xoá đi các hàng không đúng yêu cầu). Trong đó mục tên hàng hoá tìm được phải có đầy đủ các chuỗi đặt trong dấu "" ngăn cách bởi khoảng trống, chúng xuất hiện ngẫu nhiên ở trong tên hàng hoá và một số trường hợp đi liền vào với nhau không có khoảng trống ngăn cách ở giữa.

Ba Tê đã viết:
1 cột phụ ở sheet XNT (Cột H)
3 ô điều kiện trong sheet THONGKE (I1:K1)
Dùng công thức để lọc theo các điều kiện vùng I1:K1

em thấy sheet Thongke kết quả của anh tìm thiếu ạ. Trong file mẫu của em tìm ra 25 kết quả có đồng thời 3 chuỗi "TI" "Arteche" và "NT" trong tên hàng hoá, mà của anh tìm ra là 1 kết quả. TU thì tìm được nhiều kết quả hơn nhưng chưa hết, ví dụ các ô B25,B26,B27,B78,B79 của sheet NXT đều có chứa "TU" và "35" nhưng không được kê vào trong kết quả của anh ạ. Trong khi các kết quả TU khác của anh không có đồng thời "TU" và "35" nhưng vẫn được liệt kê vào. Anh xem lại hộ em trong file đính kèm nhé, kết quả như thế ạ.


ndu96081631 đã viết:
Sao không dùng COUNIF nhỉ
Điều kiện lọc là công thức mảng sau:
PHP Code:
=AND(COUNTIF($B6,"*"&{"TI","ARTECHE","NT"}&"*"))


Cái nào cho kết quả =TRUE thì lấy
em chưa hiểu công thức lọc của anh ạ. Nó đặt vào đâu ạ?
 
em chưa hiểu công thức lọc của anh ạ. Nó đặt vào đâu ạ?
Mươn file của Ba Tê ;àm cho bạn luôn đây (công thức ấy đặt vào cột H của sheet NXT)
-----------
Thật ra bài này dùng Advanced Filter là nhẹ nhàng nhất, khỏi công thức gì ráo
 

File đính kèm

  • vidulocdata1.rar
    12.3 KB · Đọc: 19
Dùng FIND coi chừng có phân biệt hoa thường à nghen
Thêm nữa, FIND và SEARCH mất công phải bẫy lỗi ---> COUNTIF tốt và ngắn gọn hơn rất nhiều
Thử Countif xem, thấy ngắn hơn một chút.
Thử Công thức mảng xem, ngắn hơn chút nữa.
Được cái là không phân biệt chữ Hoa - Thường,
Cảm ơn ndu...
 

File đính kèm

  • vidulocdata2.rar
    15.5 KB · Đọc: 16
Lần chỉnh sửa cuối:
Tương đối ổn rồi ạ. Thực ra trong giải pháp các anh bày cho em là tìm điều kiện trong vài ô (mỗi ô 1 điều kiện), em lại muốn tìm trong 1 ô có vài điều kiện, nhưng cái này giải quyết dễ thôi em tự làm được ạ! Em cảm ơn các anh nhiều!
Em hỏi thêm chút nữa, có giải pháp không dùng cột phụ bên sheet NXT được không ạ? Tức là ta giữ nguyên bản sheet NXT mà vẫn lọc được sang sheet Thongke theo yêu cầu cũ ạ? Em không thích dùng Advanced Filter lắm -\\/.
 
Lần chỉnh sửa cuối:
Tương đối ổn rồi ạ. Thực ra trong giải pháp các anh bày cho em là tìm điều kiện trong vài ô (mỗi ô 1 điều kiện), em lại muốn tìm trong 1 ô có vài điều kiện, nhưng cái này giải quyết dễ thôi em tự làm được ạ! Em cảm ơn các anh nhiều!
Em hỏi thêm chút nữa, có giải pháp không dùng cột phụ bên sheet NXT được không ạ? Tức là ta giữ nguyên bản sheet NXT mà vẫn lọc được sang sheet Thongke theo yêu cầu cũ ạ? Em không thích dùng Advanced Filter lắm -\\/.
Muốn giữ nguyên sheet XNT thì chuyển cột phụ sang sheet Thongke, hide nó đi nhìn vẫn đẹp mà.
Dùng công thức mà không dùng cột phụ thì mình chưa nghĩ ra cách nào.
 

File đính kèm

  • vidulocdata3.rar
    21.1 KB · Đọc: 25
Không cột phụ thì dùng name ---> Ai cấm ta cộng 2 cái COUNIF lại với nhau nào
Xem file
Vì điều kiện lọc thay đổi tùy theo người dùng nên phải có các ô điều kiện.
Không biết dùng Name sai hay sao mà sử dụng công thức cho 1000 dòng nó chạy như "RÙA", trong khi dùng công thức như bài #14 nó chạy "như chớp".
Ndu... kiểm tra dùm nhé. Cảm ơn!
 

File đính kèm

  • vidulocdata5.rar
    62.4 KB · Đọc: 14
Vì điều kiện lọc thay đổi tùy theo người dùng nên phải có các ô điều kiện.
Không biết dùng Name sai hay sao mà sử dụng công thức cho 1000 dòng nó chạy như "RÙA", trong khi dùng công thức như bài #14 nó chạy "như chớp".
Ndu... kiểm tra dùm nhé. Cảm ơn!
Name cho 1000 dòng, còn công thức thì bạn chỉ kéo fill có cở 100 dòng thôi, sao so sánh được
 
Ba Tê đã viết:
quote_icon.png
Nguyên văn bởi ndu96081631
Name cho 1000 dòng, còn công thức thì bạn chỉ kéo fill có cở 100 dòng thôi, sao so sánh được



Tôi đã "kéo" thử đến dòng 1000 và thấy dùng công thức vẫn nhanh hơn.


Vâng ạ. Cái file NXT của em nó có đến ~3300 record cho ngần đấy loại hàng hoá khác nhau nên cần hỏi công thức. Em chạy cái Vietkey Tools để chuyển mã unicode cho nó mất đến ~ 5 phút!
Em cảm ơn các anh nhiều, giờ cái nhu cầu thống kê của em có nhiều giải pháp đáp ứng rồi, hì !
 
Web KT
Back
Top Bottom