Mọi người giúp em tìm lỗi sai khi em sử dụng hàm countif với

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

draven

Thành viên mới
Tham gia
27/3/17
Bài viết
14
Được thích
0
Em copy hết giá trị mã bênh ở cột B sang cột L và sử dụng chức năng Removed duplicates để lọc giá trị trùng
Có tổng cộng 59953 mã bệnh, sau khi em loại bỏ giá trị trùng còn 1353 mã bệnh
Cột L em sử dụng hàm countif để đếm số mã bệnh mà bị lệch mất 23 giá trị.
Các anh chị em giúp em tìm ra lỗi sai của em với ạ
 

File đính kèm

Em copy hết giá trị mã bênh ở cột B sang cột L và sử dụng chức năng Removed duplicates để lọc giá trị trùng
Có tổng cộng 59953 mã bệnh, sau khi em loại bỏ giá trị trùng còn 1353 mã bệnh
Cột L em sử dụng hàm countif để đếm số mã bệnh mà bị lệch mất 23 giá trị.
Các anh chị em giúp em tìm ra lỗi sai của em với ạ
Công thức bạn không sai, sai là do những dòng nó có dấu * ấy khi đếm nó hiểu cứ đoạn đầu giống nhau là được tính. Muốn đúng bạn phải thay hết dấu * đi
1622535175608.png
 
Có mấy mã có dấu * đang sau, Excel hiểu đó là ký tự đại diện. Thêm dấu ngã để đưa nó về ký tự thông thường:

=COUNTIF(B:B,SUBSTITUTE(L2,"*","~*"))
 
Trong cột B:
- G53.0 xuất hiện 13 lần
- G53.0* xuất hiện 11 lần
- N29 xuất hiện 10 lần
- N29* xuất hiện 1 lần.

Trong cột M công thức tính 13 G53.0 là ĐÚNG nhưng tính 24 G53.0* (tại M284) là sai vì nó tính 11 G53.0* và tính thêm cả 13 G53.0 (tại M937). Nguyên do là ký tự đại diện * có nghĩa là KHÔNG CÓ KÝ TỰ NÀO hoặc chuỗi ký tự tùy ý. Với nghĩa KHÔNG CÓ KÝ TỰ NÀO nên công thức đếm thêm 13 G53.0

Trong cột M công thức tính 10 N29 là ĐÚNG nhưng tính 11 N29* (tại M956) là sai vì nó tính 1 N29* và tính thêm cả 10 N29 (tại M148). Nguyên do là ký tự đại diện * có nghĩa là KHÔNG CÓ KÝ TỰ NÀO hoặc chuỗi ký tự tùy ý. Với nghĩa KHÔNG CÓ KÝ TỰ NÀO nên công thức đếm thêm 10 N29

Trong cả hai trường hợp công thức đã đếm thêm 13 (G53.0) + 10 (N29) = 23
 
Cảm ơn các anh chị em của GPE nhiều ạ.
Bài đã được tự động gộp:

Có mấy mã có dấu * đang sau, Excel hiểu đó là ký tự đại diện. Thêm dấu ngã để đưa nó về ký tự thông thường:

=COUNTIF(B:B,SUBSTITUTE(L2,"*","~*"))
Em cảm ơn anh nhiều ạ, anh có thể giải thích giúp em rõ hơn 1 chút đc không ạ?
VD như ở ô L284 là G53.0*, sau khi sử dụng hàm SUBSTITUTE thì thành G53.0~*, thì tại sao hàm countif nó vẫn hiểu đó là giá trị G53.0* được ạ ?
 
Có mấy mã có dấu * đang sau, Excel hiểu đó là ký tự đại diện. Thêm dấu ngã để đưa nó về ký tự thông thường:

=COUNTIF(B:B,SUBSTITUTE(L2,"*","~*"))
Em cứ nghĩ ngon ăn và áp dụng theo công thức của anh nghĩ là nó sẽ làm đc cho trường hợp file gốc, ai ngờ vẫn còn có kí tự gì đó sai sai. Mong anh giúp đỡ và hướng dẫn em với ạ, cảm ơn anh nhiều
 

File đính kèm

Cột D chưa phải duy nhất nhé, còn mã trùng nhau nhiều lắm


A08.0
A09
A15.0
A68
A69.0
B00.1
B00.2
B00.8
B01
B08.4
B16
B17.1
 
Cột D chưa phải duy nhất nhé, còn mã trùng nhau nhiều lắm


A08.0
A09
A15.0
A68
A69.0
B00.1
B00.2
B00.8
B01
B08.4
B16
B17.1
Có 2 loại A08.0 ở cột D liên quan đến Loại BN ở cột E là A08.0 -1 và A08.0 - 2 anh ạ, em sử dụng hàm COUNTIFS(A:A;SUBSTITUTE(D2;"*";"~*");B:B;E2) để đếm nhưng tổng lại bằng 57.608 chứ không 57.356
 
Kiểm tra mã N18 tại cột A, cột BN để trống.
Nếu coi như 1 mã thì sửa công thức 1 chút:

=COUNTIFS(A:A,SUBSTITUTE(D2,"*","~*"),B:B,E2&"")
 
Kiểm tra mã N18 tại cột A, cột BN để trống.
Nếu coi như 1 mã thì sửa công thức 1 chút:

=COUNTIFS(A:A,SUBSTITUTE(D2,"*","~*"),B:B,E2&"")
Wow, nghìn like~
Đến bao giờ em mới đạt được trình độ có thể phát hiện lỗi sai như anh đây, anh có bí quyết gì ko chỉ hướng cho em học với ạ.
Em thì mới chỉ đang dừng ở tọc tạch ở các hàm thôi chứ chưa có điều kiện để học đc VBA. Mong anh chỉ giáo với
 
Wow, nghìn like~
Đến bao giờ em mới đạt được trình độ có thể phát hiện lỗi sai như anh đây, anh có bí quyết gì ko chỉ hướng cho em học với ạ.
Cũng thủ công thôi, chẳng có gì cao xa.
Khi bạn đang tham chiếu đến 10000 dòng, mà gặp lỗi, test 5000 dòng đầu trước để loại trừ. Nếu lỗi không còn thì test tiếp 5000 dòng còn lại.
Nếu có lỗi 5000 dòng đầu, sửa xong mà 5000 dòng sau vẫn còn lỗi, thì tiếp tục như vậy cho 3 hay 4000 dòng chẳng hạn.
 
Cũng thủ công thôi, chẳng có gì cao xa.
Khi bạn đang tham chiếu đến 10000 dòng, mà gặp lỗi, test 5000 dòng đầu trước để loại trừ. Nếu lỗi không còn thì test tiếp 5000 dòng còn lại.
Nếu có lỗi 5000 dòng đầu, sửa xong mà 5000 dòng sau vẫn còn lỗi, thì tiếp tục như vậy cho 3 hay 4000 dòng chẳng hạn.
Cảm ơn anh đã giúp lính mới như em nhiều ạ, em sẽ cố gắng
 
Web KT

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

Back
Top Bottom