VBA đếm ký tự theo 1 điều kiện (1 người xem)

  • Thread starter Thread starter Dong Le
  • Ngày gửi Ngày gửi
Liên hệ QC

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

Dong Le

Thành viên chính thức
Tham gia
27/4/12
Bài viết
95
Được thích
1
Kính nhờ các bác hổ trợ giúp mình code như file đính kèm với.
 

File đính kèm

Dear anh, Làm sao dùng countifs được ạ? cột F không bao giờ trùng nhau anh ạ. Nếu nó trùng nhau thì mới dùng countifs được.
 
Upvote 0
Dear anh, Làm sao dùng countifs được ạ? cột F không bao giờ trùng nhau anh ạ. Nếu nó trùng nhau thì mới dùng countifs được.

Thế nếu tôi dùng công thức này thì sao:
Mã:
=COUNTIFS($D$5:$D$19,"[COLOR=#ff0000]*ABC[/COLOR]",$G$5:$G$19,"<>")
Là đếm theo kho ABC nha
 
Upvote 0
Thế nếu tôi dùng công thức này thì sao:
Mã:
=COUNTIFS($D$5:$D$19,"[COLOR=#ff0000]*ABC[/COLOR]",$G$5:$G$19,"<>")
Là đếm theo kho ABC nha
Nếu chỉ có *ABC và *BCD thì đơn giản anh, nhưng nếu nó có đến 80 cái như *ABC, *BCD thì ko lẽ ngồi gõ công thức 80 lần ạ?
 
Upvote 0
Nếu chỉ có *ABC và *BCD thì đơn giản anh, nhưng nếu nó có đến 80 cái như *ABC, *BCD thì ko lẽ ngồi gõ công thức 80 lần ạ?

Nếu đã gõ công thức 80 lần --> có khi chắc cũng phải viết code 80 lần mất @_@

*b1: Bạn phải liệt kê xem có bao nhiêu loại kho ( cái này có thể dùng nhiều cách)
* b2:Dùng hàm counifs thử xem
 
Lần chỉnh sửa cuối:
Upvote 0
Nếu chỉ có *ABC và *BCD thì đơn giản anh, nhưng nếu nó có đến 80 cái như *ABC, *BCD thì ko lẽ ngồi gõ công thức 80 lần ạ?

Vậy thì bạn có thể dùng PivotTable để tổng hợp
Thật ra tôi cũng chưa hình dung lắm kết quả mà bạn cần. Vậy bạn có thể gõ toàn bộ kết quả mong muốn vào 1 sheet rồi gửi lên đây tôi xem thử
 
Upvote 0
Nếu đã gõ công thức 80 lần --> có khi chắc cũng phải viết code 80 lần mất @_@

*b1: Bạn phải liệt kê xem có bao nhiêu loại kho ( cái này có thể dùng nhiều cách)
* b2:Dùng hàm counifs thử xem
Vì thực tế em có đến 80 cái kho như vậy anh ạ, nên mới phức tạp, anh có cách nào ngắn gọn hơn giúp em.
 
Upvote 0
Vậy thì bạn có thể dùng PivotTable để tổng hợp
Thật ra tôi cũng chưa hình dung lắm kết quả mà bạn cần. Vậy bạn có thể gõ toàn bộ kết quả mong muốn vào 1 sheet rồi gửi lên đây tôi xem thử
Gửi lại anh file, anh xem giúp em.
 

File đính kèm

Upvote 0
Vì thực tế em có đến 80 cái kho như vậy anh ạ, nên mới phức tạp, anh có cách nào ngắn gọn hơn giúp em.

Trên bảng tính bạn up lên ( BOOK1.xlsm), tại ô D22 bạn gõ công thức sau :
PHP:
=IFERROR(INDEX($D$5:$D$19,MATCH(0,COUNTIF($D$21:D21,$D$5:$D$19),0)),"")
<--- kết thúc bằng ctrl + shift + enter
* Ô E22 bạn nhập công thức sau :
PHP:
=IF(D22<>"",COUNTIFS($D$5:$D$19,"*" & SUBSTITUTE(D22,"KHO",""),$G$5:$G$19,"<>"),"")
< ấn enter>


kéo 2 công thức trên xuống dưới !!
 
Upvote 0
Trên bảng tính bạn up lên ( BOOK1.xlsm), tại ô D22 bạn gõ công thức sau :
PHP:
=IFERROR(INDEX($D$5:$D$19,MATCH(0,COUNTIF($D$21:D21,$D$5:$D$19),0)),"")
<--- kết thúc bằng ctrl + shift + enter
* Ô E22 bạn nhập công thức sau :
PHP:
=IF(D22<>"",COUNTIFS($D$5:$D$19,"*" & SUBSTITUTE(D22,"KHO",""),$G$5:$G$19,"<>"),"")
< ấn enter>


kéo 2 công thức trên xuống dưới !!

Cảm ơn bác, công thức này ok, tuy nhiên công thức mảng nên quét khoảng 10.000 dòng thì hơi bị đuối.
 
Upvote 0
Cảm ơn bác, công thức này ok, tuy nhiên công thức mảng nên quét khoảng 10.000 dòng thì hơi bị đuối.
Vơi 10.000 dòng thì có lẽ phải dùng code vba mới nhanh được,:
Nhìn qua dữ liệu của bạn, bạn có thể nghiên cứu cách dùng scripting.dictionary trên diễn đàn ( các bài đếm dữ liệu trùng này có nhiều rồi )
 
Upvote 0
Dear các bác, Các bác giúp em tìm và liệt kê dữ liệu như sheet bên dưới với.
 

File đính kèm

Upvote 0
Trời đất, đơn giản vậy thì chỉ cần filter là ra.
 
Upvote 0
Filter là đứng ở sheet test mới filter, cái này đang ở sheets khác mà bác. Dùng hàm thì cũng liệt kê được nhưng muốn dung VBA để nhẹ file bác ạ.
 
Upvote 0
Filter là đứng ở sheet test mới filter, cái này đang ở sheets khác mà bác. Dùng hàm thì cũng liệt kê được nhưng muốn dung VBA để nhẹ file bác ạ.

Cái này là lười biếng làm thêm vài động tác chứ đâu phải "cho nhẹ file"

Filter > Copy Visible > Paste qua sheet mới.
Hết

Không có Macro file được nhẹ thêm 1 chút.
 
Upvote 0
Cảm ơn tất cả các anh chị trong topic này, mình đã nghiên cứu được rồi.
 
Upvote 0
Dear các bác, hiện tại mình đã liệt kê dữ liệu từ các sheet khác lên theo điều kiện như file đính kèm, giờ mình muốn xóa dữ liệu này tự động khi mình xóa điều kiện. Các bác giúp mình với.(yêu cầu như trong file đính kèm.)
 

File đính kèm

Upvote 0
Trên bảng tính bạn up lên ( BOOK1.xlsm), tại ô D22 bạn gõ công thức sau :
PHP:
=IFERROR(INDEX($D$5:$D$19,MATCH(0,COUNTIF($D$21:D21,$D$5:$D$19),0)),"")
<--- kết thúc bằng ctrl + shift + enter
* Ô E22 bạn nhập công thức sau :
PHP:
=IF(D22<>"",COUNTIFS($D$5:$D$19,"*" & SUBSTITUTE(D22,"KHO",""),$G$5:$G$19,"<>"),"")
< ấn enter>


kéo 2 công thức trên xuống dưới !!
Dear bác, Bác giúp mình thêm điều kiện trong sheet "Test"
 

File đính kèm

Upvote 0

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

Back
Top Bottom