Vấn đề đếm theo điều kiện.

Liên hệ QC

Hoàng Trọng Nghĩa

Chuyên gia GPE
Thành viên BQT
Moderator
Tham gia
17/8/08
Bài viết
8,662
Được thích
16,720
Giới tính
Nam
Kính nhờ các Thầy Cô, Anh Chị giúp đỡ. Có một thành viên nhờ tôi làm dùm công thức tính dưới đây mà tôi không thể thực hiện được nên nhờ diễn đàn giúp đỡ.
Trong một cột, mỗi ô có giá trị tương ứng như: 21, 23, 35CN, 24CN, 46CN, 55CN, 60CN, 45... đại loại là có dạng số và có dạng chuỗi xen kẻ.
Thành viên này muốn ĐẾM CÁC GIÁ TRỊ CÓ ĐUÔI LÀ CN VÀ CÓ GIÁ TRỊ TỪ 46CN TRỞ LÊN.
Cám ơn mọi sự giúp đỡ, hướng dẫn của các Thầy Cô, Anh, Chị.
 
Kính nhờ các Thầy Cô, Anh Chị giúp đỡ. Có một thành viên nhờ tôi làm dùm công thức tính dưới đây mà tôi không thể thực hiện được nên nhờ diễn đàn giúp đỡ.
Trong một cột, mỗi ô có giá trị tương ứng như: 21, 23, 35CN, 24CN, 46CN, 55CN, 60CN, 45... đại loại là có dạng số và có dạng chuỗi xen kẻ.
Thành viên này muốn ĐẾM CÁC GIÁ TRỊ CÓ ĐUÔI LÀ CN VÀ CÓ GIÁ TRỊ TỪ 46CN TRỞ LÊN.
Cám ơn mọi sự giúp đỡ, hướng dẫn của các Thầy Cô, Anh, Chị.
Anh thử thay thành công thức này xem sao?
=SUMPRODUCT((VALUE(LEFT($A$1:$A$9,2))>=46)*(RIGHT($A$1:$A$9,2)="CN")*1)
Tham khảo thêm file đính kèm.
PM:không biết đúng ý không nữa nếu ko đúng Mọi người giúp tiếp nhé.
 
Lần chỉnh sửa cuối:
Anh thử thay thành công thức này xem sao?

Tham khảo thêm file đính kèm.
PM:không biết đúng ý không nữa nếu ko đúng Mọi người giúp tiếp nhé.

Cám ơn Khoa nhiều nhé, nhưng còn 1 vấn đề bị #Value vì khi gặp hàng trống, tức là các giá trị không liền nhau thì bị lỗi. Vậy khắc phục bằng cách nào nhỉ?
 
Cám ơn Khoa nhiều nhé, nhưng còn 1 vấn đề bị #Value vì khi gặp hàng trống, tức là các giá trị không liền nhau thì bị lỗi. Vậy khắc phục bằng cách nào nhỉ?
Hic ngồi mãi làm theo câu bác hỏi, nghĩ mãi hàm ko được nên chắc cái này dùng VBA thì đúng hơn nhưng làm hoài mãi nó cứ báo lỗi hoài bác ạ.
em làm thế này nhưng ko đc bác nè:
Sub Macro2()
[a:a].SpecialCells(2).Copy [b1]
Dim a As Range
a = Range(ActiveCell, ActiveCell.End(xlDown)).Select
Range("c1").Value = WorksheetFunction.SumProduct((VALUE(LEFT(a,2))>=46)*(RIGHT(a,2))="CN")*1)
End Sub
Nhờ mọi người xem xét giúp ạ. Cảm ơn mọi người
 
Cám ơn Khoa nhiều nhé, nhưng còn 1 vấn đề bị #Value vì khi gặp hàng trống, tức là các giá trị không liền nhau thì bị lỗi. Vậy khắc phục bằng cách nào nhỉ?
Vậy làm tạm "zì" nếu đúng dữ liệu như thế ( nếu đổi kiểu dữ liệu phải nói à nha)
Public Function tong(vung As Range) As Integer
Dim cl As Range
Dim kq As Integer
For Each cl In vung
If Val(Left(cl, 2)) > 46 And Right(cl, 2) = "CN" Then kq = kq + 1
Next
tong = kq
End Function
 
Nếu dùng Code thì thế này
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    Tong = 0
    For i = 1 To [A65000].End(xlUp).Row
        If Left(Range("A" & i), 2) >= 46 And Right(Range("A" & i), 2) = "CN" Then
            Tong = Tong + 1
        End If
    Next
    Range("C10") = Tong
End Sub
 
Chỉnh sửa lần cuối bởi điều hành viên:
Hic ngồi mãi làm theo câu bác hỏi, nghĩ mãi hàm ko được nên chắc cái này dùng VBA thì đúng hơn nhưng làm hoài mãi nó cứ báo lỗi hoài bác ạ.
em làm thế này nhưng ko đc bác nè:

Nhờ mọi người xem xét giúp ạ. Cảm ơn mọi người
Chài ai...
Sao lại không được chứ
PHP:
=SUMPRODUCT(1*(IF(RIGHT($A$1:$A$30,2)="CN",1*LEFT($A$1:$A$30,LEN($A$1:$A$30)-2),0)>46))
Ctrl + Shift + Enter nhé
-------------------
Nếu viết code thì ai lại viết kỳ cục thế kia ---> Viết thành 1 UDF thì hay hơn!
 
Web KT

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

Back
Top Bottom