Trong Excel, Graham đã tạo ra một ma trận tên các cầu thủ cho giải đấu của mình.

Các ô B2: H2 chứa tên của người chơi, cũng như các ô A3: A9. Tại mỗi điểm giao nhau trong ma trận, Graham đặt một chữ “W” hoặc “L” để cho biết liệu trận đấu dẫn đến thắng hay thua cho người chơi trong mỗi hàng. Nếu một người chơi chơi với người khác nhiều hơn một lần, thì một ô chứa “W” hoặc “L” cho mỗi trò chơi. Graham đang băn khoăn không biết có thể sử dụng công thức nào, bắt đầu từ cột I, để chỉ ra số lượng hoặc thắng và thua của mỗi người chơi.

Có một số cách để bạn có được thông tin mong muốn. Một là sử dụng loại công thức này:

=LEN(SUBSTITUTE(B3&C3&D3&E3&F3&G3&H3,"L",""))

Công thức này tính số ký tự không phải L trong hàng 3 — nói cách khác là số lần thắng. Nó thực hiện điều này bằng cách nối các nội dung của B3: H3, rồi sử dụng hàm SUBSTITUTE để loại bỏ tất cả các Ls. Điều này để lại các W, được tính bằng hàm LEN. Bạn cũng có thể sử dụng hàm CONCATENATE, theo cách sau, cho kết quả tương tự:

=LEN(SUBSTITUTE(CONCATENATE(B3,C3,D3,E3,F3,G3,H3),"L",""))

Để tính toán số lượng tổn thất, chỉ cần thay thế “L” trong mỗi công thức bằng “W”.

Bạn cũng có thể sử dụng công thức mảng, cho phép bạn chỉ định một phạm vi ô để kiểm tra, thay vì cần chỉ định từng ô đơn lẻ:

=SUM(LEN(SUBSTITUTE(B3:H3, "L","")))

Công thức mảng này, được nhập bằng cách nhấn Shift + Ctrl + Enter, trả về số chiến thắng (W ký tự) trong phạm vi B3: H3.

Cuối cùng, bạn có thể sử dụng một hàm do người dùng xác định để trả về số lần xuất hiện của một ký tự cụ thể trong một phạm vi nhất định. Macro sau sẽ thực hiện thủ thuật:

Function CharNums(r, chr) As Integer     Dim c As Range     Dim strX As String     Dim J As Integer

Application.Volatile     CharNums = 0     For Each c In r.Cells         strX = c.Value         For J = 1 To Len(strX)

If Mid(strX, J, 1) = chr Then CharNums = CharNums + 1         Next J     Next c End Function

Để sử dụng hàm, bạn sẽ cho chúng tôi một công thức như thế này trong trang tính của bạn:

=CharNums(B3:H3;"W")

Hàm trả về số ký tự W viết hoa trong phạm vi.

Tất cả các ký tự khác (kể cả ký tự w viết thường) đều bị bỏ qua. Để tính khoản lỗ, chỉ cần thay L bằng W trong công thức.

_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 (3049) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy 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: