Đế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.
Bài viết này được đăng tại [free tuts .net]
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 ô E6
và E7
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 và 1 tương ứng với TRUE.
Lúc này hàm SUMPRODUCT sẽ đếm mảng này và trả về 3.
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