Đếm theo điều kiện trong excel

  • Thread starter rosy84
  • Ngày gửi
R

rosy84

Guest
29/10/09
6
0
0
Bac ninh
Anh chị em giúp em viết 1 macro đếm theo điều kiện

Đếm theo điều kiện LWA và WP đựoc coi là giống nhau Nếu nó liên tiếp nhau thì hiển thị kết quả.là tổng của những ô có dữ liệu
Nếu mà cứ cách 1 ô thì lại có 1 ô có kết quả là LWA hoặc WP thì ghi lại là 1 Những thứ còn lại thì không quan tâm.
 

Đính kèm

  • example.rar
    302.8 KB · Lượt xem: 185
Sửa lần cuối:
Khóa học Quản trị dòng tiền
L

loanman

Sơ cấp
8/6/09
20
0
1
56
TpHCM
Cái điều kiện của bạn khó hiểu quá!
 
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
569
100
43
66
HCM city
Bạn này đưa bài lên 2 diễn đàn

Mình cải tiến lần cuối đây; Còn khoảng 0.6-0.7gy

Mã:
Option Explicit
[B]Sub DemLWA_WP()[/B]
 On Error GoTo Loi_
  Dim Rng As Range, Clls As Range, sRng As Range, fRng As Range
  Dim Dem As Byte, Max_ As Byte, MyColor As Byte, So1 As Byte
  Dim Jj As Long, lRow As Long, Timer_ As Double
 
 Application.ScreenUpdating = False
   lRow = Cells.Find(What:="*", After:=Cells(1, 1), SearchOrder:=xlByRows, _
      SearchDirection:=xlPrevious).Row
 Timer_ = Timer()
 For Jj = 6 To lRow
   Set fRng = Rows(Jj).Find("W", , xlFormulas, xlPart)
   If Not fRng Is Nothing Then
      Set Rng = Range(fRng.Offset(, -1), Cells(Jj, 255).End(xlToLeft))
      With Application.WorksheetFunction
         So1 = .CountIf(Rng, "*" & "W" & "?")
      End With
      Select Case So1
      Case 1
         Cells(Jj, 1).Value = 1
      Case 2
         Cells(Jj, 1).Value = IIf(InStr(fRng.Offset(, 1).Value, "W"), 2, 1)
      Case Is > 2
         Dem = 0
         For Each Clls In Rng
            With Clls
               If .Value <> "" And InStr(.Value, "W") > 0 Then
                  Dem = Dem + 1:             If Max_ < Dem Then Max_ = Dem
               ElseIf .Value = "" Or InStr(.Value, "W") = 0 Then
                  If Max_ < Dem Then Max_ = Dem
                  Dem = 0
               End If
            End With
         Next Clls
         Cells(Jj, 1).Value = Max_:          Max_ = 0
      End Select
   End If
 Next Jj
 MyColor = [A5].Interior.ColorIndex + 1:           [A2] = Timer() - Timer_
 [A5].Interior.ColorIndex = IIf(MyColor > 41, 34, MyColor)
Err_:           Exit Sub
Loi_:           [A5].Interior.ColorIndex = 35
   Resume Err_
[B]End Sub[/B]
 
T

thuylysu

Guest
4/9/09
1
0
0
56
hcmc
Hướng dẫn sử dụng các hàm trong excel

Mình có 1 bảng tiến độ dự án muốn đếm các dự án có cùng từ 2 dữ liệu trở lên thì nên dùng hàm gì là đúng nhất, các bạn chỉ giáo dùm nhe!

Thanks
 

Xem nhiều

Webketoan Zalo OA