Giúp Công thức hoặc code Function Đếm nhiều ô trong excel (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

congnguyen88

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
22/7/14
Bài viết
355
Được thích
31
Chào anh chị. Hiện e chỉ biết hàm Len chỉ đếm được 1 ô. Muốn đếm được nhiều ô, em đang đếm từng ô sau đó cộng lại. . Có cách nào khắc phục không mọi người. Mong mọi người chỉ giáo. em xin cảm ơn các anh chị thầy
1585202907237.png
 
=Sum(Len($A$1:$B$3))
Hàm mảng (Ctrl+Shift+Enter)
 
Upvote 0
Chào anh chị. Hiện e chỉ biết hàm Len chỉ đếm được 1 ô. Muốn đếm được nhiều ô, em đang đếm từng ô sau đó cộng lại. . Có cách nào khắc phục không mọi người. Mong mọi người chỉ giáo. em xin cảm ơn các anh chị thầy
View attachment 234082
Nếu trong vùng dữ liệu mà có ô bị lỗi thì tính len = bao nhiêu?
 
Upvote 0
=Sum(Len($A$1:$B$3))
Hàm mảng (Ctrl+Shift+Enter)
Em cảm ơn thầy. nhờ thầy sữa giúp Funtion sao nó không chạy

Mã:
Function demtong(cell As Range)
   demtong = FormulaArray(Application.Sum(Application.Len(cell)))
End Function
Bài đã được tự động gộp:

Nếu trong vùng dữ liệu mà có ô bị lỗi thì tính len = bao nhiêu?
Bỏ qua lổi Thầy. nếu ô nào lổi thì = 0
1585203999399.png
 
Upvote 0
Chào anh chị. Hiện e chỉ biết hàm Len chỉ đếm được 1 ô. Muốn đếm được nhiều ô, em đang đếm từng ô sau đó cộng lại. . Có cách nào khắc phục không mọi người. Mong mọi người chỉ giáo. em xin cảm ơn các anh chị thầy
View attachment 234082
Thử công thức sau, chơi Enter cho đỡ ì ạch.
=SUMPRODUCT(LEN(A1:B3))
 
Lần chỉnh sửa cuối:
Upvote 0
Em cảm ơn thầy. nhờ thầy sữa giúp Funtion sao nó không chạy

Mã:
Function demtong(cell As Range)
   demtong = FormulaArray(Application.Sum(Application.Len(cell)))
End Function
Bài đã được tự động gộp:


Bỏ qua lổi Thầy. nếu ô nào lổi thì = 0
View attachment 234086
Sai cả thúng luôn bạn à
Tôi chưa làm vội vì còn phải hỏi lại bạn lần nữa: Giả sửa dữ liệu giống như trên nhưng cell A1 có công thức =1/3 thì kết quả bạn cần sẽ là bao nhiêu?
 
Upvote 0
Thử công thức sau, chơi Enter cho đỡ ì ạch.
=SUMPRODUCT(LEN(A1:B3))
cảm ơn thầy. Nhưng em muốn thêm 1 điều kiện nữa . nếu ô nào trong đó Lổi Name, Div...thì ô đó = 0. Cũng giống như Sum, ô nào lổi sẽ bỏ qua
Bài đã được tự động gộp:

Sai cả thúng luôn bạn à
Tôi chưa làm vội vì còn phải hỏi lại bạn lần nữa: Giả sửa dữ liệu giống như trên nhưng cell A1 có công thức =1/3 thì kết quả bạn cần sẽ là bao nhiêu?
1/3 thì 0.33 em dùng hàm len thì nó ra 17, Thì =17 , Có điều cái bảng em áp dụng toàn là Chữ ( text) không à.
 
Upvote 0
cảm ơn thầy. Nhưng em muốn thêm 1 điều kiện nữa . nếu ô nào trong đó Lổi Name, Div...thì ô đó = 0. Cũng giống như Sum, ô nào lổi sẽ bỏ qua
Bài đã được tự động gộp:


1/3 thì 0.33 em dùng hàm len thì nó ra 17, Thì =17 , Có điều cái bảng em áp dụng toàn là Chữ ( text) không à.
Vậy thì vầy đi:
Mã:
Function SumLen(ParamArray Arrays()) As Long
  Dim aTmp, item
  Dim idx As Long, lSum As Long
  'On Error Resume Next
  For idx = LBound(Arrays) To UBound(Arrays)
    aTmp = Arrays(idx)
    If Not IsArray(aTmp) Then aTmp = Array(aTmp)
    For Each item In aTmp
      If TypeName(item) <> "Error" Then
        lSum = lSum + Len(CStr(item))
      End If
    Next
  Next
  SumLen = lSum
End Function
Hàm này đếm được mảng, vùng dữ liệu và đếm được nhiều vùng cùng lúc nha bạn
Thử xem còn lỗi nào không?
 
Upvote 0
Vậy thì vầy đi:
Mã:
Function SumLen(ParamArray Arrays()) As Long
  Dim aTmp, item
  Dim idx As Long, lSum As Long
  'On Error Resume Next
  For idx = LBound(Arrays) To UBound(Arrays)
    aTmp = Arrays(idx)
    If Not IsArray(aTmp) Then aTmp = Array(aTmp)
    For Each item In aTmp
      If TypeName(item) <> "Error" Then
        lSum = lSum + Len(CStr(item))
      End If
    Next
  Next
  SumLen = lSum
End Function
Hàm này đếm được mảng, vùng dữ liệu và đếm được nhiều vùng cùng lúc nha bạn
Thử xem còn lỗi nào không?

Chính xác tuyệt đối rồi thầy ơi. Em test đủ các kiểu. code rất nhanh. cãm ơn thầy nhiều
 
Upvote 0
@congnguyen88 :
Bạn thử dùng:
PHP:
Sub Test()
    Dim LR As Long
    MsgBox Range("A1:B" & Cells(Rows.Count, 1).End(3).Row).SpecialCells(xlCellTypeConstants, 7).Count
    Range("D1").Value = Range("A1:B" & Cells(Rows.Count, 1).End(3).Row).SpecialCells(xlCellTypeConstants, 7).Count
End Sub
cái này là đếm tổng ký tự của từng ô sau đó Sum lại. chứ không phải count Anh nhé
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom