Đếm chuỗi có điều kiện

Liên hệ QC

vanduynguyen1983

Thành viên hoạt động
Tham gia
21/6/13
Bài viết
101
Được thích
8
Rất mong mọi người giúp mình làm hàm sum text lại. mình đính kèm file mong mọi coi giúp mình với
VD1: x x x 1/2x =3.5
VD2: x x x 1/2x x 1/2x =5
 

File đính kèm

  • hoi exel.xls
    22.5 KB · Đọc: 29
Rất mong mọi người giúp mình làm hàm sum text lại. mình đính kèm file mong mọi coi giúp mình với
VD1: x x x 1/2x =3.5
VD2: x x x 1/2x x 1/2x =5

Dùng COUNTIF dễ hiểu nhất
Mã:
=[COLOR=#ff0000]COUNTIF(A2:G2,"x")[/COLOR]+[COLOR=#0000cd]COUNTIF(A2:G2,"1/2x")[/COLOR]/2
- Đếm những "thằng" có chữ "x" ---> (kết quả 1)
- Đếm những "thằng" có chữ "1/2x" ---> Kết quả được bao nhiêu đem chia cho 2 ---> (kết quả 2)
- Lấy (kết quả 1) cộng với (kết quả 2) ra được kết quả ta cần
 
Các pro cho hỏi thế nếu có nhiều số khác như 3/4x hay 5/8x thì sao? Làm sao tính tổng được hay phải làm một loại hàm countif? Hướng xử lý là cộng các giá trị số đằng trước ký tự chuỗi (x) lại, nếu là khoảng trắng thì mặc định là 1=> mà em chưa tìm được hàm :)
 
Các pro cho hỏi thế nếu có nhiều số khác như 3/4x hay 5/8x thì sao? Làm sao tính tổng được hay phải làm một loại hàm countif? Hướng xử lý là cộng các giá trị số đằng trước ký tự chuỗi (x) lại, nếu là khoảng trắng thì mặc định là 1=> mà em chưa tìm được hàm :)
Đưa File nên có cả kết quả mong muốn kèm theo nữa nhé!
 
FIle và kết quả mong muốn giống như chủ topic này đó anh.Tuy nhiên điều kiện đa dạng hơn chút(vui lòng xem file đính kèm)
 

File đính kèm

  • hoi exel (1).xls
    23.5 KB · Đọc: 19
  • hoi exel (1).xls
    23.5 KB · Đọc: 18
FIle và kết quả mong muốn giống như chủ topic này đó anh.Tuy nhiên điều kiện đa dạng hơn chút(vui lòng xem file đính kèm)
Tôi viết hàm "SUMA" như thế này cho tác giả mà không hiểu sai ở đâu mà kết quả không ra. Mong các thầy, các bạn chỉ ra lỗi dùm và sửa code hộ tôi với!
Mã:
Public Function SUMA(rng As Range) As Long
    Dim cll As Range, tmp As String
For Each cll In rng
    If IsNumeric(Left(cll, 1)) = False Then
        tmp = tmp & "1" & "+"
    Else
        tmp = tmp & Left(cll, 3) & "+"
    End If
Next cll
        tmp = Left(tmp, Len(tmp) - 1)
        SUMA = Evaluate(tmp)
End Function
 

File đính kèm

  • hoi exel .xlsm
    18.5 KB · Đọc: 5
Tôi viết hàm "SUMA" như thế này cho tác giả mà không hiểu sai ở đâu mà kết quả không ra. Mong các thầy, các bạn chỉ ra lỗi dùm và sửa code hộ tôi với!
Mã:
Public Function SUMA(rng As Range) [COLOR=#ff0000]As Long[/COLOR]
    Dim cll As Range, tmp As String
For Each cll In rng
    If IsNumeric(Left(cll, 1)) = False Then
        tmp = tmp & "1" & "+"
    Else
        tmp = tmp & Left(cll, 3) & "+"
    End If
Next cll
        tmp = Left(tmp, Len(tmp) - 1)
        SUMA = Evaluate(tmp)
End Function
Chỗ màu đỏ SAI, kết quả có lấy số thập phân sao lại khai báo kiểu Long
 
Cảm ơn bạn Chuot0106 nhiều, mà anh Ndu96081631 cho em hỏi có viết được hàm này dạng excel không?
 
Có cao thủ nào vào chỉ giáo giúp không ah? viết công thức trên bằng excel được không?
 
Công thức bạn Chuot0106 viết đang đếm cả những ô trống và mặc định bằng 1, vậy bạn có thể vui lòng sửa giúp không. Cảm ơn bạn nhiều.
 

File đính kèm

  • hoi exel (1).xls
    37 KB · Đọc: 4
Web KT

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

Back
Top Bottom