lechuongduong
Thành viên mới

- Tham gia
- 26/4/14
- Bài viết
- 9
- Được thích
- 0
Cụ thể là mình dùng hàm substitute rồi dùng hàm count.
Giống như là hàm substitute bên trong count ấy.
Giống như là hàm substitute bên trong count ấy.

Cụ thể là mình dùng hàm substitute rồi dùng hàm count.
Giống như là hàm substitute bên trong count ấy.

Cụ thể bạn làm thế này:Cụ thể thế này:
Ở ô U5 mình công các ô: L1+L3+L5.....
Mình muốn đếm số ô đã được cộng ở ô U5 nên mình đã dùng hàm substitute để đổi dấu + thành dấu ;.
Rồi mình lại dùng hàm counta để đếm số ô đấy.
Vì muốn dùng 1 lần nên mình muốn lồng hàm substitute vào trong counta cho nhanh.
Mong bạn chỉ giúp.

sao lại ra 1 bạn nhỉ..Cụ thể bạn làm thế này:
=Len(U5)-Len(substitute(U5,"+",""))+1




vào mục nào bạn nhỉ./
Function demsohang(a As Range)
Dim s As String, i As Long
s = a.Formula
For i = 1 To Len(s)
If Mid(s, i, 1) = "+" Then
demsohang = demsohang + 1
End If
Next i
End Function



Nếu bỏ phần "demsohang=1" thì công thức phải nhập "=+L1+L3+L5" hay "+L1+L3+L5", khi đó số dấu cộng mới bằng số hạng.Đầu tiên bạn phải enalbe marco. Sau đó kích vào Alt+F11, chọn workbook cần thêm module, insert/module/ chép code trên vào, Tại e xel đánh =đếm số hàng ( ở cần đếm)PHP:Function demsohang(a As Range) Dim s As String, i As Long s = a.Formula For i = 1 To Len(s) If Mid(s, i, 1) = "+" Then demsohang = demsohang + 1 End If Next i End Function
Công thức của Bùi Kiệm chắc không được vì nó áp dụng cho ký tự trong ô thôi, còn + ở đây là toán tử rồi.
Của Duy ở trên bỏ dem so hang=1 là ok
http://www.giaiphapexcel.com/forum/...ẫn-Enable-Macros-trong-Excel-(2003-2007-2010)
Đây là cách enable marco bạn nhé

Sorry bạn, đọc lại đề bài thấy tác giả yêu cầu đếm ô, mình đang nhầm là đếm dấu +. Vậy dùng công thức ban đầu của Duy là okNếu bỏ phần "demsohang=1" thì công thức phải nhập "=+L1+L3+L5" hay "+L1+L3+L5", khi đó số dấu cộng mới bằng số hạng.
Vì công thức ban đầu là "L1+L3+L5" nên số hạng của phép cộng bằng số "+" cộng với 1.
Tùy bạn lechuongduong chọn nhé.
Sai rồi hả, vậy bạn dùng cái này:sao lại ra 1 bạn nhỉ..
mình cần là số lượng ô đã cộng ấy..như ví dụ của mình là nó phải 3 chẳng hạn vì mình đã công L1+L3+L5 rồi./
Function Dem(Cll As Range)
Dem = Len(Cll.Formula) - Len(Replace(Cll.Formula, "+", "")) + 1
End Function

Đoạn này chắc ngon roài vì có thuộc tính Formula rồiSai rồi hả, vậy bạn dùng cái này:
Mã:Function Dem(Cll As Range) Dem = Len(Cll.Formula) - Len(Replace(Cll.Formula, "+", "")) + 1 End Function
(LEN(Chuỗi gốc)- LEN(SUBSTITUTE(Chuỗi gốc, Chuỗi cần đếm,"")))/LEN(Chuỗi cần đếm)
(LEN(Chuỗi gốc)- LEN(SUBSTITUTE(Upper(Chuỗi gốc), Upper(Chuỗi cần đếm),"")))/LEN(Chuỗi cần đếm)
(LEN(Chuỗi gốc)- LEN(SUBSTITUTE(Lower(Chuỗi gốc), Lower(Chuỗi cần đếm),"")))/LEN(Chuỗi cần đếm)