x = 0
For Each cell in Sheets("01").Range("A:A").Cells
If cell.Value = "aaa" And cell.Offset(0, 1).Value = "bbb" Then
x = x+1
End If
Next cell
MsgBox x
Có cách nào ngắn hơn không?Cách đếm nếu trong nhiều cột?
x = 0
For Each cell in Sheets("01").Range("A:A").Cells
If cell.Value = "aaa" And cell.Offset(0, 1).Value = "bbb" Then
x = x+1
End If
Next cell
MsgBox x
Có cách nào ngắn hơn không?Cách đếm nếu trong nhiều cột?
Bạn có thể làm điều này với một công thức, như thế này
(Excel 2007 hoặc sau đó)
=COUNTIFS(A:A,"aaa",B:B,"bbb")
(Excel 2003 hoặc sớm hơn)
=SUMPRODUCT(--(A:A="aaa")*--(B:B="bbb"))
Hoặc, nếu bạn phải làm điều đó trong VBA, sử dụng Evaluate
MsgBox Evaluate("=COUNTIFS(A:A,""aaa"",B:B,""bbb"")")
MsgBox Evaluate("=SUMPRODUCT(--(A:A=""aaa"")*--(B:B=""bbb""))")
EDIT dựa trên nhận xét của bạn
Nếu rDat
và rSec
là Range
's, và ct
là tấm CodeName
làm điều đó như thế này
Dim rDat As Range
Dim rSec As Range
Set rDat = ct.[A:A]
Set rSec = ct.[B:B]
ct.Range("C6").Value = Evaluate("=COUNTIFS(" & rDat.Address(, , , True) & " ,""a""," & rSec.Address(, , , True) & ",""1"")")
Nếu ct
là tấm Name
, sử dụng số điện thoại
Dim ws As Worksheet
Dim rDat As Range
Dim rSec As Range
Set ws = ActiveWorkbook.Worksheets("ct")
Set rDat = ws.[A:A]
Set rSec = ws.[B:B]
ws.Range("C6").Value = Evaluate("=COUNTIFS(" & rDat.Address(, , , True) & " ,""a""," & rSec.Address(, , , True) & ",""1"")")
Nếu rDat
và rSec
là chuỗi, sử dụng
Dim ws As Worksheet
Dim rDat As String
Dim rSec As String
Set ws = ActiveWorkbook.Worksheets("ct")
rDat = "ct!A:A"
rSec = "ct!B:B"
ws.Range("C6").Value = Evaluate("=COUNTIFS(" & rDat & " ,""a""," & rSec & ",""1"")")
tùy chọn này khác (ví rDat
, rSec
như dãy)
ct.Range("C6").Value = Application.WorksheetFunction.CountIfs(rDat, "a", rSec, "1")
Chris, tôi đã thử 'ct.Range (" C6 ") Giá trị = Đánh giá (" = COUNTIFS (rDat, "" a "", rSec, "" 1 "") ")' có lỗi #NAME. ct là một trang tính, rDat và rSec là các phạm vi được xác định. Excel 2010 – Alegro
Cảm ơn rất nhiều. Giải quyết – Alegro
Quá xấu mà SUMPRODUCT không hoạt động trong Bảng tính Google. –
thể trùng lặp của [COUNTIF Với Nhiều HOẶC Tiêu chuẩn] (http://stackoverflow.com/questions/8726627/countif-with-multiple-or-criteria) – brettdj