Đếm các ô phân biệt chữ hoa và chữ thường trong Excel

Bài này mình sẽ hướng dẫn các bạn cách đếm các ô trong Excel, với điều kiện so sánh với một giá trị nào đó và có phân biệt chữ in hoa và chữ in thường.

Ví dụ: Đếm tất cả những ô có nội dung là Freetuts sẽ khác với đếm những ô có nội dung là freetuts.

Đề bài

Cho form dữ liệu như hình dưới đây.

dem cac o phan biet in hoa JPG

Yêu cầu: Đếm tất cả những ô trong khoảng B5:B11 thỏa điều kiện bằng với giá trị ở cột D, in ra kết quả ở cột E tương ứng.

Như trong ví dụ trên thì:

  • Có 3 ô chứa nội dung là ayako.
  • Có 1 ô chứa nội dung là Ayako.
  • Có 2 ô chứa nội dung là mark.
  • Có 1 ô chứa nội dung là Mark.

Bài giải

Bước 1: Phân tích các hàm cần dùng để giải bài này.

Để xác định chính xác một chuỗi có phân biệt chữ hoa chữ thường thì ta phải dùng hàm EXACT, nó sẽ trả về TRUE nếu hai chuỗi truyền vào giống nhau, ngược lại nó sẽ trả về FALSE.

Dùng hàm SUMPRODUCT để đếm tổng số lần xuất hiện vì kết quả của hàm EXACT trả về là một mảng. Nếu bạn dùng hàm SUM thì phải sử dụng phím CTR + SHIFT + ENTER để kích hoạt lệnh thì mới chính xác.

Mình sẽ giải thích kỹ hơn ở phần giải thích nhé.

Bước 2: Xác định công thức.

Mình sẽ viết công thức cho ô E5 trước nhé.

=SUMPRODUCT((--EXACT(D5,B5:B11)))

Bước 3: Nhập công thức trên vào ô E5 và nhấn Enter, bạn sẽ thu được kết quả là 3.

Bây giờ bạn hãy thử kéo công thức từ E5 xuống E6 và E7 thì sẽ thấy công thức có chút thay đổi như sau.

=> Tại ô E6:

=SUMPRODUCT((--EXACT(D6,B6:B12)))

=> Tại ô E7:

=SUMPRODUCT((--EXACT(D7,B7:B13)))

Thay đổi làm làm cho kết quả hai ô E6E7 bị sai. Lý do là Excel tự hiểu và tự thay đổi thứ tự các ô bằng cách tăng lên 1, làm dãy các ô cần tìm B5:B11 bị sai lệch.

Để khắc phục thì ta chỉ cần thêm ký tự đô la $ đằng trước mỗi ký tự của dãy B5:B11, lúc này công thức sẽ là:

=SUMPRODUCT((--EXACT(D5,$B$5:$B$11)))

Và khi bạn dùng chuột kéo công thức xuống hai ô phía dưới thì nó hoạt động chính xác:

=> Tại ô E6:

=SUMPRODUCT((--EXACT(D6,$B$5:$B$11)))

=> Tại ô E7:

=SUMPRODUCT((--EXACT(D7,$B$5:$B$11)))

Giải thích

Xét công thức chuẩn ban đầu là: =SUMPRODUCT((--EXACT(D5,B5:B11))).

Hàm EXACT sẽ trả về một mảng gồm: {FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE}

Tức là ô nào TRUE là giống nhau, FALSE là khác nhau. Vì vậy mỗi phần tử TRUE ta sẽ tăng tổng số ô phù hợp lên 1.

Nhưng các phần tử trong mảng mà hàm EXACT trả về là kiểu Boolean, vì vậy ta dùng hai dấu trừ để chuyển kiểu boolean thành số: --{FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE}.

Kết quả sẽ là: {0;0;0;0;1;1;1}, 0 tương ứng với FALSE 1 tương ứng với TRUE.

Lúc này hàm SUMPRODUCT sẽ đếm mảng này và trả về 3.

Nguồn: freetuts.net

Danh sách bài tập đếm có lời giải
Đếm các ô có ngày nằm trong khoảng bằng Excel
Đếm các ô có số nằm trong khoảng bằng Excel
Đếm các ô có giá trị bằng một giá trị nào đó trong Excel
Đếm các ô phân biệt chữ hoa và chữ thường trong Excel
Đếm các ô có giá trị là x hoặc y trong Excel