Đếm một ký tự cụ thể trong Google Sheets

Đếm một ký tự cụ thể trong Google Sheets có thể được thực hiện bằng cách sử dụng các công thức kết hợp. Ký tự cụ thể có thể là chữ cái (phân biệt hoa thường hoặc không phân biệt), số, ký tự đặc biệt như dấu chấm phẩy, dấu ngã, khoảng trắng, dòng mới, v.v.

Ở đây, chúng ta sẽ xem xét hai loại kết hợp (công thức) để thực hiện việc này. Một là sử dụng biểu thức chính quy (regular expressions) và hai là không sử dụng biểu thức chính quy. Tuy nhiên, cả hai công thức đều sử dụng hàm Len. Điều tốt là công thức sau cũng hoạt động trong Excel.

Nếu bạn là người dùng Google Sheets hoặc Excel, bạn có thể sử dụng công thức của tôi để đếm các ký tự cụ thể trong Bảng tính của bạn.

Vậy tại sao chúng ta nên đếm một ký tự cụ thể trong một Bảng tính?

Điều này tùy thuộc vào mục đích sử dụng. Với tôi, tôi sẽ sử dụng nó để thay thế một trường hợp cụ thể của một ký tự trong một chuỗi.

Bạn muốn một giải thích chi tiết?

Ví dụ, nếu một dấu phẩy xuất hiện 10 lần trong một chuỗi, tôi có thể thay thế dấu phẩy thứ năm đó bằng một dấu phân cách khác để chia chuỗi tại điểm cụ thể đó. Tôi sẽ giải thích nó trong một bài hướng dẫn khác.

Đếm một ký tự cụ thể trong một ô trong Google Sheets

Hãy bắt đầu với công thức kết hợp đầu tiên, tức là Sửa đổi (Substitute) và Len, vì nó hoạt động trong cả hai ứng dụng Bảng tính phổ biến – Excel và Google Sheets.

Để đếm tổng số ký tự trong một chuỗi, chúng ta có hàm LEN trong Google Sheets/Excel. Những chuyên gia thường sử dụng nó trong các công thức để loại trừ các ô trống.

Một điều cần lưu ý ở đây là hàm này không thuộc loại công thức kết hợp đếm một ký tự cụ thể trong Google Sheets.

Ví dụ, giả sử ô C5 chứa chuỗi “Thông tin cảm hứng”. Công thức =len(C5) sẽ trả về 13, tức là số ký tự trong ô C5.

Bây giờ, thử công thức ISBLANK này (nó không phải là một phần của công thức kết hợp chúng ta sử dụng để đếm một ký tự cụ thể trong Google Sheets).

=isblank(C5)

Sử dụng LEN, chúng ta có thể thay thế công thức trên như sau.

=if(len(C5),FALSE,TRUE)

Quay lại chủ đề và hãy xem cách sử dụng kết hợp Sửa đổi và Len để đếm một ký tự cụ thể trong Google Sheets.

Ô A2 chứa chuỗi sau đây.

Tháng 5 | Tháng 6 | Tháng 7 | Tháng 8 | Tháng 9

Chúng ta muốn đếm số ký tự | là ký tự phân cách trong chuỗi đã nêu. Dưới đây là các bước.

Sử dụng hàm Len sau đây, chúng ta có thể lấy tổng số ký tự trong ô A2. Ở đây, nó sẽ là 38.

=len(A2)

Bây giờ điều chúng ta muốn là Sửa đổi ký tự | thành null và lấy độ dài của các ký tự bằng công thức sau đây.

=LEN(SUBSTITUTE(A2,"|",""))

Nó sẽ trả về 34. Vì vậy, số ký tự cụ thể sẽ là 38-34=4. Chúng ta có thể viết công thức kết hợp như sau.

=LEN(A2)- LEN(SUBSTITUTE(A2,"|",""))

Sử dụng Regex và Len

Nếu chúng ta có thể sử dụng Sửa đổi để thay thế ký tự cụ thể để đếm, tại sao chúng ta không sử dụng Regexreplace?

Chúng ta có thể làm điều đó! Nhưng ở đây, chúng ta sẽ tuân theo một phương pháp khác.

Thay vì thay thế ký tự cụ thể, chúng ta sẽ thay thế tất cả các ký tự khác trong chuỗi và đếm số ký tự còn lại bằng cách sử dụng Len.

=len(regexreplace(A2,"[^|]",""))

Lưu ý: Công thức này sẽ không hoạt động trong Excel.

Cả hai công thức kết hợp trên đều phân biệt chữ hoa chữ thường. Để chúng trở thành không phân biệt chữ hoa chữ thường, sử dụng các công thức sau đây.

Công thức không phân biệt chữ hoa chữ thường để đếm một ký tự cụ thể:

Đếm chữ “a” (cả chữ thường và chữ hoa) trong chuỗi ababAbAaaa.

Trong kết hợp của Len và Sửa đổi, chúng ta có thể chuyển giá trị ô thành chữ thường và sử dụng chữ thường để thay thế.

=LEN(A2)- LEN(SUBSTITUTE(lower(A2),"a",""))

Trong kết hợp của Len và Regexreplace, chúng ta có thể sử dụng biểu thức chính quy (?i) như sau.

=len(regexreplace(A2,"(?i)[^a]",""))

Đếm một ký tự cụ thể trong một dải ô trong Google Sheets

Chúng ta đã thảo luận về việc đếm số ký tự cũng như một ký tự cụ thể trong một ô duy nhất hoặc chúng ta có thể nói là trong một chuỗi trong một ô. Vậy dải ô thì sao?

Vì tất cả các hàm chúng ta đã sử dụng (Len, Sửa đổi, Regerepalce và Lower) đều hỗ trợ hàm ArrayFormula của Google Sheets, chúng ta có thể biến hai kết hợp thành công thức mảng.

Ngoài ra, chúng ta phải sử dụng hàm Tổng. Tại sao?

Có một vài tên các loại trái cây trong phạm vi A2:B4. Chúng ta muốn đếm tổng số lần xuất hiện của ký tự “a” trong phạm vi này.

Công thức # 1:

=ArrayFormula(SUM(LEN(A2:B4))-SUM(LEN(SUBSTITUTE(A2:B4,"a",""))))

Công thức # 2:

=ArrayFormula(SUM(len(regexreplace(A2:B4,"[^a]",""))))

Hàm Len trong cả hai công thức trên trả về độ dài trong một phạm vi. Vì vậy, sử dụng Sum chúng ta có thể lấy tổng độ dài.

Các công thức trên đều phân biệt chữ hoa chữ thường. Để làm cho chúng không phân biệt chữ hoa chữ thường, sử dụng công thức phi mảng của tôi.

Kết luận

Dưới đây là một số công thức sẵn sàng sử dụng cho bạn.

Đếm tổng số ký tự trống trong một ô:

Công thức # 1:

=LEN(A2)- LEN(SUBSTITUTE(A2," ",""))

Công thức # 2:

=len(regexreplace(A2,"[^s]",""))

Đếm tổng số dòng mới trong một ô:

Công thức # 1:

=LEN(A3)- LEN(SUBSTITUTE(A3,char(10),""))

Công thức # 2:

=len(regexreplace(A3,"[^n]",""))

Bạn cũng có thể sử dụng các công thức này như các công thức mảng. Đó là tất cả những gì chúng ta cần biết về cách đếm một ký tự cụ thể trong Google Sheets. Thực sự thú vị!

Related posts