Tại nơi làm việc, Mark thường xuyên phải đếm số dấu phẩy trong một loạt các ô đã chọn. Anh ta không thể tìm thấy một hàm Excel để thực hiện loại tác vụ này và đang tự hỏi liệu một macro có thể thực hiện thủ thuật này hay không.

Mặc dù không có hàm trang tính nào tạo ra số lượng mong muốn, nhưng bạn có thể sử dụng một hoặc hai công thức. Nếu bạn chỉ muốn biết số ô có ít nhất một dấu phẩy trong đó, công thức sau sẽ hoạt động tốt:

=COUNTIF(A1:A10,",")

Thay vào đó, nếu bạn cần tìm ra số dấu phẩy trong phạm vi khi có thể có nhiều dấu phẩy trên mỗi ô, thì bạn cần sử dụng một công thức khác:

=SUM(LEN(A1:A10))-SUM(LEN(SUBSTITUTE(A1:A10,",","")))

Công thức này phải được nhập dưới dạng công thức mảng, có nghĩa là bạn nên sử dụng Ctrl + Shift + Enter để nhập công thức. Nếu bạn cần tính số đếm cho một phạm vi khác, chỉ cần thay đổi phạm vi ở hai vị trí trong công thức.

Nếu muốn, bạn cũng có thể tạo một hàm do người dùng xác định để đếm số dấu phẩy. Có nhiều cách để tiếp cận một nhiệm vụ như vậy; sau đây chỉ là một ví dụ.

Function CountComma(rng As Range)

Dim iCount As Integer     Dim rCell As Range     Dim sTemp As String

Application.Volatile     iCount = 0     For Each rCell In rng         sTemp = Application.WorksheetFunction. _           Substitute(rCell.Value, ",", "")

iCount = iCount + _           (Len(rCell.Value) - Len(sTemp))

Next     CountComma = iCount     Set rCell = Nothing     Set rng = Nothing End Function

Để sử dụng hàm trong trang tính, hãy nhập thông tin sau vào ô:

=CountComma(A1:A10)

Tất cả các phương pháp này được mô tả cho đến nay sẽ đếm dấu phẩy thực sự có trong ô. Họ sẽ không đếm dấu phẩy xuất hiện trong ô do định dạng. Ví dụ: nếu một số xuất hiện dưới dạng “1,234” trong một ô, rất có thể dấu phẩy ở đó do cách ô được định dạng; nó không thực sự nằm trong chính tế bào.

Những dấu phẩy như vậy không được tính.

Tất nhiên, nếu tất cả những gì bạn cần làm là biết số lượng dấu phẩy và bạn không cần giá trị trong trang tính của mình, bạn có thể bỏ qua việc sử dụng tất cả các công thức và macro. Làm theo các bước chung sau:

  1. Chọn phạm vi ô mà bạn muốn đếm dấu phẩy.

  2. Nhấn Ctrl + H để hiển thị tab Thay thế của hộp thoại Tìm và Thay thế.

  3. Trong hộp Tìm gì, hãy nhập dấu phẩy.

  4. Trong hộp Thay thế Bằng, hãy nhập dấu phẩy.

  5. Nhấp vào Thay thế Tất cả.

Excel thực hiện việc thay thế và hiển thị một hộp thoại cho biết số lượng thay thế đã được thực hiện.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (3460) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: