具有多个OR标准的Countif

Bra*_*son 7 excel vba excel-vba excel-formula

我需要计算列中包含特定值的单元格数.我目前正在使用以下代码:

iVal = Application.WorksheetFunction.COUNTIF(Range("A:A"), "SAL")

但是,我现在需要计算有多少单元格包含

  • SAL,
  • PRE

bre*_*tdj 18

您可以使用VBA等效的标准COUNTIF公式(可以使用多个参数).这可以根据需要进行扩展

标准配方
=SUM(COUNTIF(A:A, {"SAL","PRE"}))

VBA等效
MsgBox Evaluate("Sum(COUNTIF(A:A,{""PRE"",""SAL""}))")

  • +1 无疑是迄今为止最好的答案!可能需要添加 VBA 选项来传递字符串数组 `MsgBox Evaluate("Sum(COUNTIF(A:A,{""" & Join(v, """,""") & """}))" )` (2认同)

Jon*_*yce 8

最快的方法就是做2个COUNTIF:

iVal = Application.WorksheetFunction.CountIf(Range("A:A"), "SAL") + Application.WorksheetFunction.CountIf(Range("A:A"), "PRE")
Run Code Online (Sandbox Code Playgroud)